Skip to main content

sharp-sparc

Hosted statistical capability for identifying a compact predictive feature core in high-dimensional biological data.

sharp-sparc is the thin, official Python client for SPARC. It provides reproducible statistical discovery and decision boundaries for high-dimensional biological datasets ($P \gg N$).


Installation

pip install sharp-sparc

5-Line Quickstart

from sharp_sparc import SPARC

# 1. Initialize client with your API key
sparc = SPARC(api_key="sparc_live_...")

# 2. Discover predictive core signals from tabular data
result = sparc.discover(X, y, top_k=20, approve_upload=True)

# 3. Inspect discovered core signals
for rank, signal in enumerate(result.core_signals, start=1):
    print(f"#{rank}: {signal.name} (relevance={signal.predictive_relevance:.4f})")

Privacy Boundary and Local Preflight

SPARC enforces a strict privacy boundary:

  1. Local Metadata Inspection: Your dataset's dimensions, non-finite cell counts, and SHA256 digest are computed locally on your machine. Raw cell values and feature names never leave your environment during preflight.
  2. Explicit Caller Approval: Raw data uploads only after explicit caller approval using a server-issued signed URL (approve_upload=True). All remote uploads enforce TLS (https://) transport.

Discovering from a Local CSV/TSV File

result = sparc.discover_file(
    path="patient_cohort_rnaseq.csv",
    target_column="treatment_response",
    top_k=15,
    approve_upload=True,
)

Granular REST Lifecycle

For production pipelines and workflow orchestrators, sharp-sparc exposes the full granular lifecycle:

from sharp_sparc import SPARC, inspect_dataset

client = SPARC(api_key="sparc_live_...")

# 1. Check account quota
account = client.get_account_status()
print(f"Tier: {account.tier}, Runs Remaining: {account.runs_remaining}")

# 2. Inspect aggregate metadata locally
metadata = inspect_dataset("data.csv", target_index=10)

# 3. Validate against tier limits (zero raw data sent)
preflight = client.preflight(metadata=metadata)

# 4. Stream upload with signed authorization
upload = client.upload_dataset(
    file_path_or_data="data.csv",
    preflight_token=preflight.upload_token,
    metadata=metadata,
)

# 5. Submit analysis with idempotency protection
receipt = client.submit_analysis(
    dataset_ref=upload.dataset_ref,
    target_column="target",
    top_k=10,
    idempotency_key="pipeline-run-2026-08-batch-1",
)

# 6. Poll status
status = client.poll_analysis(receipt.job_id)

# 7. Export standalone Python and C++ decision trees (Pro tier)
coretree = client.export_coretree(receipt.job_id)
print(coretree.python_source)

Async Client (AsyncSPARC)

import asyncio
from sharp_sparc import AsyncSPARC

async def main():
    async with AsyncSPARC(api_key="sparc_live_...") as client:
        account = await client.get_account_status()
        print(f"Account Tier: {account.tier}")

asyncio.run(main())

Canonical API Route Map

Operation Canonical REST Endpoint
Account Status GET /v1/account
Preflight Validation POST /v1/preflight
Upload Authorization POST /v1/datasets/uploads
Direct Data Upload PUT /v1/datasets/uploads/{dataset_id}
Upload Completion POST /v1/datasets/uploads/{dataset_id}/complete
Submit Analysis POST /v1/analyses (supports Idempotency-Key)
Poll Job Status GET /v1/analyses/{job_id}
Job Results GET /v1/analyses/{job_id}/result
Cancel Job POST /v1/analyses/{job_id}/cancel
Export CoreTree Code GET /v1/analyses/{job_id}/coretree

Download files

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

Source Distribution

sharp_sparc-0.1.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

sharp_sparc-0.1.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file sharp_sparc-0.1.0.tar.gz.

File metadata

  • Download URL: sharp_sparc-0.1.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.0

File hashes

Hashes for sharp_sparc-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1199b22b7e400b716ed67d668e0b6dd2fc99b2c33285c7feca52a197d11b817c
MD5 7370c11c502e2f18c7e6f25b62ea4117
BLAKE2b-256 df8383c60bf19189d7b3e3dbe5f3807c42fd02b3f0991dff36780bedcfed587a

See more details on using hashes here.

File details

Details for the file sharp_sparc-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sharp_sparc-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.0

File hashes

Hashes for sharp_sparc-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a0788d7927b91d9507d22132df92c1f4b10eb5e59c7253f3fb82f3a6160116b
MD5 962634b04251cbc01c6678ea71d21394
BLAKE2b-256 d5f0efd5003894138c90478c6e1f1647b49efab4158d0f240bfd85c13e16eadc

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

This release

0.1.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