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.1.tar.gz (187.7 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.1-py3-none-any.whl (139.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for prismiq-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fa86d0b87a6d55873fdd9e0602b8993ad361ecdeb34ef33adc64ee29cd1e0e6f
MD5 215d9442e583d90db6ee68ae9b6928a7
BLAKE2b-256 e0e71f54664b2ded574e52214e66a68e01e4ad173982c563f0d153ffd4a34ea2

See more details on using hashes here.

Provenance

The following attestation bundles were made for prismiq-0.2.1.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.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for prismiq-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 727a01aa1691a84593fa7e91e5be3b5ed48d890071696a2ac6f07144455d1791
MD5 9146ce3e90c269dfb8c18e42cbe6029f
BLAKE2b-256 a7a67c2adb8abe49f34c0d085e67ee37153c67f54ead94b27f1e9fce5c863a92

See more details on using hashes here.

Provenance

The following attestation bundles were made for prismiq-0.2.1-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