Metadata-Version: 2.4
Name: etl-entities
Version: 3.0.0
Summary: ETL Entities lib for onETL
Author-email: MWS Data Bridge <onetools@mts.ru>
License: Apache-2.0
Project-URL: Homepage, https://github.com/MTSWebServices/etl-entities
Project-URL: Documentation, https://etl-entities.readthedocs.io/
Project-URL: Source, https://github.com/MTSWebServices/etl-entities
Project-URL: CI/CD, https://github.com/MTSWebServices/etl-entities/actions
Project-URL: Tracker, https://github.com/MTSWebServices/etl-entities/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Pydantic
Classifier: Framework :: Pydantic :: 2
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: bidict
Requires-Dist: frozendict
Requires-Dist: importlib_metadata>=3.6.0
Requires-Dist: pydantic<3,>=2
Requires-Dist: typing-extensions>=4.5.0
Dynamic: license-file

.. title

ETL Entities
============

|Repo Status| |PyPI Latest Release| |PyPI License| |PyPI Python Version| |PyPI Downloads|
|Documentation| |CI Status| |Test Coverage| |pre-commit.ci Status|

.. |Repo Status| image:: https://www.repostatus.org/badges/latest/active.svg
    :alt: Repo status - Active
    :target: https://github.com/MTSWebServices/etl-entities
.. |PyPI Latest Release| image:: https://img.shields.io/pypi/v/etl-entities
    :alt: PyPI - Latest Release
    :target: https://pypi.org/project/etl-entities/
.. |PyPI License| image:: https://img.shields.io/pypi/l/etl-entities.svg
    :alt: PyPI - License
    :target: https://github.com/MTSWebServices/etl-entities/blob/develop/LICENSE.txt
.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/etl-entities.svg
    :alt: PyPI - Python Version
    :target: https://pypi.org/project/etl-entities/
.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/etl-entities
    :alt: PyPI - Downloads
    :target: https://pypi.org/project/etl-entities/
.. |Documentation| image:: https://readthedocs.org/projects/etl-entities/badge/?version=stable
    :alt: Documentation - ReadTheDocs
    :target: https://etl-entities.readthedocs.io/
.. |CI Status| image:: https://github.com/MTSWebServices/etl-entities/workflows/Tests/badge.svg
    :alt: Github Actions - latest CI build status
    :target: https://github.com/MTSWebServices/etl-entities/actions
.. |Test Coverage| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/
    MTSOnGithub/03e73a82ecc4709934540ce8201cc3b4/raw/etl-entities_badge.json
    :target: https://github.com/MTSWebServices/etl-entities/actions
.. |pre-commit.ci Status| image:: https://results.pre-commit.ci/badge/github/MTSWebServices/etl-entities/develop.svg
    :alt: pre-commit.ci - status
    :target: https://results.pre-commit.ci/latest/github/MTSWebServices/etl-entities/develop

What is ETL Entities?
-----------------------

Collection of classes & decorators used for handling High Water Mark (HWM).

Currently implemented:

* HWM classes:
    * ``ColumnIntHWM``
    * ``ColumnDateHWM``
    * ``ColumnDateTimeHWM``
    * ``FileListHWM``
    * ``FileModifiedTimeHWM``
    * ``KeyValueIntHWM``

* HWM Store classes:
    * ``BaseHWMStore`` (base interface)
    * ``MemoryHWMStore``

.. installation

How to install
---------------

.. code:: bash

    pip install etl-entities

.. documentation

Documentation
-------------

See https://etl-entities.readthedocs.io/
