.. _readme:
Data.Horizon
============
|Repo Status| |DockerHub Latest Release| |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/MobileTeleSystems/horizon
.. |DockerHub Latest Release| image:: https://img.shields.io/docker/v/mtsrus/horizon-backend?sort=semver&label=docker
:alt: DockerHub - Latest release
:target: https://hub.docker.com/r/mtsrus/horizon-backend
.. |PyPI Latest Release| image:: https://img.shields.io/pypi/v/data-horizon
:alt: PyPI - Latest Release
:target: https://pypi.org/project/data-horizon/
.. |PyPI License| image:: https://img.shields.io/pypi/l/data-horizon.svg
:alt: PyPI - License
:target: https://github.com/MobileTeleSystems/horizon/blob/develop/LICENSE.txt
.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-horizon.svg
:alt: PyPI - Python Version
:target: https://pypi.org/project/data-horizon/
.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/data-horizon
:alt: PyPI - Downloads
:target: https://pypi.org/project/data-horizon/
.. |Documentation| image:: https://readthedocs.org/projects/data-horizon/badge/?version=stable
:alt: Documentation - ReadTheDocs
:target: https://data-horizon.readthedocs.io/
.. |CI Status| image:: https://github.com/MobileTeleSystems/horizon/workflows/Tests/badge.svg
:alt: Github Actions - latest CI build status
:target: https://github.com/MobileTeleSystems/horizon/actions
.. |Test Coverage| image:: https://codecov.io/gh/MobileTeleSystems/horizon/branch/develop/graph/badge.svg?token=BIRWPTWEE0
:alt: Test coverage - percent
:target: https://codecov.io/gh/MobileTeleSystems/horizon
.. |pre-commit.ci Status| image:: https://results.pre-commit.ci/badge/github/MobileTeleSystems/horizon/develop.svg
:alt: pre-commit.ci - status
:target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/horizon/develop
|Logo|
.. |Logo| image:: https://raw.githubusercontent.com/MobileTeleSystems/horizon/186150dd1e2359610b3727ef3145418e7a56919f/docs/_static/logo.svg
:width: 400
:alt: Horizon logo
:target: https://github.com/MobileTeleSystems/horizon/
What is Data.Horizon?
---------------------
Data.Horizon is an application that implements simple HWM Store. Right now it includes:
* REST API
* Python client
Goals
-----
* Allow users to save and fetch High Water Mark (*HWM*) items. These are ``name+type+value`` triples with few optional fields.
* Avoid confusion between different user's data by separating HWMs to different *namespaces*. Each HWM is bound to namespace.
* Allow users to get HWM change history, to determine who and when changed a specific HWM value and other fields.
* Provide RBAC model to ensure that interaction with ``HWMs`` and ``Namespaces`` are governed by role assigned to each user. Roles are assigned per namespace.
Non-goals
---------
* This is not a *data* storage, it is not designed to store raw table rows. It is designed to store only HWM values.
* Attaching machine-readable metadata for HWMs (like ``process``, ``origin``) is not supported. This should be stored somewhere else.
.. documentation
Documentation
-------------
See https://data-horizon.readthedocs.io/
Raw data
{
"_id": null,
"home_page": null,
"name": "data-horizon",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": "Horizon, REST, API, HWM",
"author": "DataOps.ETL",
"author_email": "onetools@mts.ru",
"download_url": "https://files.pythonhosted.org/packages/eb/6a/4a161eff9353c433a48c2656f7938f8cd1f525a521d9f7e1d6512aa1da4a/data_horizon-1.1.1.tar.gz",
"platform": null,
"description": ".. _readme:\n\nData.Horizon\n============\n\n|Repo Status| |DockerHub Latest Release| |PyPI Latest Release| |PyPI License| |PyPI Python Version| |PyPI Downloads|\n|Documentation| |CI Status| |Test Coverage| |pre-commit.ci Status|\n\n.. |Repo Status| image:: https://www.repostatus.org/badges/latest/active.svg\n :alt: Repo status - Active\n :target: https://github.com/MobileTeleSystems/horizon\n.. |DockerHub Latest Release| image:: https://img.shields.io/docker/v/mtsrus/horizon-backend?sort=semver&label=docker\n :alt: DockerHub - Latest release\n :target: https://hub.docker.com/r/mtsrus/horizon-backend\n.. |PyPI Latest Release| image:: https://img.shields.io/pypi/v/data-horizon\n :alt: PyPI - Latest Release\n :target: https://pypi.org/project/data-horizon/\n.. |PyPI License| image:: https://img.shields.io/pypi/l/data-horizon.svg\n :alt: PyPI - License\n :target: https://github.com/MobileTeleSystems/horizon/blob/develop/LICENSE.txt\n.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-horizon.svg\n :alt: PyPI - Python Version\n :target: https://pypi.org/project/data-horizon/\n.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/data-horizon\n :alt: PyPI - Downloads\n :target: https://pypi.org/project/data-horizon/\n.. |Documentation| image:: https://readthedocs.org/projects/data-horizon/badge/?version=stable\n :alt: Documentation - ReadTheDocs\n :target: https://data-horizon.readthedocs.io/\n.. |CI Status| image:: https://github.com/MobileTeleSystems/horizon/workflows/Tests/badge.svg\n :alt: Github Actions - latest CI build status\n :target: https://github.com/MobileTeleSystems/horizon/actions\n.. |Test Coverage| image:: https://codecov.io/gh/MobileTeleSystems/horizon/branch/develop/graph/badge.svg?token=BIRWPTWEE0\n :alt: Test coverage - percent\n :target: https://codecov.io/gh/MobileTeleSystems/horizon\n.. |pre-commit.ci Status| image:: https://results.pre-commit.ci/badge/github/MobileTeleSystems/horizon/develop.svg\n :alt: pre-commit.ci - status\n :target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/horizon/develop\n\n\n|Logo|\n\n.. |Logo| image:: https://raw.githubusercontent.com/MobileTeleSystems/horizon/186150dd1e2359610b3727ef3145418e7a56919f/docs/_static/logo.svg\n :width: 400\n :alt: Horizon logo\n :target: https://github.com/MobileTeleSystems/horizon/\n\nWhat is Data.Horizon?\n---------------------\n\nData.Horizon is an application that implements simple HWM Store. Right now it includes:\n\n* REST API\n* Python client\n\nGoals\n-----\n\n* Allow users to save and fetch High Water Mark (*HWM*) items. These are ``name+type+value`` triples with few optional fields.\n* Avoid confusion between different user's data by separating HWMs to different *namespaces*. Each HWM is bound to namespace.\n* Allow users to get HWM change history, to determine who and when changed a specific HWM value and other fields.\n* Provide RBAC model to ensure that interaction with ``HWMs`` and ``Namespaces`` are governed by role assigned to each user. Roles are assigned per namespace.\n\nNon-goals\n---------\n\n* This is not a *data* storage, it is not designed to store raw table rows. It is designed to store only HWM values.\n* Attaching machine-readable metadata for HWMs (like ``process``, ``origin``) is not supported. This should be stored somewhere else.\n\n.. documentation\n\nDocumentation\n-------------\n\nSee https://data-horizon.readthedocs.io/\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Horizon REST API + client",
"version": "1.1.1",
"project_urls": {
"CI/CD": "https://github.com/MobileTeleSystems/horizon/actions",
"Documentation": "https://data-horizon.readthedocs.io/",
"Homepage": "https://github.com/MobileTeleSystems/horizon",
"Source": "https://github.com/MobileTeleSystems/horizon",
"Tracker": "https://github.com/MobileTeleSystems/horizon/issues"
},
"split_keywords": [
"horizon",
" rest",
" api",
" hwm"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2fc65fe3302001d5bd2818eaa318ad0dbdbad0df40fee2daf7e2775c0daadddd",
"md5": "dd502fec3aa8c213fd71ce34e6f3da11",
"sha256": "fcec646c4dd2d87bc33bde9a4de6115f26dbd6297dbe10567684571eff33e0a9"
},
"downloads": -1,
"filename": "data_horizon-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dd502fec3aa8c213fd71ce34e6f3da11",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 119782,
"upload_time": "2025-01-28T09:30:28",
"upload_time_iso_8601": "2025-01-28T09:30:28.891275Z",
"url": "https://files.pythonhosted.org/packages/2f/c6/5fe3302001d5bd2818eaa318ad0dbdbad0df40fee2daf7e2775c0daadddd/data_horizon-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "eb6a4a161eff9353c433a48c2656f7938f8cd1f525a521d9f7e1d6512aa1da4a",
"md5": "9bf1ac7a8e155858368f5da7f9ba88a8",
"sha256": "344d82e915c8f8f7a118068015b0311576d6b93708962d244151a241585602b6"
},
"downloads": -1,
"filename": "data_horizon-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9bf1ac7a8e155858368f5da7f9ba88a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 61087,
"upload_time": "2025-01-28T09:30:31",
"upload_time_iso_8601": "2025-01-28T09:30:31.089830Z",
"url": "https://files.pythonhosted.org/packages/eb/6a/4a161eff9353c433a48c2656f7938f8cd1f525a521d9f7e1d6512aa1da4a/data_horizon-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-28 09:30:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MobileTeleSystems",
"github_project": "horizon",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "data-horizon"
}