Metadata-Version: 1.2
Name: pipeline-telemetry
Version: 0.2.12
Summary: Create and store data pipeline telemetry data
Home-page: https://github.com/MaartendeRuyter/pipeline-telemetry
Author: Maarten de Ruyter
Author-email: maarten@geodatagarden.com
License: LGPL-3.0-or-later
Project-URL: Documentation, https://pipeline-telemetry.readthedocs.io/
Project-URL: Changelog, https://pipeline-telemetry.readthedocs.io/en/latest/changelog.html
Project-URL: Issue Tracker, https://github.com/MaartendeRuyter/pipeline-telemetry/issues
Description: ========
        Overview
        ========
        
        
        
        Create and store data pipeline telemetry data
        
        * Free software: GNU Lesser General Public License v3 or later (LGPLv3+)
        
        Installation
        ============
        
        ::
        
            pip install pipeline-telemetry
        
        You can also install the in-development version with::
        
            pip install https://github.com/MaartendeRuyter/pipeline-telemetry/archive/master.zip
        
        
        Documentation
        =============
        
        
        https://pipeline-telemetry.readthedocs.io/
        
        
        Development
        ===========
        
        To run all the tests run::
        
            tox
        
        Note, to combine the coverage data from all the tox environments run:
        
        .. list-table::
            :widths: 10 90
            :stub-columns: 1
        
            - - Windows
              - ::
        
                    set PYTEST_ADDOPTS=--cov-append
                    tox
        
            - - Other
              - ::
        
                    PYTEST_ADDOPTS=--cov-append tox
        
        
        Changelog
        =========
        
        0.0.1 (2021-10-06)
        ------------------
        
        * First release on PyPI.
        
        
        0.0.4 (2021-10-31)
        ------------------
        
        * Seperated the storage module
        * Added MongoDb storage class
        * Started with documentation
        
        0.1.0 (2021-11-05)
        ------------------
        
        * added Telemetry method add_telemetry_counter 
        * Added ``TelemetryCounter`` class that can be used to make prefedined objects
          that can be added to the Telemetry instance with the add_telemetry_counter
          method. This will improve readibilty of your code::
        
            from pipeline_telemetry import TelemetryCounter
        
            YOUR_PREDFINED_COUNTER = (
                process_type=ProcessTypes.CREATE_DATA_FROM_API,
                sub_process='RETRIEVE_RAW_DATA',
                counter_name='my_custom_counter',
            )
        
            telemetry.add_telemetry_counter(YOUR_PREDFINED_COUNTER)
        
        
        0.2.0 (2021-11-09)
        ------------------
        
        * added error field to ``TelemetryCounter`` so that default Errorcodes
          can be used in a ``TelemetryCounter`` instance to keep an error counter
          in the telemetry
        * Updated add_telemetry_counter so that it can handle TelemetryCounter instances
          with either an Errorcode of a custom counter. In case of ErrorCode the actual
          error_code will serve as the customer counter. 
        
        
        0.2.1 (2021-11-09)
        ------------------
        
        * added ``is_telemetry_counter`` method in helper module
        * moved ``add_telemetry`` decorator to helper module
        * both methods can be directly imported from ``pipeline_telemetry`` module
        
        0.2.2 (2021-11-10)
        ------------------
        
        * added ``add_mongo_telemetry`` decorator that uses mongo storage class
        
        0.2.3 (2021-11-10)
        ------------------
        
        * Added attribute ``process_types`` to ``TelemetryCounter`` dataclass next to
          existing ``process_type`` attribute. This allows you to choose between a list
          of process_types or just a single process_type to be in scope of the ``TelemetryCounter``` instance
          
        
        0.2.4 (2021-11-11)
        ------------------
        
        * Implemented ``add_to`` method in ``TelemetryCounter``. Can be used to  add a
          ``TelemetryCounter`` instance to an object with a telemetry instance attached
          to it. This will make the code more readable.
        
        0.2.5 (2021-11-11)
        ------------------
        
        * Implemented ``increase_base_count`` and ``increase_fail_count`` method. They
          can be used to make your code more readable when updating the telemetry
        
        
        0.2.6 (2021-12-08)
        ------------------
        
        * Added default increment value = 1 to methods ``increase_base_count`` and
          ``increase_fail_count``
        
        0.2.7 (2022-01-13)
        ------------------
        
        * Added fields ``category`` and ``sub_category`` to the telemetry object to
          allow for better distinction between telemetry sources
        * Rename telemetry field 'process_name' to 'soure_name' to be more clear about
          the data source in scope of the telemetry object
        
        0.2.8 (2022-01-13)
        ------------------
        
        * Fix in storage classes to ensure ``category`` and ``sub_category`` to be
          stored in the toplevel of the telemetry object
        
        0.2.10 (2022-01-18)
        -------------------
        
        * Added indexes to mongo storage class
        
        0.2.11 (2022-01-18)
        -------------------
        
        * Added ``created_at`` field in mongo storage class for better date selection
        * of the telemetry objects
        
        0.2.12 (2022-01-19)
        -------------------
        
        * Added ``traffic_light`` attribute to Telemetry object indicating the success
          state of the datapipeline process that is reporting on
        * Some minor refactoring
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Utilities
Requires-Python: >=3.9
