Skip to main content

Open-source embedded analytics platform

Project description

Prismiq

Open-source embedded analytics engine for Python.

Installation

pip install prismiq

Quick Start

from prismiq import PrismiqEngine

# Connect to your database
engine = await PrismiqEngine.create(
    database_url="postgresql://user:pass@localhost/mydb",
    exposed_tables=["customers", "orders", "products"]
)

# Get schema
schema = await engine.get_schema()

# Execute a query
result = await engine.execute({
    "tables": [{"id": "t1", "name": "orders"}],
    "columns": [
        {"table_id": "t1", "name": "status"},
        {"table_id": "t1", "name": "total", "aggregation": "sum"}
    ],
    "group_by": [{"table_id": "t1", "column": "status"}]
})

Features

  • Schema introspection - Discover tables, columns, and relationships
  • Visual query building - Build SQL from JSON query definitions
  • Async execution - Non-blocking database operations with asyncpg
  • Type safe - Full type hints with Pydantic models
  • Multi-tenant support - Schema-based isolation with Alembic integration

Multi-Tenant Integration

For applications with schema-based multi-tenancy, Prismiq provides SQLAlchemy declarative models and sync table creation:

from sqlalchemy import create_engine
from prismiq import ensure_tables_sync, PrismiqBase

engine = create_engine("postgresql://user:pass@localhost/db")

# Create tables in a tenant-specific schema
with engine.connect() as conn:
    ensure_tables_sync(conn, schema_name="tenant_123")
    conn.commit()

# For Alembic integration, access the metadata:
# PrismiqBase.metadata.tables contains all Prismiq table definitions

See Multi-Tenant Integration Guide for complete documentation.

Documentation

See the main repository for full documentation.

License

MIT

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

prismiq-0.2.10.tar.gz (201.9 kB view details)

Uploaded Source

Built Distribution

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

prismiq-0.2.10-py3-none-any.whl (150.1 kB view details)

Uploaded Python 3

File details

Details for the file prismiq-0.2.10.tar.gz.

File metadata

  • Download URL: prismiq-0.2.10.tar.gz
  • Upload date:
  • Size: 201.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for prismiq-0.2.10.tar.gz
Algorithm Hash digest
SHA256 549da3ce891df89d7359f656b534c6c85960a316059857a6c3ba7a8c510cfd22
MD5 7a7a0b263790e7d463d990ee533ff0db
BLAKE2b-256 5205a2e27ef45599025d3ac802f0bf29636bf825904379ebfbdd28b84bc18edf

See more details on using hashes here.

Provenance

The following attestation bundles were made for prismiq-0.2.10.tar.gz:

Publisher: publish-pypi.yml on statisfy-us/prismiq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prismiq-0.2.10-py3-none-any.whl.

File metadata

  • Download URL: prismiq-0.2.10-py3-none-any.whl
  • Upload date:
  • Size: 150.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for prismiq-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a70b2fdac5951830edcc62d133988e482aba4b70b0e64b7ad195c09be0d2030f
MD5 59d2ec1967b58440c575abc1c08d44ce
BLAKE2b-256 58a0caa422e804256ee3dc9f9ec5ebde13497b701873f40c0ffdb68c138e82ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for prismiq-0.2.10-py3-none-any.whl:

Publisher: publish-pypi.yml on statisfy-us/prismiq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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