Chumoli
O‘zbekiston ma’lumot manbalari uchun engil EL vosita
dlt (Apache 2.0) ustida · UI + CLI
SQL, REST, fayl/S3, MoySklad, Bitrix24 va O‘zbekiston manbalaridan (Click, Payme, Uzum, Didox — beta) ma’lumotni olib DuckDB, PostgreSQL, lokal fayl yoki S3 ga yuklang. Brauzerda boshqaring yoki CLI orqali ishga tushiring.
Tez boshlash
Talab: Python 3.11+
pip install chumoli
chumoli ui
- Dashboard: http://127.0.0.1:8000/
- API docs: http://127.0.0.1:8000/api/docs
- To‘xtatish:
Ctrl+C
Brauzersiz: chumoli ui --no-open yoki chumoli-api.
Ishlab chiqish (repo)
git clone https://github.com/farrux05-ai/chumoli.git
cd chumoli
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
chumoli ui
Birinchi pipeline
- + Yangi yoki Ulagichlar
- Manba tanlang → ulanishni tekshiring → saqlang
- Run → Preview
UI dagi demo: SQL → DuckDB, REST (CBU valyuta kurslari) → DuckDB, Volume (sintetik).
Nima bor (v0.1)
| Imkoniyat | Izoh |
|---|---|
| Ulagichlar | SQL, REST, Filesystem/S3, MoySklad, Bitrix24, sintetik volume (stable); Click, Payme, Uzum, Didox (beta) |
| Destinationlar | DuckDB, PostgreSQL, lokal CSV/Parquet, S3/GCS/…, ClickHouse |
| Dashboard | Yaratish, Run, Preview, runs tarixi, scheduler |
| Xavfsizlik | Secrets Fernet bilan shifrlangan; API kalit |
| Bildirishnoma | Telegram (ixtiyoriy) |
| CLI | chumoli ui, list, run |
UZ connectorlar — beta
Click, Payme, Uzum Market va Didox kod bazasida bor va UI da beta deb belgilangan. Ular hali barcha merchant/sandbox muhitlarida to‘liq tasdiqlanmagan. Ishlatishdan oldin o‘z API kalitingiz bilan sinang; xato topsangiz Issues oching.
Destinationlar
| Key | Default / connection |
|---|---|
duckdb |
~/chumoli-data/<pipeline>.duckdb |
postgresql |
SQLAlchemy URL (parol maxfiy) |
filesystem |
Faqat lokal → tanlangan papka yoki ~/chumoli-data/exports/<pipeline>/ |
s3 |
s3:// / gs:// / az:// … |
clickhouse |
URL; pip install "chumoli[clickhouse]" |
Lokal fayl va S3 katalogda alohida. dlt _dlt_* metadata yashirin staging da qoladi; foydalanuvchi papkasiga faqat toza jadvallar chiqadi. Preview: papka yo‘li, fayllar, CSV namunasi.
Ma’lumot qayerda
~/.chumoli/ # tizim (yashirin)
chumoli_control.db
master.key
api.key
pipelines/ # dlt state
fs_staging/ # dlt filesystem + _dlt_* (yashirin)
~/chumoli-data/ # foydalanuvchi ko‘radigan
<pipeline>.duckdb
warehouse.duckdb # path ko‘rsatilmagan DuckDB uchun fallback
examples/
exports/<pipeline>/ # toza CSV/Parquet
export CHUMOLI_HOME=/var/lib/chumoli
export CHUMOLI_DATA=/var/lib/chumoli-data
chumoli ui
master.key ni control DB bilan birga zaxiralang — kalitsiz secrets ochilmaydi.
CLI
chumoli --help
chumoli ui # dashboard + brauzer
chumoli ui --port 8080
chumoli list
chumoli run <pipeline>
Docker
docker compose up --build
# http://127.0.0.1:8000/
- Bind:
127.0.0.1:8000(tashqi tarmoq uchun reverse proxy +CHUMOLI_API_KEY+ TLS) - Volume:
chumoli_data→/data(CHUMOLI_HOME+CHUMOLI_DATA) - Bitta uvicorn worker — scheduler va run lock shu processda
Muhit o‘zgaruvchilari
| O‘zgaruvchi | Default | Ma’nosi |
|---|---|---|
CHUMOLI_HOME |
~/.chumoli |
Control DB, kalitlar, dlt state |
CHUMOLI_DATA |
~/chumoli-data |
DuckDB va lokal eksportlar |
CHUMOLI_API_KEY |
(avto api.key) |
API autentifikatsiya |
Telegram: dashboard Sozlamalar → bot token + chat id.
Ishlab chiqish
pip install -e ".[dev]"
PYTHONPATH=src python -m pytest tests/ -q
CI (GitHub Actions): har push/PR da Python 3.11 va 3.12 da testlar + Docker image build.
Litsenziya
Apache-2.0 · GitHub
Metadata
Release files for chumoli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chumoli-0.1.1.tar.gz | 123.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chumoli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 269.3 kB
Release files / chumoli-0.1.1.tar.gz
| Download URL | chumoli-0.1.1.tar.gz |
|---|---|
| Size | 123.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f2bae9aeac0ce347cc8014d677992046a2a228149525f57f9bbbb732313ffb1
|
|
BLAKE2b-256 checksum How to use checksums |
16dff7038f6de69fbd97046336872e76b821f079685743a93439766345d07bbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency logRelease files / chumoli-0.1.1-py3-none-any.whl
| Download URL | chumoli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 145.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
470b3849128f692ab4e3c2efabb1224452b0f5ab975df6448119dfc9bb0a4d8d
|
|
BLAKE2b-256 checksum How to use checksums |
c6ddd7296f4c014d608505de75f322b9ae8635c908cddbbc16ff55fa44fbc1b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency log