Metadata-Version: 2.4
Name: cratedb-toolkit
Version: 0.0.35
Summary: CrateDB Toolkit
Author: The CrateDB Developers
Maintainer-email: Andreas Motl <andreas.motl@crate.io>, Hernan Cianfagna <hernan@crate.io>, Niklas Schmidtmer <niklas@crate.io>, Walter Behmann <walter@crate.io>
License: AGPL 3, EUPL 1.2
Project-URL: Changelog, https://github.com/crate/cratedb-toolkit/blob/main/CHANGES.md
Project-URL: Documentation, https://cratedb-toolkit.readthedocs.io/
Project-URL: Homepage, https://cratedb-toolkit.readthedocs.io/
Project-URL: Issues, https://github.com/crate/cratedb-toolkit/issues
Project-URL: Repository, https://github.com/crate/cratedb-toolkit
Keywords: cratedb,cratedb-admin,cratedb-cloud,cratedb-diagnostics,cratedb-shell,data-processing,data-retention,managed-cratedb,toolkit
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Customer Service
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
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 Affero General Public License v3
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
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: Topic :: Adaptive Technologies
Classifier: Topic :: Communications
Classifier: Topic :: Database
Classifier: Topic :: Documentation
Classifier: Topic :: Education
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Office/Business
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Object Brokering
Classifier: Topic :: Software Development :: Pre-processors
Classifier: Topic :: Software Development :: Quality Assurance
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 :: Hardware
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
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: attrs<26
Requires-Dist: boltons<26
Requires-Dist: cattrs<25
Requires-Dist: click<8.2
Requires-Dist: click-aliases<2,>=1.0.4
Requires-Dist: colorama<1
Requires-Dist: colorlog
Requires-Dist: crash
Requires-Dist: cratedb-sqlparse==0.0.13
Requires-Dist: croud==1.13.0
Requires-Dist: importlib-metadata; python_version < "3.8"
Requires-Dist: importlib-resources; python_version < "3.9"
Requires-Dist: keyrings-cryptfile<2
Requires-Dist: orjsonl<2
Requires-Dist: pympler<1.2
Requires-Dist: python-dateutil<3
Requires-Dist: python-dotenv<2
Requires-Dist: python-slugify<9
Requires-Dist: pyyaml<7
Requires-Dist: requests<3,>=2.28
Requires-Dist: sqlalchemy-cratedb>=0.41
Requires-Dist: sqlparse<0.6
Requires-Dist: tqdm<5
Requires-Dist: typing-extensions<5; python_version <= "3.7"
Requires-Dist: vasuki==0.7.0
Requires-Dist: verlib2<0.4
Requires-Dist: yarl<1.21
Provides-Extra: all
Requires-Dist: cratedb-toolkit[full,influxdb,mongodb]; extra == "all"
Provides-Extra: cfr
Requires-Dist: duckdb<1.3; extra == "cfr"
Requires-Dist: marimo<0.14; extra == "cfr"
Requires-Dist: matplotlib<3.11; extra == "cfr"
Requires-Dist: numpy<2.3; extra == "cfr"
Requires-Dist: pandas<2.3; extra == "cfr"
Requires-Dist: polars<1.30; extra == "cfr"
Requires-Dist: pyarrow<20.1; extra == "cfr"
Requires-Dist: queryanonymizer<1.2; extra == "cfr"
Provides-Extra: datasets
Requires-Dist: datasets<4; extra == "datasets"
Requires-Dist: kaggle<1.8; extra == "datasets"
Provides-Extra: develop
Requires-Dist: black[jupyter]<26; extra == "develop"
Requires-Dist: mypy<1.16; extra == "develop"
Requires-Dist: poethepoet<1; extra == "develop"
Requires-Dist: pyproject-fmt<3; extra == "develop"
Requires-Dist: ruff<0.12; extra == "develop"
Requires-Dist: validate-pyproject<1; extra == "develop"
Provides-Extra: docs
Requires-Dist: furo; extra == "docs"
Requires-Dist: myst-parser[linkify]<5,>=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<2; extra == "docs"
Requires-Dist: sphinxext-opengraph<1; extra == "docs"
Provides-Extra: docs-api
Requires-Dist: beautifulsoup4; extra == "docs-api"
Requires-Dist: rich<15,>=3.3.2; extra == "docs-api"
Provides-Extra: dynamodb
Requires-Dist: boto3; extra == "dynamodb"
Requires-Dist: commons-codec>=0.0.20; extra == "dynamodb"
Provides-Extra: full
Requires-Dist: cratedb-toolkit[cfr,datasets,docs-api,io,mcp,service]; extra == "full"
Provides-Extra: influxdb
Requires-Dist: cratedb-toolkit[io]; extra == "influxdb"
Requires-Dist: influxio<1,>=0.5; extra == "influxdb"
Provides-Extra: io
Requires-Dist: cr8; extra == "io"
Requires-Dist: dask[dataframe]>=2020; extra == "io"
Requires-Dist: fsspec[http,s3]; extra == "io"
Requires-Dist: pandas<2.3,>=1; extra == "io"
Requires-Dist: polars<1.30; extra == "io"
Requires-Dist: sqlalchemy>=2; extra == "io"
Requires-Dist: universal-pathlib<0.3; extra == "io"
Provides-Extra: kinesis
Requires-Dist: aiobotocore<2.23; extra == "kinesis"
Requires-Dist: async-kinesis<1.2; extra == "kinesis"
Requires-Dist: botocore<1.39; extra == "kinesis"
Requires-Dist: commons-codec>=0.0.20; extra == "kinesis"
Requires-Dist: lorrystream[carabas]>=0.0.6; extra == "kinesis"
Provides-Extra: mcp
Requires-Dist: mcp<1.5; python_version >= "3.10" and extra == "mcp"
Provides-Extra: mongodb
Requires-Dist: commons-codec[mongodb,zyp]>=0.0.22; extra == "mongodb"
Requires-Dist: cratedb-toolkit[io]; extra == "mongodb"
Requires-Dist: orjson<4,>=3.3.1; extra == "mongodb"
Requires-Dist: pymongo<4.10,>=3.10.1; extra == "mongodb"
Requires-Dist: python-bsonjs<0.7; extra == "mongodb"
Requires-Dist: rich<15,>=3.3.2; extra == "mongodb"
Requires-Dist: undatum<1.1; extra == "mongodb"
Provides-Extra: pymongo
Requires-Dist: jessiql==1.0.0rc1; extra == "pymongo"
Requires-Dist: pandas<2.2; extra == "pymongo"
Requires-Dist: pymongo<4.9; extra == "pymongo"
Requires-Dist: sqlalchemy<2; extra == "pymongo"
Provides-Extra: release
Requires-Dist: build<2; extra == "release"
Requires-Dist: twine<7; extra == "release"
Provides-Extra: release-cfr
Requires-Dist: poethepoet<1; extra == "release-cfr"
Requires-Dist: pyinstaller<7; extra == "release-cfr"
Provides-Extra: service
Requires-Dist: fastapi<0.116; extra == "service"
Requires-Dist: uvicorn<0.35; extra == "service"
Provides-Extra: settings
Requires-Dist: cratedb-toolkit[docs-api]; extra == "settings"
Provides-Extra: test
Requires-Dist: cratedb-toolkit[testing]; extra == "test"
Requires-Dist: httpx<0.29; extra == "test"
Requires-Dist: ipywidgets<9; extra == "test"
Requires-Dist: markdown-it-py<4; extra == "test"
Requires-Dist: pueblo[dataframe,notebook,testing]>=0.0.11; extra == "test"
Requires-Dist: pydantic-core<3; extra == "test"
Requires-Dist: responses<0.26; extra == "test"
Requires-Dist: testcontainers-azurite==0.0.1rc1; extra == "test"
Requires-Dist: testcontainers-localstack==0.0.1rc1; extra == "test"
Requires-Dist: testcontainers-minio==0.0.1rc1; extra == "test"
Provides-Extra: test-mongodb
Requires-Dist: cratedb-toolkit[test]; extra == "test-mongodb"
Requires-Dist: testcontainers-mongodb==0.0.1rc1; extra == "test-mongodb"
Provides-Extra: testing
Requires-Dist: pytest<9; extra == "testing"
Requires-Dist: pytest-cov<7; extra == "testing"
Requires-Dist: pytest-mock<4; extra == "testing"
Requires-Dist: testcontainers<5; extra == "testing"
Dynamic: license-file

