News
See pyTooling Release Pages for detail release notes on every release.
Jan. 2024 - Version 6
Release Page: v6.0.0
Integrated
pyAttributes
v2.5.1 aspyTooling.Attributes
.Integrated
pyTooling.CLIAbstraction
v0.4.1.
Jul. 2023 - Version 5
Release Page: v5.0.0
New
ExtendedType
features:Added support for mixin-classes and delayed creation of slots.
Added automatic initializers for annotated fields (previously causing an exception due to slots).
Added automatic initializers for annotated class fields (previously causing an exception due to slots).
Added new decorators:
@slotted
,@mixin
,@singleton
,@readonly
, and@notimplemented
.Added JSON support for
pyTooling.Configuration
.New
Platform
features:Added
PythonVersion
toPlatform
to distinguish Python versions.Added
PythonImplementation
toPlatform
to distinguish CPython and PyPy.
New graph features:
GetVertexByID
GetVertexByValue
New vertex operations:
IterateAllOutboundPathsAsVertexList
,Delete
(itself),DeleteEdgeTo
,DeleteEdgeFrom
,DeleteLinkTo
,DeleteLinkFrom
.New edge operations:
Delete
(itself)New link operations:
Delete
(itself)
pyToolong.StateMachine
package (alpha version).
Mar. 2023 - Version 4
Release Page: v4.0.1
Graphs are now supporting subgraphs and exporting subgraphs to GraphML.
New
SubGraph
class.New
Link
class.New
View
class.
Added
Vertex.Link***Vertex
methods to link vertices from disjunctive subgraphs.Added
Vertex.HasLink***Vertex
methods check if two vertices from disjunctive subgraphs are connected.Added
Vertex.Iterate***boundLinks
to iterate links.Added
Graph.IterateLinks
to iterate all links.Added
Graph.ReverseLinks
,Graph.RemoveLinks
.Applied generic types when deriving from subclasses.
Added
in
operator for key-value
Mar. 2023 - Version 3
Release Page: v3.0.0
Integrated
pyTooling.TerminalUI
.Support for FreeBSD in
Platform
.A data model for GraphML (graph, node, edge, key, data and subgraph).
A conversion from pyTooling’s graph data structure to GraphML XML files.
A conversion from pyTooling’s tree data structure to GraphML XML files.
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.