Releases: DavidVujic/python-polylith
fix(poly info): for Poetry with PEP-621 support
Fixing an issue for Poetry users that have their pyproject.toml files set up according to PEP-621.
Details in #440
fix(poly sync): for Poetry with PEP-621 support
Fixing an issue with poly sync for Poetry users, and when the pyprojec.toml is according to PEP-621.
Details in #439
fix(poly sync): for PEP 621 build backends that isn't hatchling or pdm
Fixing an issue with the poly sync command, when using a build backend that isn't Hatchling, PDM or Poetry.
Details in #438
feat(poly deps): view usage of brick interfaces
Adding visualization for brick interface usage. The new view will report if the defined brick interfaces are bypassed.
It is already possible to view the usage of an individual brick, but with the changes in this release any bypassed interface usage is visualized for all bricks.
Details in #436
feat: add support for project aliases and grouping
Adding support for configuration of project name aliases. This is useful for monorepos with many and/or long project names. Using an alias for a project name can improve the views presented when running commands (such as poly info).
Adding support for configuration of project groups. This is useful for teams using bounded contexts or project types to separate individual projects in a monorepo. In a Polylith context, this can now be used to filter out the poly info view by group(s).
Details in #434
fix(poly check, poly libs): extract imports with similar top namespaces
Fixing an issue with the poly check and poly libs incorrectly reporting on missing imports/deps when the third-party library has a similar name as the Polylith top namespace itself.
Details in #432
feat(poly create base, component): exit with fail code if brick already exists
Now validates the brick name when running poly create component and poly create base. If a brick with the same name already exists, exit with a fail code.
Details in #431
fix(poly libs): handle third-party dependencies with markers, such as multi-python versions
Handle dependencies with several Python versions, such as:
[tool.poetry.dependencies]
typing_extensions = [
{ version = "<4.14", python = ">=3.8,<3.9" },
{ version = "*", python = ">=3.9" }
]Details in #427
refactor(workspace): issues raised by SonarQube
fix(poly deps): resolve interface with pointer to other module
Extending the way an interface is identified by allowing the __all__ variable be set to a pointer to another module.
Details in #422