Skip to main content

Helper functions and utilities for CSI data warehouse ingestion and Shiny web applications (Python port of the csiapps R package).

Project description

csiapps (Python)

Python port of the CSIO csiapps R package. Helper functions and utilities for CSI data warehouse ingestion and Shiny for Python web applications.

Full feature parity with the R package: the API client (make_request, fetch_*), the local sandbox (schema → ingest → retrieve, plus a dummy registration registry), and the Shiny app wrappers (ui_wrapper, server_wrapper). Sandbox mode is on by default so nothing hits production by accident.

Installation

pip install csiapps

Quickstart

import csiapps

csiapps.register_sandbox_schema("demo", {
    "type": "object", "required": ["id"],
    "properties": {"id": {"type": "string"}},
})
csiapps.make_request("api/warehouse/ingestion/primary/", method="POST",
    body={"source": "demo", "records": [{"id": "a1"}], "subject_field": "id"})
page = csiapps.make_request("api/warehouse/data-records", query={"source_uuid": "demo"})
print(page["count"])   # 1

See the cross-language documentation (R and Python side by side, plus a parity checklist) and the runnable examples/ (warehouse_ingest.py, app.py).

Development

Uses uv.

uv sync                        # install deps + dev tools
uv run pytest                  # run tests
uv run ruff check .            # lint
uv run --group docs mkdocs serve   # preview docs
uv build                       # build sdist + wheel

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

csiapps-0.1.2.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

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

csiapps-0.1.2-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file csiapps-0.1.2.tar.gz.

File metadata

  • Download URL: csiapps-0.1.2.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for csiapps-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0ee22871c7409c60dbad9df6ff6750b12b14145bcdfa04298ce0b95dde40668f
MD5 c20596ed324afc4a9acf04170e6fcc61
BLAKE2b-256 77d88bf16de0d6babe330d561db31c0afa26bb72355d10d1a10bf5ff54236e3d

See more details on using hashes here.

File details

Details for the file csiapps-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: csiapps-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for csiapps-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 80560828b259ac2907da301e7a2e4f6615709c38148e60fbb2fb132a0f65b56e
MD5 f9cac92a164ed8f1830a3cdc18d12ddd
BLAKE2b-256 e8b615ecb898f7026e7e906a71580405eab5a6bf3a69ebae266b348a91deb969

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