Metadata-Version: 2.2
Name: tikray
Version: 0.2.1
Summary: A compact data transformation engine.
Author-email: Andreas Motl <andreas.motl@panodata.org>
License: LGPL 3, EUPL 1.2
Project-URL: Changelog, https://tikray.readthedocs.io/changes.html
Project-URL: Documentation, https://tikray.readthedocs.io/
Project-URL: Homepage, https://tikray.readthedocs.io/
Project-URL: Issues, https://github.com/panodata/tikray/issues
Project-URL: Repository, https://github.com/panodata/tikray
Keywords: conversion,convert,data,decode,deserialize,encode,i/o,jmespath,json,jsonpointer,map data,marshal,nested data,serialize,sql,tool,transcode,transform,translate,transon,unmarshal,unserialize,utility
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Manufacturing
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: SQL
Classifier: Topic :: Adaptive Technologies
Classifier: Topic :: Communications
Classifier: Topic :: Database
Classifier: Topic :: Documentation
Classifier: Topic :: Education
Classifier: Topic :: Internet
Classifier: Topic :: Office/Business
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Pre-processors
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: System :: Archiving
Classifier: Topic :: System :: Benchmark
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Logging
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires-Python: >=3.8.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cattrs<25
Requires-Dist: click<9
Requires-Dist: importlib-resources<6.5; python_version < "3.10"
Requires-Dist: jmespath<1.1
Requires-Dist: jq<1.9
Requires-Dist: jsonpointer<4
Requires-Dist: orjson<4
Requires-Dist: orjsonl<2
Requires-Dist: python-dateutil<2.10
Requires-Dist: pyyaml<7
Requires-Dist: toolz<2
Requires-Dist: tqdm<5
Requires-Dist: transon==0.0.7
Provides-Extra: develop
Requires-Dist: mypy<1.12; extra == "develop"
Requires-Dist: poethepoet<0.28; extra == "develop"
Requires-Dist: pyproject-fmt<2.3; extra == "develop"
Requires-Dist: ruff<0.6; extra == "develop"
Requires-Dist: validate-pyproject<0.19; extra == "develop"
Provides-Extra: docs
Requires-Dist: furo==2024.1.29; extra == "docs"
Requires-Dist: myst-parser[linkify]<4,>=0.18; extra == "docs"
Requires-Dist: sphinx-autobuild==2021.3.14; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx-design-elements<1; extra == "docs"
Requires-Dist: sphinxcontrib-mermaid<1; extra == "docs"
Requires-Dist: sphinxext-opengraph<1; extra == "docs"
Provides-Extra: mongodb
Requires-Dist: pymongo<4.9; extra == "mongodb"
Provides-Extra: release
Requires-Dist: build<2; extra == "release"
Requires-Dist: twine<6; extra == "release"
Provides-Extra: test
Requires-Dist: pytest<9; extra == "test"
Requires-Dist: pytest-cov<6; extra == "test"
Requires-Dist: pytest-mock<4; extra == "test"

# Tikray

[![Tests](https://github.com/panodata/tikray/actions/workflows/tests.yml/badge.svg)](https://github.com/panodata/tikray/actions/workflows/tests.yml)
[![Coverage](https://codecov.io/gh/panodata/tikray/branch/main/graph/badge.svg)](https://app.codecov.io/gh/panodata/tikray)
[![Build status (documentation)](https://readthedocs.org/projects/tikray/badge/)](https://tikray.readthedocs.io/)
[![License](https://img.shields.io/pypi/l/tikray.svg)](https://pypi.org/project/tikray/)

[![PyPI Version](https://img.shields.io/pypi/v/tikray.svg)](https://pypi.org/project/tikray/)
[![Python Version](https://img.shields.io/pypi/pyversions/tikray.svg)](https://pypi.org/project/tikray/)
[![PyPI Downloads](https://pepy.tech/badge/tikray/month)](https://pepy.tech/project/tikray/)
[![Status](https://img.shields.io/pypi/status/tikray.svg)](https://pypi.org/project/tikray/)

## About

Tikray is a generic and compact **transformation engine** written in Python, for data
decoding, encoding, conversion, translation, transformation, and cleansing purposes,
to be used as a pipeline element for data pre- or post-processing, or as a standalone
converter program.

## Details

A data model and implementation for a compact transformation engine based on
[JMESPath], [jq], [JSON Pointer] (RFC 6901), [transon], and [DWIM].

The reference implementation is written in [Python], using [attrs] and [cattrs].
The design, conventions, and definitions also encourage implementations
in other programming languages.

## Installation

The package is available from [PyPI] at [tikray].
To install the most recent version, invoke:
```shell
uv pip install --upgrade 'tikray'
```

## Usage

In order to learn how to use the library, please visit the [documentation],
and explore the source code or its [examples].


## Project Information

### Acknowledgements
Kudos to the authors of all the many software components this library is
vendoring and building upon.

### Similar Projects
See [research and development notes],
specifically [an introduction and overview about Singer].

### Contributing
The `tikray` package is an open source project, and is
[managed on GitHub]. The project is still in its infancy, and
we appreciate contributions of any kind.

### Etymology
Tikray means "transform" in the [Quechua language].
A previous version used the name `zyp`,
with kudos to [Kris Zyp] for conceiving [JSON Pointer].

### License
The project uses the LGPLv3 license for the whole ensemble. However, individual
portions of the code base are vendored from other Python packages, where
deviating licenses may apply. Please check for detailed license information
within the header sections of relevant files.



[An introduction and overview about Singer]: https://github.com/daq-tools/lorrystream/blob/main/doc/singer/intro.md
[documentation]: https://tikray.readthedocs.io/
[examples]: https://tikray.readthedocs.io/examples.html
[Kris Zyp]: https://github.com/kriszyp
[tikray]: https://pypi.org/project/tikray/
[Quechua language]: https://en.wikipedia.org/wiki/Quechua_language
[managed on GitHub]: https://github.com/panodata/tikray
[PyPI]: https://pypi.org/
[research and development notes]: https://tikray.readthedocs.io/research.html

[attrs]: https://www.attrs.org/
[cattrs]: https://catt.rs/
[DWIM]: https://en.wikipedia.org/wiki/DWIM
[jq]: https://jqlang.org/
[jsonpointer]: https://python-json-pointer.readthedocs.io/en/latest/commandline.html
[jqlang]: https://jqlang.github.io/jq/manual/
[JMESPath]: https://jmespath.org/
[JSON Pointer]: https://datatracker.ietf.org/doc/html/rfc6901
[Python]: https://en.wikipedia.org/wiki/Python_(programming_language)
[transon]: https://transon-org.github.io/
