Releases: DavidVujic/python-polylith
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
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