Skip to main content

Dataxi is a cross-DBMS server tool that can help you centralize the data extraction and transfer from different data sources.

Project description

Dataxi

Dataxi is a cross-DBMS server tool based on Polars with credential management that can help you centralize the data extraction and transfer from different data sources.

For detailed documentation, please refer to Dataxi Wiki Page.

Highlights

  • Supports multiple data sources: ClickHouse, MySQL, PostgreSQL, SQL Server, Splunk
  • Supports data parsing from multiple formats: pandas, CSV, XLSX, and Parquet
  • Offers credential management with easy access using conn_id
  • Works on Linux/MacOS/Windows

Install

The preferred way to install Dataxi is via pip

pip install dataxi

Basic Usage

Credential Management

Command Line

The creg_mgr CLI allows secure creation, retrieval, and deletion of credentials through simple and user-friendly commands, while also providing a built-in password generator and a burn-after-reading secret-sending feature via the Onetime Secret API.

Note: When entering string parameters (like --conn_id/-id in cred_mgr) in the CLI, it is highly recommended to enclose the value in quotes (like -id 'test@id#1'), especially if it contains special characters (such as !, @, #, $, %, ^, &, and *).

Use the add command to store new credential interactively. It requires a unique conn_id, and supports 3 credential types: Database, Secret and Token.

You will be prompted to choose among the 3 credential types. For each type, provide the following arguments in order:

Database

  • db_type: one of mysql, mssql (or sql_server), clickhouse (or ch), postgresql (or postgres)
  • username
  • password
  • host
  • port
  • database (optional)

Secret

  • username
  • password

Token

  • token
cred_mgr add <conn_id>

Display all saved conn_ids, similar to how pip list works. This is helpful for quickly identifying available credentials.

cred_mgr ls
# cred_mgr list

Easily remove credentials you no longer need by specifying their conn_id.

cred_mgr D <conn_id>
# cred_mgr delete <conn_id>

Print the details of a stored credential using its conn_id.

cred_mgr load -id <conn_id>

# Print all stored credentials
cred_mgr load -a
# cred_mgr load --all
Generate a random password with customizable options.

Options

  • --length or -len: Password length (default: 12, valid range: 6–50).
  • --uppercase or -up: Exclude uppercase letters.
  • --lowercase or -low: Exclude lowercase letters.
  • --digit or -d: Exclude digits.
  • --symbol or -sym: Exclude symbols.
  • --special or -s: Exclude user-specified special characters.
  • --ambiguous or -a: Exclude ambiguous characters (l, I, 1, O, 0).

Note: Please enclose the value of --special/-s in quotes (like -s '!@#$%^&*'), especially if it contains special characters (such as !, @, #, $, %, ^, &, and *).

cred_mgr gen [options]
# e.g. cred_mgr gen -len 10 -s '!@#$%^&*' -a
Send credentials or a custom secret securely via Onetime Secret API, and return a shareable, one-time viewable link.

Mutually Exclusive Options (choose one):

  • --conn_id or -id: Send the credential corresponding to the specified connection ID stored by Dataxi.
  • --secret or -s: Directly send custom secret text.

Additional Options:

  • --passphrase or -p: Optionally secure the secret with a passphrase.
  • --ttl or -t: Time-to-live in seconds for the secret (default: 3600).

Note: Please enclose the values of --secret/-s and --passphrase/-p in quotes (like -s '!@#$%^&*'), especially if they contain special characters (such as !, @, #, $, %, ^, &, and *).

Special thanks to Onetime Secret for their awesome work and excellent API, which powers the secure sharing feature of this tool.

cred_mgr send [options]
# e.g. cred_mgr send -s 'test' -p 'p_test'

(Warning: This action is irreversible!) Use reset to clear all stored credentials in the .dataxi folder.

cred_mgr reset

(Warning: This action is irreversible!) Use clean to completely remove the .dataxi folder.

cred_mgr clean

License

Copyright 2024-2025 Yuan Yuan.

Distributed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataxi-0.0.9.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataxi-0.0.9-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file dataxi-0.0.9.tar.gz.

File metadata

  • Download URL: dataxi-0.0.9.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for dataxi-0.0.9.tar.gz
Algorithm Hash digest
SHA256 14dddc0d9c66c25fc8e23e55f3a7dba4202be36e501f66361f574b450ece04bc
MD5 5c9bf73687fc5c84589ddb6bafc29f7c
BLAKE2b-256 87ec8eefa5515d0a8ec6497ca35d3e0355c5778b89039b126f392d4f04b58f29

See more details on using hashes here.

File details

Details for the file dataxi-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: dataxi-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for dataxi-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 0f5f8c9aa6a7db727d399fb7f8b2214a76a488b94f717dd124e3dba14a80c806
MD5 c0630026c7a9c8e2b005dc3231e4f09f
BLAKE2b-256 56e0acb8e17619caf83bc93549cb6a393a3f374ec86a667ae7d30f2c367ef96b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page