News
See pyTooling Release Pages for detail release notes on every release.
Version 8.x (2025)
Version 7.x (2024)
Version 6.x (2024)
Version 5.x (2023)
Version 4.x (2023)
Version 3.x (2023)
Jan. 2023 - Graph enhancements
Improved exceptions.
Added
ConvertToTree
method toVertex
.Added
Render
method toNode
.
Nov. 2023 - Graph implementation
Added an object-oriented graph implementation.
Archive
Attributes
Jan. 2024 - Direct integration into pyTooling
The standalone package
pyAttributes
v2.5.1 has been integrated aspyTooling.Attributes
into pyTooling v6.0.0.
Nov. 2021 - Moved to pyTooling
Changed repository location from
Paebbels/pyAttributes
topyTooling/pyAttributes
.
Jan. 2020 - Enhancements
GetMethods
andGetAttributes
adhere to method resolution order (MRO) to find attributes annotated to methods from base-classes.An
AttributeHelperMixinclass
to ease the usage of attributes on a class’ methods.
Dec. 2019 - Merge from IPCMI
Merged latest implementation updates from pyIPCMI.
Oct. 2019 - Initial Release
Basic attribute class.
Attribute helper classes.
Package for handling Python’s argparse as declarative code.
CallByRef
xxx. 20XX - Direct integration into pyTooling
The namespace package
pyTooling.CallByRef
v1.2.1 has been integrated aspyTooling.CallByRef
into pyTooling vX.X.X.
Sep. 2020 - Bug Fixes
Some bugfixes.
Dec. 2019 - Initial Release
Call-by-reference implementation for Python.
CLIAbstraction
Jan. 2024 - Direct integration into pyTooling
The namespace package
pyTooling.CLIAbstraction
v0.4.1 has been integrated aspyTooling.CLIAbstraction
into pyTooling v6.0.0.
Feb. 2022 - Major Update
Reworked names of Argument classes.
Added missing argument formats like PathArgument.
Added more unit tests and improved code-coverage.
Added doc-strings and extended documentation pages.
Dec. 2021 - Extracted CLIAbstraction from pyIPCMI
The CLI abstraction has been extracted from pyIPCMI.
CommonClasses
xxx. 20XX - Direct integration into pyTooling
The namespace package
pyTooling.CommonClasses
v0.2.3 has been integrated aspyTooling.CommonClasses
into pyTooling vX.X.X.
Feb. 2021 - Initial Release
Added
Version
class.
Exceptions
xxx. 20XX - Direct integration into pyTooling
The namespace package
pyTooling.Exceptions
v1.1.1 has been integrated aspyTooling.Exceptions
into pyTooling vX.X.X.
Sep. 2020 - Unit tests
Added unit tests.
Oct. 2019 - Initial Release
An initial set of exceptions has been extracted from pyIPCMI.
GenericPath
xxx. 20XX - Direct integration into pyTooling
The namespace package
pyTooling.GenericPath
v0.2.5 has been integrated aspyTooling.GenericPath
into pyTooling vX.X.X.
Dec. 2021 - Namespace package
Renamed
pyGenericPath
topyTooling.GenericPath
.
Oct. 2019 - Initial Release
An initial set of exceptions has been extracted from pyIPCMI.
MetaClasses
xxx. 20XX - Direct integration into pyTooling
The namespace package
pyTooling.MetaClasses
v1.3.1 has been integrated aspyTooling.MetaClasses
into pyTooling vX.X.X.
Aug. 2020 - Overloading
First implementation of method overloading via a meta-class.
Dec. 2019 - Initial Release
First singleton metaclass to implement the singleton pattern in Python.
Packaging
Dec. 2021 - Direct integration into pyTooling
The namespace package
pyTooling.Packaging
v0.5.0 has been integrated aspyTooling.Packaging
into pyTooling vX.X.X.
Nov. 2021 - Major enhancements
Reading package information from Python source code via Python’s AST.
Support more licenses.
Nov. 2021 - Initial Release
Abstract setuptools.setup to ease handling of Python package descriptions.
Read long description from README.md
Read package dependencies from requirements.txt
Construct classifiers
Construct URLs for packages hosted on GitHub.
TerminalUI
xxx. 20XX - Direct integration into pyTooling
The namespace package
pyTooling.TerminalUI
v1.5.9 has been integrated aspyTooling.TerminalUI
into pyTooling vX.X.X.
Nov. 2021 - Namespace package
Renamed
pyTerminalUI
topyTooling.TerminalUI
.
Aug. 2020 - Enhancements
New
ExitOnPrevious***
methods.
Dec. 2019 - Initial Release
TerminalUI has been extracted from pyIPCMI.
Basic functionality to use a text based application in a terminal window.