https://github.com/panodata/tikray
A compact data transformation engine.
https://github.com/panodata/tikray
data data-transformation data-transformation-pipeline data-transformer jmes jmespath jq jqlang json json-pointer json-transform json-transformation json-translate json-translator transformation transon
Last synced: 29 days ago
JSON representation
A compact data transformation engine.
- Host: GitHub
- URL: https://github.com/panodata/tikray
- Owner: panodata
- License: lgpl-3.0
- Created: 2025-02-04T01:36:20.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-17T00:19:25.000Z (2 months ago)
- Last Synced: 2025-03-30T03:17:06.004Z (about 2 months ago)
- Topics: data, data-transformation, data-transformation-pipeline, data-transformer, jmes, jmespath, jq, jqlang, json, json-pointer, json-transform, json-transformation, json-translate, json-translator, transformation, transon
- Language: Python
- Homepage: https://tikray.readthedocs.io/
- Size: 357 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# Tikray
[](https://github.com/panodata/tikray/actions/workflows/tests.yml)
[](https://app.codecov.io/gh/panodata/tikray)
[](https://tikray.readthedocs.io/)
[](https://pypi.org/project/tikray/)[](https://pypi.org/project/tikray/)
[](https://pypi.org/project/tikray/)
[](https://pepy.tech/project/tikray/)
[](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/