Skip to main content

qombra

Python client for Qombra — data analysis, AI-guided preprocessing, AutoML training, inference, and SHAP explainability, all running on the Qombra platform through your account.

pip install qombra

Quickstart

import pandas as pd
import qombra

qombra.login()   # opens the browser; approve the SDK session (valid 12 hours)

df = pd.read_csv("customers.csv")

# 1. Dataset statistics (analyzes a ≤1000-row sample with the fewest NaNs)
report = qombra.analyze(df)
print(report.summary, report.warnings)

# 2. Preprocessing with a natural-language instruction
result = qombra.preprocessing(df, "drop duplicate rows and outliers in price")
print(result)          # summary, actions, warnings
clean_df = result.df

# 3. Training — the model stays on the server, addressed by id
model = qombra.fit(clean_df, target="churn_30d")
print(model.id, model.metrics)
# Optional: pick the evaluation metric and the compute budget yourself
model = qombra.fit(clean_df, target="churn_30d", metric="roc_auc", effort="high")

# 4. Inference
predictions = model.predict(clean_df.head(100))

# 5. Explainability (SHAP)
print(model.explain())

qombra.logout()  # revoke the session token

Later, in another session — no retraining

import qombra

qombra.login()
model = qombra.Model.from_id("«the model id from earlier»")
predictions = model.predict(new_rows)

Session management

Every call needs an authenticated session. qombra.login() opens a browser window where you sign in on the web app and approve the SDK; the resulting token lives in your OS keyring and expires after 12 hours. Close a session explicitly, or scope it with with (leaving the block revokes the token):

qombra.login()
with qombra.Qombra() as client:
    model = client.fit(df, target="price")
    print(client.whoami())   # remaining quotas
# token revoked here

No browser available (SSH, CI)? Use qombra.login(headless=True) and copy-paste the code shown on the consent page. In automated environments you can also provide a token via the QOMBRA_API_TOKEN environment variable.

The full pipeline in one call

result = qombra.auto_run(df, "Predict which customers churn in the next 30 days")
print(result)                     # phases, target, test metric
preds = result.model.predict(new_rows)

auto_run drives the same agent workflow as the web app (ingest → preprocessing → target confirmation → training) without a human in the loop. Expect minutes to hours; the created analysis is fully browsable in the web app afterwards.

Managing stored artifacts

qombra.list_models()                     # all trained models in your account
qombra.delete_model(model)               # irreversible
qombra.list_preprocessing_results()
qombra.delete_preprocessing_result(job_id)

Error handling

All errors derive from qombra.QombraError:

try:
    model = qombra.fit(df, target="revenue")
except qombra.AuthenticationError:
    qombra.login()                       # token expired (12h) — sign in again
except qombra.QuotaExceededError as e:
    print("Usage limit reached:", e)
except qombra.ValidationError as e:
    print("Bad input:", e.code, e)
except qombra.JobTimeoutError as e:
    print("Still training server-side, job:", e.job_id)

Notable classes: AuthenticationError, QuotaExceededError, ValidationError (with a machine-readable .code), PayloadTooLargeError, NotFoundError, JobFailedError, JobTimeoutError, NetworkError, ServerError.

Data format & metering

Dataframes travel as parquet with plain scalar columns (numbers, booleans, strings, dates, timestamps, decimals; pandas categoricals are fine) — cast mixed-type object columns before upload. Uploads are size-capped and calls are rate-limited: an oversized upload raises PayloadTooLargeError (reduce or batch it), rapid-fire calls raise RateLimitedError.

All SDK usage counts toward your account's usage limits: each fit/auto_run consumes analysis quota, and instruction-guided preprocessing consumes chat/LLM-token quota. Check remaining quotas with qombra.whoami().

Support

Questions and issues: www.qombra.com — or reach out at hey@qombra.com.

Download files

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

Source Distribution

qombra-0.2.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

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

qombra-0.2.0-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file qombra-0.2.0.tar.gz.

File metadata

  • Download URL: qombra-0.2.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for qombra-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8d984cd381860f45efec087180c8316fbfc6d4e9f9c5bb69df108fadb95de706
MD5 5cb1e172ee4b0794a61d2afc534d7f0e
BLAKE2b-256 2c13df7d6c3e82f28cd3938288d3d1bccee29cb74caae1dd2f41402523605be0

See more details on using hashes here.

File details

Details for the file qombra-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: qombra-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for qombra-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5dbbf65fed87a48c0fba0ad948d34ac3ec9606a6046389712a60d3eceaaabed
MD5 33b9554419527c6cf0e17a511ab85157
BLAKE2b-256 8d3fc0021234866caebd4564c5b00d4ff84d7d8e956b7c54931ef97c45fd472e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

2 files

0.3.0

1 file

This release

0.2.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page