Releases: DavidVujic/python-polylith
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
fix: bump the rich library version
Expand the supported version of the rich library.
Details in #366 and a solution in #367
Thank you @NellyWhads for this contribution! ⭐
feat(poly create project): interactively suggest base and components to add
Adding the possibility to interactively add base(s) and components to a newly created project.
poly create project will create the project data as before. If there are any unused bases in the Polylith workspace, the user will be asked to add a base to the project. Any other needed bricks (basically a sync operation) will be added to the newly created project.
Details in #362
feat(poly check): report unused bricks in projects
Adding a feature to the poly check command: report any unused bricks in projects.
In case a project includes a brick that is no longer needed, this new feature will report on it. Currently, it is only information and won't return with a fail exit code.
Usage, examples:
# poetry
poetry poly check --strict
# uv (or any of your favorite package & dependency management tool)
uv run poly check --strictWhen there's a brick not used in a specific project, the output will be:
🔎 Is <the_brick> needed in <the_project>?Implementation details in #360
fix(poly check): dependency lookup performance improvements
Improving the performance of the poly check command.
Details in #359