Skip to content

Docspec-Python Changelog

2.1.1 (2023-03-15)

TypeDescriptionPRIssuesAuthor
Fix Fix #91 by using `ast.literal_eval()` instead of `encode(latin1).decode(unicode_escape)` method.NiklasRosenstein/docspec#91@NiklasRosenstein

2.1.0 (2023-03-10)

TypeDescriptionPRIssuesAuthor
Fix Swap in `blib2to3` parser (bundled with the `black` package) for the stdlib `lib2to3` module in order to support `match` statements (PEP 634 - Structural Pattern Matching).NiklasRosenstein/docspec#80@nrser
Improvement add back `files` as a keyword-only argument to `load_python_modules()`NiklasRosenstein/docspec#75@NiklasRosenstein
Tests add testcase for #76NiklasRosenstein/docspec#76@NiklasRosenstein
Fix Support parsing raw docstrings and decoding escape sequences appropriately using `str.encode("latin1").decode("unicode_escape")` (see https://stackoverflow.com/a/58829514/791713).NiklasRosenstein/docspec#71@NiklasRosenstein
Tests add test case for parsing docstring _after_ a variable declarationNiklasRosenstein/docspec#65@NiklasRosenstein
Improvement Explicitly do not support tuple-upackings as it is unclear how to assign the associated docstring and value.@NiklasRosenstein
Feature Support docstrings on the same line for variable definitions (ex.: `a: int #: This is the docstring`).NiklasRosenstein/docspec#2@NiklasRosenstein
Fix Fix hash docstrings (`#:`) loosing their indentation relative to the rest of the docstring lines.NiklasRosenstein/docspec#1@NiklasRosenstein
Tests Add unit test for #72NiklasRosenstein/docspec#72@NiklasRosenstein

2.0.2 (2022-07-18)

TypeDescriptionPRIssuesAuthor
Fix fix parsing trailing comma after keyword remainder argument in function definition (before it would accidentally consider the comma as a positional argument)@NiklasRosenstein

2.0.1 (2022-03-24)

TypeDescriptionPRIssuesAuthor
Fix Fix `format_arglist()` for function signatures that contained a `POSITIONAL_REMAINDER` argument followed by a `KEYWORD_ONLY` (i.e. any other arguments besides `KEYWORD_REMAINDER`) to not yield an additional star (`*`)NiklasRosenstein/pydoc-markdown#255@NiklasRosenstein

2.0.0a1 (2022-02-24)

TypeDescriptionPRIssuesAuthor
Feature support PEP 420 namespace packagesNiklasRosenstein/docspec#62NiklasRosenstein/docspec#54@NiklasRosenstein
Improvement support Path where a file system path is expected (e.g. `iter_package_files()`, `load_python_modules()`)NiklasRosenstein/docspec#62NiklasRosenstein/docspec#61@NiklasRosenstein
Breaking change `Docstring` class no longer inherits from `str` and is no longer frozenNiklasRosenstein/docspec#64NiklasRosenstein/docspec#49@NiklasRosenstein
Breaking change rename `Data` to `Variable`NiklasRosenstein/docspec#68NiklasRosenstein/docspec#67@NiklasRosenstein
Hygiene move `VariableSemantic`, `FunctionSemantic` and `ClassSemantic` into global scopeNiklasRosenstein/docspec#69@NiklasRosenstein

1.3.0 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Fix strip whitespace around `Class.bases`NiklasRosenstein/docspec#55NiklasRosenstein/docspec#53@NiklasRosenstein
Tests add `test_funcdef_7_posonly_args` unit test to test various more combinations of function arguments, including `POSITIONAL_ONLY`)NiklasRosenstein/docspec#58NiklasRosenstein/docspec#57@NiklasRosenstein, @tristanlatr
Refactor use `nr.util.scanner.Scanner` instead of homebrew `ListScanner` classNiklasRosenstein/docspec#58@NiklasRosenstein
Fix fix parsing of positional only argumentsNiklasRosenstein/docspec#58NiklasRosenstein/docspec#57@NiklasRosenstein

1.2.0 (2021-09-24)

TypeDescriptionPRIssuesAuthor
Feature add `format_arglist(render_type_hints)` argument@NiklasRosenstein

1.1.1 (2021-08-27)

TypeDescriptionPRIssuesAuthor
Fix support imports on the class-levelNiklasRosenstein/docspec#34@NiklasRosenstein

1.1.0 (2021-08-27)

TypeDescriptionPRIssuesAuthor
Feature add support for the `Docstring` class now used in `ApiObject.docstring` since `docspec 1.1.0`@NiklasRosenstein
Feature add support for `Indirection`s (from parsed Python imports)@NiklasRosenstein

1.0.0 (2021-07-21)

TypeDescriptionPRIssuesAuthor
Breaking change Migrate to using `databind.core 1.x` and `databind.json 1.x` from `nr.databind.core` and `nr.databind.json`.@NiklasRosenstein
Fix fix parsing of lib2to3 syntax tree if class does not have a suite (e.g., "pass" on the same line as the class definition)@NiklasRosenstein

0.2.0 (2021-05-29)

TypeDescriptionPRIssuesAuthor
Improvement republish 0.1.1 as 0.2.0@NiklasRosenstein

0.1.1 (2021-05-21)

TypeDescriptionPRIssuesAuthor
Improvement update type hints, use `@dataclass` over `nr.sumtype` which has MyPy support@NiklasRosenstein
Fix fix `discover()` to ignore Python files with more than one dot in it@NiklasRosenstein

0.1.0 (2021-02-20)

TypeDescriptionPRIssuesAuthor
Fix Fix `NameError` in function type annotation@NiklasRosenstein
Feature add `encoding` parameter to `load_python_modules()` and `parse_python_module()`@NiklasRosenstein

0.0.7 (2020-07-16)

TypeDescriptionPRIssuesAuthor
Tests fix test cases@NiklasRosenstein
Improvement no longer use `pkgutil.find_loader()` to find Python modules as it prefers modules that are already in `sys.modules` even if that instance of the module would not occurr in the specified `search_path`. `docspec_python.find_module()` now re-implements the search mechanism@NiklasRosenstein
Tests add tests for Python module loader logic@NiklasRosenstein
Fix fix support for Python 3.5@NiklasRosenstein

0.0.6 (2020-07-16)

TypeDescriptionPRIssuesAuthor
Fix fix `iter_package_files()` which would not respect the `search_path` argument@NiklasRosenstein

0.0.5 (2020-07-06)

TypeDescriptionPRIssuesAuthor
Improvement Update calls to `ApiObject` subclasses to pass keyword arguments only (as is required in `docspec >=0.2.0`)@NiklasRosenstein
Fix Fix derivation of Python module name from name of file on disk (before it would accidentally strip trailing p's or y's from the name).@NiklasRosenstein