Releases: DavidVujic/python-polylith
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
feat(poly sync): non-interactive mode when running in quiet mode
The poly sync command will not run in interactive mode (i.e. ask about adding bricks to empty projects) when running in the --quiet mode. This means you can run poly sync --quiet in an automated flow, such as pre-commit.
Details in #390
fix: add missing hatch target in project template
Add the missing entry when creating a new project with the hatch build backend (i.e. uv or hatch).
[tool.hatch.build.targets.wheel]
packages = ["<the top namespace>"]Details in #386
fix(project): circular imports when importing the 'get' module
Solving an issue with circular dependency within the polylith.project component. This happen when directly importing the get module, currently only done via REPL during development.
Details in #379
feat(poly deps, info, libs): save contents to file command option
Adding a --save option to the poly deps, poly info and poly libs commands. In addition to printing the output (as before) a file will be saved with the contents of the output.
Details in #372
feat(poly sync): suggest adding available bases, and used components, to empty projects
poly sync will now identify any projects without bricks to suggest adding a base (and then sync the needed components) - if there are any available bases.
Details in #369