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 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
|