Releases: laowantong/paroxython
Releases · laowantong/paroxython
Support Python 3.8 to 3.10
Full Changelog: 0.6.3...0.7.0
Minor fixes and enhancements
Launching Paroxython on itself raised some corner-case errors. Fixed or improved:
- Don't calculate the index shape for non-nested indexes. Improve performance for index-heavy programs like
compare_spans.py. - Make dumped filenames clickable under VS code (more convenient).
- Don't version the results of paroxython applied to itself.
- Fix a misclassification of
from . import foobar. - Use a numeric suffix for feature
varietyinstead of a sequence of stars. - Ensure all one-liners have a
whole_spanfeature. This includes programs whose flat ast contains only one"/_pos=", for instance:from . import foobar
- Prevent a potential parsing error on certain strings. These strings are those used in the flat AST, such as
"/_pos=". Some regexes mistook them for the real thing.
Comprehensions and generator expressions
0.6.2 add taxa for comprehensions and generator expressions
Python 3.9 compatibility
0.6.1 prevent TravisCI from getting a 404 error for Python 3.9
Improve importation support
Main changes
- Support non-flat directory structure, as long as the import syntax is:
from a.b.c import d- New documentation section.
importis now a root in the default taxonomy.- Internals: rename user type
ProgramName(and derivative's) intoProgramPath. - The key
namefor the--formatoption ofparoxython recommendis nowpath. - A new key
nameis added.
In other news
- The success, warning and error messages are now colorised (on certain terminals).
- New CLI error messages when referring to a non-existent file or directory.
Better API consistency
If you have built a tag database with the command:
paroxython collect DIRECTORY
... you can now get the recommendations with:
paroxython recommend DIRECTORY
Previously, it was necessary to provide the tag database explicitly, i.e.:
paroxython recommend DIRECTORY_db.json
0.5.2
Suppress sys.path injection during preprocessing cleanup.
0.5.1
- Actually delete labels scheduled for deletion even if they are derived. For instance, previously, the following double scheduling was only honored for adding
pure_function, not for deletingimpure_function:
def gray(n): # paroxython: -impure_function:gray... +pure_function:gray...
if n <= 0:
return [""]
else:
previous = gray(n - 1)
return prefix_all(previous, "0") + prefix_all(reversed(previous), "1") # paroxython: ...impure_function:gray ...pure_function:gray- Fix
paroxython collectdefault --skip argument.
Add support for Python 3.8 specifics
- Allow alternative results when testing
spec.mdexamples (depending under which Python version Paroxython runs). - Extend
no_operationto Ellipsis syntax. - Add
assignment_expressionfeature. - Correct the span of decorated functions and classes.
- Make
flatten_ast.pyto work with bothtyped-astandastlibrary. - Add a helper to compare the results of their respective parser.
- Upgrade the development environment to Python 3.8.
0.4.8
fix a problem with blank lines while building doc