Skip to main content

Periplus Python SDK

Read-only access to the public ClickHouse corpus through the Periplus HTTP API. Install the SDK from the same checkout as your deployment:

python -m pip install ./packages/periplus-python-sdk
from periplus_sdk import Client

with Client("http://localhost:8080") as client:
    result = client.execute(
        "SELECT capture_id, url FROM public_v1.captures LIMIT ?", [10]
    )
    print(result.columns, result.rows)

Use PERIPLUS_PUBLIC_URL to omit the URL argument. No database credentials or service token are needed for the public gateway. AsyncClient provides async methods. prepare validates/explains SQL; execute returns typed columns, rows, truncation and query metadata; helpers describes the installed public views.

The public schema is public_v1. HTML joins use document_id plus node index; document_id identifies retained bytes and their HTML interpretation. Raw-byte hashes stay internal. There is one query endpoint, with no experimental fallback. Client errors preserve server categories and do not automatically retry executed queries.

For notebook/SQLAlchemy integration:

from periplus_sdk import sql_api
from sqlalchemy import text

engine = sql_api.create_engine(base_url="http://localhost:8080")
with engine.connect() as connection:
    print(connection.execute(text("SELECT url FROM public_v1.captures LIMIT 5")).all())
engine.dispose()

Marimo discovers the five public views through the helper catalogue. Column reflection uses SELECT * ... LIMIT 0 to retrieve native types without reading corpus rows; no SHOW, DESCRIBE, or system-table access is required.

The DB-API connection advertises the ClickHouse dialect and converts native nullable integer, decimal, date and datetime types. Nested types retain JSON wire values. It is read-only: there are no client transactions or writable sessions. Streaming cursors expose incomplete/truncated results explicitly; configure allow_partial only when partial results suit the application.

See the public schema and query boundary.

Release files for periplus-python-sdk 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 periplus-python-sdk 0.8.0
File Size Uploaded
periplus_python_sdk-0.8.0.tar.gz 21.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for periplus-python-sdk 0.8.0
File Interpreter ABI Platform
periplus_python_sdk-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.9 kB

Release files / periplus_python_sdk-0.8.0.tar.gz

Download URL periplus_python_sdk-0.8.0.tar.gz
Size 21.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1d75e796757ea45e2be04788d6e1719b17dc52456026ace753a71e74e1cdf8c9
BLAKE2b-256 checksum
How to use checksums
3111dfe0872d8d2351ae427a73184e3268cb1e1333ec9093e71079fdadd77c89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

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

Download URL periplus_python_sdk-0.8.0-py3-none-any.whl
Size 19.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df9d2e975088350e446c59376b3a73bbab2c51c50a90260d81054ec7304e9e60
BLAKE2b-256 checksum
How to use checksums
7debddd4263c5c4284998269c9897eadddca826f6fddf81da1a4b2a78c850868
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.11.0

2 release files

0.9.0

2 release files

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release 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