Skip to main content

gigi-client

Python client for GIGI — the Geometric Intrinsic Global Index database engine.

Install

pip install gigi-client
# With pandas support:
pip install gigi-client[pandas]

Quick start

from gigi import GigiClient

db = GigiClient("http://localhost:3142")

# Create a bundle (table)
db.create_bundle("sensors", fields={
    "sensor_id": "categorical",
    "temp": "numeric",
    "humidity": "numeric",
}, keys=["sensor_id"])

# Insert records
db.insert("sensors", [
    {"sensor_id": "S-001", "temp": 22.5, "humidity": 60.1},
    {"sensor_id": "S-002", "temp": 19.3, "humidity": 71.4},
])

# Query
results = db.query("sensors", filters=[
    {"field": "temp", "op": "gt", "value": 20}
])
print(results)

# Get curvature (geometric health)
k = db.curvature("sensors")
print(f"K={k['K']:.4f}  confidence={k['confidence']:.4f}")

# As a pandas DataFrame
df = db.query_df("sensors")
print(df.head())

Real-time subscriptions

import asyncio
from gigi import GigiSubscriber

async def main():
    sub = GigiSubscriber("ws://localhost:3142/ws")
    await sub.connect()

    # Subscribe to all inserts on the 'sensors' bundle
    await sub.subscribe("sensors")

    # Subscribe with a filter: only temp > 30
    await sub.subscribe("alerts", where="temp > 30")

    async for event in sub.events():
        print(f"[{event.op}] {event.bundle}: {event.record}")

asyncio.run(main())

GIGI Math

GIGI models data as fiber bundles over a base manifold.
Each bundle's geometry is captured by scalar curvature $K$:

$$K = \frac{\text{Var}(F)}{R^2}$$

where $F$ is the fiber distribution and $R$ is the base range.

  • $K \approx 0$: flat geometry, arithmetic-dominated (maximum compressibility)
  • $K > 0$: positive curvature, bounded/categorical data
  • $K < 0$: negative curvature (hyperbolic), heavy-tailed distributions

The confidence in the curvature estimate:

$$\text{conf}(K) = 1 - e^{-n/100}$$

where $n$ is the record count.

API Reference

See davisgeometric.com/gigi/docs.

Metadata

Release files for gigi-client 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gigi-client 0.8.0
File Size Uploaded Provenance Actions
gigi_client-0.8.0.tar.gz 25.2 kB Without provenance Details for gigi_client-0.8.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for gigi-client 0.8.0
File Interpreter ABI Platform Actions
gigi_client-0.8.0-py3-none-any.whl Python 3 none any Details for gigi_client-0.8.0-py3-none-any.whl

Total release size: 43.6 kB

Release files / gigi_client-0.8.0.tar.gz

Download URL gigi_client-0.8.0.tar.gz
Size 25.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2593a2870dbecd692454d8195913046eb9bf35ef8d19e36ab628b519e5ae8761
BLAKE2b-256 checksum
How to use checksums
965aa995ca56160c80d1cd136c70a665d350e07dd3ee3d9d47508c02dd65071f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / gigi_client-0.8.0-py3-none-any.whl

Download URL gigi_client-0.8.0-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
347aa53fd2df3b3a9074531a861f0ec8357caba7f73f9eb7fc2bd7fbda08fbf4
BLAKE2b-256 checksum
How to use checksums
79daecb4c96ba827825220072d49d6b7a1c91c5ac2c17cf9470109ce4f713198
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for gigi-client 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files No provenance

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