Skip to main content

Python client for fetching table data from the MyCorr API via Apache Arrow

Project description

pymycorr

PyPI version CI Python License

Python client for fetching table data from the MyCorr API using Apache Arrow for efficient data transfer.

Note: The production API is coming soon. Set MYCORR_API_URL to your endpoint if you have early access.

Installation

pip install pymycorr

Configuration

Set your API token and (optionally) the API URL as environment variables:

export MYCORR_API_TOKEN="your-api-token"

Or create a .env file in your project root:

MYCORR_API_TOKEN=your-api-token

The client automatically loads from environment variables and .env files.

Quick Start

from pymycorr import MyCorr

# Initialize client (loads token from MYCORR_API_TOKEN env var or .env file)
client = MyCorr()

# Fetch as pandas DataFrame
df = client.get_table("table-id")

# Fetch a specific version
df = client.get_table("table-id", version=2)

# Fetch using version alias
df = client.get_table("table-id", version="stable")

# Get table metadata without fetching data
info = client.get_table_info("table-id")
print(info["schema"])

Progress Display

Progress is shown automatically in interactive environments (terminals and notebooks). You can control this behavior:

# Always show progress
client = MyCorr(progress=True)

# Never show progress
client = MyCorr(progress=False)

# Override per-request
df = client.get_table("table-id", progress=False)

API Reference

MyCorr

__init__(url=None, token=None, env_file=None, progress="auto")

Initialize the client.

  • url: API base URL (optional). Falls back to MYCORR_API_URL env var, then default.
  • token: Authentication token (Bearer token from MyCorr UI). Falls back to MYCORR_API_TOKEN env var or .env file.
  • env_file: Path to custom .env file (optional).
  • progress: Show download progress. True always shows, False never shows, "auto" (default) shows in interactive environments.

get_table(table_id, version=None, engine="pandas", progress=None)

Fetch table data as a DataFrame.

  • table_id: Unique identifier for the table.
  • version: Version number (int) or alias (str like "latest", "stable").
  • engine: "pandas" (default) or "polars".
  • progress: Override client's progress setting for this request.
  • Returns: pandas or polars DataFrame.

get_table_info(table_id, version=None)

Get table schema and metadata.

  • table_id: Unique identifier for the table.
  • version: Version number (int) or alias (str).
  • Returns: Dictionary with table metadata including schema.

Exceptions

  • TableAPIError: Base exception for API errors.
  • TableNotFoundError: Table not found (404).
  • QuotaExceededError: Egress quota exceeded (429).
  • TableConversionError: Failed to convert Arrow data to DataFrame.
  • StreamingError: Error during data streaming or IPC parsing.

Development

See .env.example for environment variable configuration. For local development:

  1. Copy .env.example to .env
  2. Set MYCORR_API_URL to your local/dev base URL (no path segments)
  3. SSL verification is automatically disabled for localhost and 127.0.0.1 URLs

License

MIT License - see LICENSE for details.

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

pymycorr-0.2.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

pymycorr-0.2.1-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pymycorr-0.2.1.tar.gz
Algorithm Hash digest
SHA256 46de3ff56c5d635bb7735873fe62499dfe1a20710cf25885982498a0830e0ede
MD5 425287dbbddf1bfa706e4f20bfdf13dc
BLAKE2b-256 ce17d6bf0a26cc386d48c7713216312e4bbeb4c1ee7aa8c3ce57212d8b0e786c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymycorr-0.2.1.tar.gz:

Publisher: publish.yml on Recons-Ltd/pymycorr

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

File details

Details for the file pymycorr-0.2.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pymycorr-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6563ce7713bde1a63df6d556f433d3af336f800f46c5dbb65ef6cdef2e91bdef
MD5 fc53a4cd22d7121b7ec886aa3ca811f3
BLAKE2b-256 9e3962bfa41cc43cec23543dbb5277e6024a783d24bbb08dd053aca1bc5aeaf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymycorr-0.2.1-py3-none-any.whl:

Publisher: publish.yml on Recons-Ltd/pymycorr

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