What is PyDev?
PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.
It comes with many goodies such as:
For more details on the provided features, check the Features Matrix.
Important
First time users are strongly advised to read the Getting started guide which explains how to properly configure PyDev.
LiClipse
The recommended way of using PyDev is bundled in LiClipse, which provides PyDev builtin as well as
support for other languages such as Django Templates, Mako, RST, C++, CoffeScript, Dart, HTML, JavaScript, CSS, among others (also, by licensing
LiClipse you directly support the development of PyDev).
PyVmMonitor
If you'd like to analyze the performance of your programs, check PyVmMonitor.
Release 13.0.1 (2025-02-08)
- Bug Fixes
- Fixed issue in code analysis related to bad scoping of type variable:
- In the case of def f[T](...), T was actually bound to the outer scope, not to the function scope. #PyDev-1268
- Fixes Internal error with type statement construct type IntOrStr = int | str. #PyDev-1267
Release 13.0.0 (2025-02-03)
- Updates & Improvements
- Support for Python 3.13
- Support for type alias syntax
- Parsing type vars (still missing semantic analysis).
- Support for Annotated[cls] in code-completion
- Added condition to resolve as True|False in templates
- Updated typeshed
- Updated PyDev debugger (pydevd) to version 3.3.0
- Updated minimum Java version requirement to Java 17
- Changed ruff linting command to ruff check to match breaking change
- Improved docstring assist to properly handle multi-line function signatures
- Converted paragraph wrapping functionality from Jython to Java
- Changed "Surround with try..except" to use try..except Exception as default
- Supporting trailing commas in multi-line with statements
- Bug Fixes
- Fixed recursion error that could occur during interpreter restoration
- Fixed with_statement import handling in auto-import
- Fixed issue where local imports were incorrectly placed within arguments
- Fixed issue with paragraph wrapping on last line
- Fixed exception handling for project configuration variables
- Improved logging to avoid stack traces for non-error messages
Release 12.2.0 (2024-09-03)
- org.python.pydev.compare is now exported.
- Fixed issue in import formatting due to maxCols not being properly set.
- A few minor updates in the filesystem stubs.
- Internal refactorings to separate UI from core functionality.
Release 12.1.0 (2024-05-27)
- Fixed issue parsing await inside of case block.
- Call django.setup() when running django unit-tests (with builtin unittest runner).
- Fixed corner case where conftest.py wouldn't be properly gotten with previous approach when running pytest.
- Template variables converted from jython to java code (pytemplate_defaults.py).
- Properly building With Eclipse 2024-03 (fixes by Florian Kroiß).
- Using flake8 binary instead of getting from python works (fix by slaclau).
Release 12.0.0 (2024-02-01)
- Only Python 3.8 onwards is now supported
- Python 3.6 and 3.7 support is now dropped (please use PyDev 11.0.3 if you still use it).
- Debugger
- sys.monitoring is now used in Python 3.12 (and it's much faster than any previous version).
- A new setting was added in the Preferences > PyDev > Debug to debug just my code (meaning that when stepping it will just step into files under PyDev source folders).
- Improved the step into function (activated with Ctrl+Alt then Click function to step into).
- Support for Python 3.6 and 3.7 was dropped (only Python 3.8 onwards is now supported).
- Ruff
- Ruff can now be used as a code formatter.
- The latest ruff (0.1.x) is now supported (as it broke backward compatibility in its 0.1.0 version).
- Code Analysis
- Fixes in semantic analysis to better determine if strings in annotations should be checked for symbols or not.
Release 11.0.3 (2023-10-30)
- The mylyn integration was removed as it wasn't really being distributed anymore but was still on the update site.
Release 11.0.2 (2023-10-29)
- Newer version of typeshed integrated (from typing import override is now recognized).
- It's now possible to specify vmargs in the python interpreter.
- For Python 3.11 onwards -Xfrozen_modules=off will now be used by default.
Release 11.0.0 (2023-10-08)
- Preliminary support for Python 3.12
- Debugger now supports Python 3.12.
- Important: the new f-string format is still not supported.
- Code Analysis:
- Now analyzes type annotations defined as strings.
- Fixed case where a type annotation is defined as a string but the actual type only occurs later in the file.
- Fixed issue where an annotation referencing a class defined later on in the file would be reported as an error.
- Imports found inside a typing.TYPE_CHECKING will be considered undefined if the scope that uses it requires it to be available when not type-checking.
- Properly consider that a method containing ... is an empty method and don't report unused arguments in it.
- Properly consider that attributes in enum subclasses are actually instances of the class where they're defined.
- Docstring generation:
- Fixed issue where self could be added to the arguments when auto-generating docstrings (with Ctrl+1 > Make Docstring in def line).
- Type inference:
- Fixed issue where Pathlib with a __div__ didn't offer completions properly.
- Better support when using cython 3.0 to generate the AST.
- ruff integration:
- Fixed issue when an empty output is given.
- If some error happens in the integration a better error message is given.
- Isort integration: now always uses the isort found in the Python environment or an external executable.
- Others:
- Performance improvement: tooltips are no longer clipped based on maxWidth. Fixes #PyDev-1233: Eclipse IDE freezes when using a variable with a very long base64 value.
- Pretty-printing nonlocal now works.
- In the outline page overload methods now have a different decoration and it's possible to hide them.
- Fixed syntax Error with case None. #PyDev-1232
View release notes for previous releases
|