Releases: SpectraL519/pypformat
Releases · SpectraL519/pypformat
v1.2.3
- Replaced the deprecated license info in
pyproject.tomlwith a viable solution - Improved repo url hanlding in the
process_md_doc.pyscript - Aligned Makefile targets to use colorized info logs and suppress unnecessary command output
- Added the
upload-testMakefile target for uploading the project to testpypi
v1.2.2
Aligned the build target in the Makefile to preprocess the README file before building the project
v1.2.1
- Added a
Makefilewith the following targets:prepare-venv # prepare the virtual environment clean-venv # remove the virtual environment tests-simple # run tests directly using pytest tests-tox # run test using tox and generate the coverage report clean-tests # clean the test-related temporary files clean-cov # clean the coverage-related temporary files build # build the project/package clean-build # clean the build files ruff # run the ruff formatter and linter clean-ruff # clean ruff temporary files clean-all # clean all temporary files install # install the project to the current envinronment upload # upload the distribution files to pypi (requires access to the pypi project) - Extended the
PrettyFormattertests to validate the behaviour forNamedIterable
v1.2.0
The PrettyFormatter class will use the dedicated magic methods: __pf_project__ or __pf_format__(options) if they are defined for a processed item
Additional:
- Added the
NamedIterableandNamedMappingtype definitions for the convenience of element projections and formatting - Removed separate normal and multiline formatter types and builder functions - now all formatters should return a string instance, which will be separated using the newline delimiter if necessary; Added a common builder function for custom formetters
make_formatter - Renamed the
projectionbuilder function tomake_projectionto match the new formatter builder function naming
v1.1.2
YT-PYPF-12: Extend the built-in collection type formatting support
Added formatting support for the following types:
- UserString
- UserList
- UserDict
- Counter
v1.1.1
NONE: Missing pypi description file fix (required version bump)
v1.1.0
YT-PYPF-22: Replace projection function mappings with iterables of callable projection objects
- Added the
TypeSpecificCallableabstract class - Aligned the
TypeFormatterclass to derive fromTypeSpecificCallable - Created the
TypeProjectionclass deriving fromTypeSpecificCallable - Aligned the
FormatOptionsandPrettyFormatterclasses to properly handle the projections using the new class
v1.0.1
YT-PYPF-21: Introduce type-wise sorting of projections and formatters
Sorting the combined formatters list (predefined + user-defined) in the constructor of PrettyFormatter to ensure the proper ordering of types:
- the child types precede their parent types
- a type precedes an union to which it belongs
Anyandobjectare considered equal and always the greatest types in the ordering
v1.0.0
Initial release of the PyPformat package.
The package contains the core PrettyFormatter class which is highly customizable through the FormatOptions .
The available options include:
- compact printing within a line width limit
- customizable indentation marking
- text styling
- object projection
- injecting custom type-specific formatting functions