Name | dataxi JSON |
Version |
0.0.9
JSON |
| download |
home_page | None |
Summary | Dataxi is a cross-DBMS server tool that can help you centralize the data extraction and transfer from different data sources. |
upload_time | 2025-02-12 22:13:09 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.6 |
license | MIT License |
keywords |
etl
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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](https://github.com/yyccPhil/dataxi/wiki).
## 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
```sh
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](https://docs.onetimesecret.com/docs/rest-api) 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 `*`).
<details>
<summary>
Use the <code>add</code> command to store new credential interactively. It requires a unique <code>conn_id</code>, and supports 3 credential types: Database, Secret and Token.
</summary>
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**
</details>
```sh
cred_mgr add <conn_id>
```
Display all saved conn_ids, similar to how pip list works. This is helpful for quickly identifying available credentials.
```sh
cred_mgr ls
# cred_mgr list
```
Easily remove credentials you no longer need by specifying their conn_id.
```sh
cred_mgr D <conn_id>
# cred_mgr delete <conn_id>
```
Print the details of a stored credential using its conn_id.
```sh
cred_mgr load -id <conn_id>
# Print all stored credentials
cred_mgr load -a
# cred_mgr load --all
```
<details>
<summary>
Generate a random password with customizable options.
</summary>
**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 `*`).
</details>
```sh
cred_mgr gen [options]
# e.g. cred_mgr gen -len 10 -s '!@#$%^&*' -a
```
<details>
<summary>
Send credentials or a custom secret securely via Onetime Secret API, and return a shareable, one-time viewable link.
</summary>
**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](https://onetimesecret.com/) for their awesome work and excellent API, which powers the secure sharing feature of this tool.
</details>
```sh
cred_mgr send [options]
# e.g. cred_mgr send -s 'test' -p 'p_test'
```
**(Warning: This action is irreversible!)** Use <code>reset</code> to clear all stored credentials in the .dataxi folder.
```sh
cred_mgr reset
```
**(Warning: This action is irreversible!)** Use <code>clean</code> to completely remove the .dataxi folder.
```sh
cred_mgr clean
```
## License
Copyright 2024-2025 Yuan Yuan.
Distributed under the terms of the [MIT license](https://github.com/yyccPhil/dataxi/blob/main/LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "dataxi",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "ETL",
"author": null,
"author_email": "Yuan Yuan <yyccphil@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/87/ec/8eefa5515d0a8ec6497ca35d3e0355c5778b89039b126f392d4f04b58f29/dataxi-0.0.9.tar.gz",
"platform": null,
"description": "# Dataxi\n\nDataxi 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.\n\nFor detailed documentation, please refer to [Dataxi Wiki Page](https://github.com/yyccPhil/dataxi/wiki).\n\n## Highlights\n\n* Supports multiple data sources: ClickHouse, MySQL, PostgreSQL, SQL Server, Splunk\n* Supports data parsing from multiple formats: pandas, CSV, XLSX, and Parquet\n* Offers credential management with easy access using `conn_id`\n* Works on Linux/MacOS/Windows\n\n## Install\n\nThe preferred way to install Dataxi is via pip\n\n```sh\npip install dataxi\n```\n\n## Basic Usage\n\n### Credential Management\n\n#### Command Line\n\nThe `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](https://docs.onetimesecret.com/docs/rest-api) API.\n\n> 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 `*`).\n\n<details>\n\n<summary>\nUse the <code>add</code> command to store new credential interactively. It requires a unique <code>conn_id</code>, and supports 3 credential types: Database, Secret and Token.\n</summary>\n\nYou will be prompted to choose among the 3 credential types. For each type, provide the following arguments in order:\n\n**Database**\n\n- **db_type**: one of `mysql`, `mssql` (or `sql_server`), `clickhouse` (or `ch`), `postgresql` (or `postgres`)\n- **username**\n- **password**\n- **host**\n- **port**\n- **database** (optional)\n\n**Secret**\n\n- **username**\n- **password**\n\n**Token**\n\n- **token**\n\n</details>\n\n```sh\ncred_mgr add <conn_id>\n```\n\nDisplay all saved conn_ids, similar to how pip list works. This is helpful for quickly identifying available credentials.\n\n```sh\ncred_mgr ls\n# cred_mgr list\n```\n\nEasily remove credentials you no longer need by specifying their conn_id.\n\n```sh\ncred_mgr D <conn_id>\n# cred_mgr delete <conn_id>\n```\n\nPrint the details of a stored credential using its conn_id.\n\n```sh\ncred_mgr load -id <conn_id>\n\n# Print all stored credentials\ncred_mgr load -a\n# cred_mgr load --all\n```\n\n<details>\n\n<summary>\nGenerate a random password with customizable options.\n</summary>\n\n**Options**\n\n- `--length` or `-len`: Password length (default: 12, valid range: 6\u201350).\n- `--uppercase` or `-up`: Exclude uppercase letters.\n- `--lowercase` or `-low`: Exclude lowercase letters.\n- `--digit` or `-d`: Exclude digits.\n- `--symbol` or `-sym`: Exclude symbols.\n- `--special` or `-s`: Exclude user-specified special characters.\n- `--ambiguous` or `-a`: Exclude ambiguous characters (l, I, 1, O, 0).\n\n> Note: Please enclose the value of `--special`/`-s` in **quotes** (like `-s '!@#$%^&*'`), especially if it contains special characters (such as `!`, `@`, `#`, `$`, `%`, `^`, `&`, and `*`).\n\n</details>\n\n```sh\ncred_mgr gen [options]\n# e.g. cred_mgr gen -len 10 -s '!@#$%^&*' -a\n```\n\n<details>\n\n<summary>\nSend credentials or a custom secret securely via Onetime Secret API, and return a shareable, one-time viewable link.\n</summary>\n\n**Mutually Exclusive Options (choose one):**\n\n- `--conn_id` or `-id`: Send the credential corresponding to the specified connection ID stored by Dataxi.\n- `--secret` or `-s`: Directly send custom secret text.\n\n**Additional Options:**\n\n- `--passphrase` or `-p`: Optionally secure the secret with a passphrase.\n- `--ttl` or `-t`: Time-to-live in seconds for the secret (default: 3600).\n\n> Note: Please enclose the values of `--secret`/`-s` and `--passphrase`/`-p` in **quotes** (like `-s '!@#$%^&*'`), especially if they contain special characters (such as `!`, `@`, `#`, `$`, `%`, `^`, `&`, and `*`).\n\n> Special thanks to [Onetime Secret](https://onetimesecret.com/) for their awesome work and excellent API, which powers the secure sharing feature of this tool.\n\n</details>\n\n```sh\ncred_mgr send [options]\n# e.g. cred_mgr send -s 'test' -p 'p_test'\n```\n\n**(Warning: This action is irreversible!)** Use <code>reset</code> to clear all stored credentials in the .dataxi folder.\n\n```sh\ncred_mgr reset\n```\n\n**(Warning: This action is irreversible!)** Use <code>clean</code> to completely remove the .dataxi folder.\n\n```sh\ncred_mgr clean\n```\n\n## License\n\nCopyright 2024-2025 Yuan Yuan.\n\nDistributed under the terms of the [MIT license](https://github.com/yyccPhil/dataxi/blob/main/LICENSE).\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Dataxi is a cross-DBMS server tool that can help you centralize the data extraction and transfer from different data sources.",
"version": "0.0.9",
"project_urls": {
"Project": "https://github.com/yyccPhil/dataxi"
},
"split_keywords": [
"etl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "56e0acb8e17619caf83bc93549cb6a393a3f374ec86a667ae7d30f2c367ef96b",
"md5": "c0630026c7a9c8e2b005dc3231e4f09f",
"sha256": "0f5f8c9aa6a7db727d399fb7f8b2214a76a488b94f717dd124e3dba14a80c806"
},
"downloads": -1,
"filename": "dataxi-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c0630026c7a9c8e2b005dc3231e4f09f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 13687,
"upload_time": "2025-02-12T22:13:08",
"upload_time_iso_8601": "2025-02-12T22:13:08.825457Z",
"url": "https://files.pythonhosted.org/packages/56/e0/acb8e17619caf83bc93549cb6a393a3f374ec86a667ae7d30f2c367ef96b/dataxi-0.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "87ec8eefa5515d0a8ec6497ca35d3e0355c5778b89039b126f392d4f04b58f29",
"md5": "5c9bf73687fc5c84589ddb6bafc29f7c",
"sha256": "14dddc0d9c66c25fc8e23e55f3a7dba4202be36e501f66361f574b450ece04bc"
},
"downloads": -1,
"filename": "dataxi-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "5c9bf73687fc5c84589ddb6bafc29f7c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 13883,
"upload_time": "2025-02-12T22:13:09",
"upload_time_iso_8601": "2025-02-12T22:13:09.819343Z",
"url": "https://files.pythonhosted.org/packages/87/ec/8eefa5515d0a8ec6497ca35d3e0355c5778b89039b126f392d4f04b58f29/dataxi-0.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-12 22:13:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yyccPhil",
"github_project": "dataxi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "dataxi"
}