# CrateDB Toolkit

[![Tests](https://github.com/crate/cratedb-toolkit/actions/workflows/main.yml/badge.svg)](https://github.com/crate/cratedb-toolkit/actions/workflows/main.yml)
[![Test coverage](https://img.shields.io/codecov/c/gh/crate/cratedb-toolkit.svg)](https://codecov.io/gh/crate/cratedb-toolkit/)
[![Python versions](https://img.shields.io/pypi/pyversions/cratedb-toolkit.svg)](https://pypi.org/project/cratedb-toolkit/)

[![License](https://img.shields.io/github/license/crate/cratedb-toolkit.svg)](https://github.com/crate/cratedb-toolkit/blob/main/LICENSE)
[![Status](https://img.shields.io/pypi/status/cratedb-toolkit.svg)](https://pypi.org/project/cratedb-toolkit/)
[![PyPI](https://img.shields.io/pypi/v/cratedb-toolkit.svg)](https://pypi.org/project/cratedb-toolkit/)
[![Downloads](https://pepy.tech/badge/cratedb-toolkit/month)](https://pepy.tech/project/cratedb-toolkit/)


» [Documentation]
| [Changelog]
| [Community Forum]
| [PyPI]
| [Issues]
| [Source code]
| [License]
| [CrateDB]


## About

This software package includes a range of modules and subsystems to work
with CrateDB and CrateDB Cloud efficiently.

You can use CrateDB Toolkit to run data I/O procedures and automation tasks
of different kinds around CrateDB and CrateDB Cloud. It can be used both as
a standalone program, and as a library.

It aims for [DWIM]-like usefulness and [UX], and provides CLI and HTTP
interfaces, and others.


## Status

Please note that the `cratedb-toolkit` package contains alpha-, beta- and
incubation-quality code, and as such, is considered to be a work in progress.
Contributions of all kinds are much welcome, in order to make it more solid,
and to add features.

Breaking changes should be expected until a 1.0 release, so version pinning is
strongly recommended, especially when using it as a library.


## Install

Install package.
```shell
pip install --upgrade cratedb-toolkit
```

Verify installation.
```shell
ctk --version
```

Run with Docker.
```shell
alias ctk="docker run --rm ghcr.io/crate/cratedb-toolkit ctk"
ctk --version
```


## Development

Contributions are very much welcome. Please visit the [](#sandbox)
documentation to learn about how to spin up a sandbox environment on your
workstation, or create a [ticket][Issues] to report a bug or share an idea
about a possible feature.



[Changelog]: https://github.com/crate/cratedb-toolkit/blob/main/CHANGES.md
[Community Forum]: https://community.crate.io/
[CrateDB]: https://crate.io/products/cratedb
[CrateDB Cloud]: https://console.cratedb.cloud/
[Documentation]: https://cratedb-toolkit.readthedocs.io/
[DWIM]: https://en.wikipedia.org/wiki/DWIM
[Issues]: https://github.com/crate/cratedb-toolkit/issues
[License]: https://github.com/crate/cratedb-toolkit/blob/main/LICENSE
[PyPI]: https://pypi.org/project/cratedb-toolkit/
[Source code]: https://github.com/crate/cratedb-toolkit
[UX]: https://en.wikipedia.org/wiki/User_experience
