Pytooling

Latest version: v6.2.0

Safety actively analyzes 634631 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

6.0.0

* Integrated ``pyAttributes`` v2.5.1 as :mod:`pyTooling.Attributes`.
* Integrated :mod:`pyTooling.CLIAbstraction` v0.4.1.

Jul. 2023 - Version 5
*********************

5.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`` to ``Platform`` to distinguish Python versions.
* Added ``PythonImplementation`` to ``Platform`` 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
*********************

4.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
*********************

3.0.0

* Integrated :mod:`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 to ``Vertex``.
* Added ``Render`` method to ``Node``.

Nov. 2023 - Graph implementation
********************************

* Added an object-oriented graph implementation.

Archive
*******

Attributes
==========

.. only:: html

Jan. 2024 - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: Jan. 2024 - Direct integration into pyTooling

* The standalone package ``pyAttributes`` v2.5.1 has been integrated as :mod:`pyTooling.Attributes` into pyTooling
v6.0.0.


.. only:: html

Nov. 2021 - Moved to pyTooling
------------------------------

.. only:: latex

.. rubric:: Nov. 2021 - Moved to pyTooling

* Changed repository location from ``Paebbels/pyAttributes`` to ``pyTooling/pyAttributes``.


.. only:: html

Jan. 2020 - Enhancements
------------------------

.. only:: latex

.. rubric:: Jan. 2020 - Enhancements

* ``GetMethods`` and ``GetAttributes`` 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.


.. only:: html

Dec. 2019 - Merge from IPCMI
----------------------------

.. only:: latex

.. rubric:: Dec. 2019 - Merge from IPCMI

* Merged latest implementation updates from pyIPCMI.


.. only:: html

Oct. 2019 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Oct. 2019 - Initial Release

* Basic attribute class.
* Attribute helper classes.
* Package for handling Python's argparse as declarative code.


CallByRef
=========

.. only:: html

xxx. 20XX - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: xxx. 20XX - Direct integration into pyTooling

* The namespace package ``pyTooling.CallByRef`` v1.2.1 has been integrated as :mod:`pyTooling.CallByRef` into pyTooling
vX.X.X.


.. only:: html

Sep. 2020 - Bug Fixes
---------------------

.. only:: latex

.. rubric:: Sep. 2020 - IBug Fixes

* Some bugfixes.


.. only:: html

Dec. 2019 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Dec. 2019 - Initial Release

* Call-by-reference implementation for Python.


CLIAbstraction
==============

.. only:: html

Jan. 2024 - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: Jan. 2024 - Direct integration into pyTooling

* The namespace package ``pyTooling.CLIAbstraction`` v0.4.1 has been integrated as :mod:`pyTooling.CLIAbstraction` into
pyTooling v6.0.0.


.. only:: html

Feb. 2022 - Major Update
------------------------

.. only:: latex

.. rubric:: 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.


.. only:: html

Dec. 2021 - Extracted CLIAbstraction from pyIPCMI
-------------------------------------------------

.. only:: latex

.. rubric:: Extracted CLIAbstraction from pyIPCMI

* The CLI abstraction has been extracted from `pyIPCMI <https://GitHub.com/Paebbels/pyIPCMI>`__.


CommonClasses
=============

.. only:: html

xxx. 20XX - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: xxx. 20XX - Direct integration into pyTooling

* The namespace package ``pyTooling.CommonClasses`` v0.2.3 has been integrated as :mod:`pyTooling.CommonClasses` into
pyTooling vX.X.X.


.. only:: html

Feb. 2021 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Feb. 2021 - Initial Release

* Added ``Version`` class.


Exceptions
==========

.. only:: html

xxx. 20XX - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: xxx. 20XX - Direct integration into pyTooling

* The namespace package ``pyTooling.Exceptions`` v1.1.1 has been integrated as :mod:`pyTooling.Exceptions` into
pyTooling vX.X.X.


.. only:: html

Sep. 2020 - Unit tests
----------------------

.. only:: latex

.. rubric:: Sep. 2020 - Unit tests

* Added unit tests.


.. only:: html

Oct. 2019 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Oct. 2019 - Initial Release

* An initial set of exceptions has been extracted from `pyIPCMI <https://GitHub.com/Paebbels/pyIPCMI>`__.


GenericPath
===========

.. only:: html

xxx. 20XX - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: xxx. 20XX - Direct integration into pyTooling

* The namespace package ``pyTooling.GenericPath`` v0.2.5 has been integrated as :mod:`pyTooling.GenericPath` into
pyTooling vX.X.X.

.. only:: html

Dec. 2021 - Namespace package
-----------------------------

.. only:: latex

.. rubric:: Dec. 2021 - Namespace package

* Renamed ``pyGenericPath`` to :mod:`pyTooling.GenericPath`.


.. only:: html

Oct. 2019 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Oct. 2019 - Initial Release

* An initial set of exceptions has been extracted from `pyIPCMI <https://GitHub.com/Paebbels/pyIPCMI>`__.


MetaClasses
===========

.. only:: html

xxx. 20XX - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: xxx. 20XX - Direct integration into pyTooling

* The namespace package ``pyTooling.MetaClasses`` v1.3.1 has been integrated as :mod:`pyTooling.MetaClasses` into
pyTooling vX.X.X.


.. only:: html

Aug. 2020 - Overloading
-----------------------

.. only:: latex

.. rubric:: Aug. 2020 - Overloading

* First implementation of method overloading via a meta-class.


.. only:: html

Dec. 2019 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Dec. 2019 - Initial Release

* First singleton metaclass to implement the singleton pattern in Python.


Packaging
=========

.. only:: html

Dec. 2021 - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: Dec. 2021 - Direct integration into pyTooling

* The namespace package ``pyTooling.Packaging`` v0.5.0 has been integrated as :mod:`pyTooling.Packaging` into
pyTooling vX.X.X.


.. only:: html

Nov. 2021 - Major enhancements
------------------------------

.. only:: latex

.. rubric:: Nov. 2021 - Major enhancements

* Reading package information from Python source code via Python's AST.
* Support more licenses.


.. only:: html

Nov. 2021 - Initial Release
---------------------------

.. only:: latex

.. rubric:: 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
==========

.. only:: html

xxx. 20XX - Direct integration into pyTooling
---------------------------------------------

.. only:: latex

.. rubric:: xxx. 20XX - Direct integration into pyTooling

* The namespace package ``pyTooling.TerminalUI`` v1.5.9 has been integrated as :mod:`pyTooling.TerminalUI` into pyTooling
vX.X.X.


.. only:: html

Nov. 2021 - Namespace package
-----------------------------

.. only:: latex

.. rubric:: Nov. 2021 - Namespace package

* Renamed ``pyTerminalUI`` to :mod:`pyTooling.TerminalUI`.


.. only:: html

Aug. 2020 - Enhancements
------------------------

.. only:: latex

.. rubric:: Aug. 2020 - Enhancements

* New ``ExitOnPrevious***`` methods.


.. only:: html

Dec. 2019 - Initial Release
---------------------------

.. only:: latex

.. rubric:: Dec. 2019 - Initial Release

* TerminalUI has been extracted from `pyIPCMI <https://GitHub.com/Paebbels/pyIPCMI>`__.
* Basic functionality to use a text based application in a terminal window.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.