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
variety
instead of a sequence of stars. - Ensure all one-liners have a
whole_span
feature. 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.
import
is now a root in the default taxonomy.- Internals: rename user type
ProgramName
(and derivative's) intoProgramPath
. - The key
name
for the--format
option ofparoxython recommend
is nowpath
. - A new key
name
is 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 collect
default --skip argument.
Add support for Python 3.8 specifics
- Allow alternative results when testing
spec.md
examples (depending under which Python version Paroxython runs). - Extend
no_operation
to Ellipsis syntax. - Add
assignment_expression
feature. - Correct the span of decorated functions and classes.
- Make
flatten_ast.py
to work with bothtyped-ast
andast
library. - 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