Releases: DavidVujic/python-polylith
fix(cli): add missing typing-extensions lib
Add typing-extensions that is used by the CLI. The underlying tool (Typer) recently dropped support for Python 3.8 and has changed the way Annotations are imported. Unfortunately this change wasn't made by Typer as a major version and the effect of it was not noticed until now.
Details in #421
fix(poly deps): interface with sub-modules, brick usage comparison and bases
poly deps - Fixing bugs, and taking steps to stabilize the brick interface feature.
Details in #419
feat(poly deps): view and validate brick interfaces
Adding (experimental) support for validating the interface of a specific brick.
This is added in the poly deps command, and when using --brick the_brick with a new option: --interface.
Details in #413
fix(poly sync): exclude empty folders for the dev project
feat: add support for new Python 3.14 modules
Adding support for Python 3.14 for the poly check and poly libs commands. There's two new modules in the Python standard library that now will be identified properly as builtins (and not as third-party libraries).
Details in #411
feat(poly check): exclude imports within "if TYPE_CHECKING"
Exclude any imports (bricks or third-party) that are defined within an:
if TYPE_CHECKING:
# imports hereDetails in Pull Request #406
feat(poly env): new command for build backends without support for multiple module roots or hooks
Adding a new command - poly env setup - for Package & Dependency management tools without support for multiple module roots or hooks, such as the uv build backend. This command will add the bases and components paths to the current virtual environment. When these are added, navigation and auto complete will work as expected.
Details in #403
fix: extract the 'project.interactive' module to a separate component
Extracting code into a separate component to avoid circular references between the info and the project components.
Details in #393
feat(deps): identify circular brick dependencies
The poly tool now detects circular dependencies between bricks, to avoid any possible runtime errors.
The poly deps and poly deps --brick <the brick> now reports on bricks that are both used by and used in a brick.
Details in #395
feat: poly commands now respects project-specific exclude pattern
The poly commands, such as poly check and poly libs will now respect any existing project-specific exclude patterns.
The commands now ignores the contents of a brick if it is matching an exclude pattern.
Details in #387