Skip to main content

tt-data-store

Work with a shared market-data archive as if it were a local folder — backed by S3.

tt-data-store on PyPI · GitHub

New here? Start with the usage guide.


The idea

You have candle data (OHLCV) stored as Parquet files on S3. Multiple people or jobs need to read and write that data without stepping on each other.

MarketStore gives you a local working copy of the archive:

  • Open a folder → catalogue syncs from S3 (instruments + file list)
  • Call get() → downloads only the Parquet you need
  • Call write() + push() → publish your changes for everyone else

You never manage S3 keys or checksums by hand. The library handles catalogue sync, downloads, and publishing.


Install

pip install "tt-data-store[s3]"

Python 3.11+. The [s3] extra installs boto3.

You also need AWS credentials with access to your archive bucket — environment variables, ~/.aws/credentials, or an IAM role.


30-second example

from tt_data_store import MarketStore

store = MarketStore(
    "./data",
    remote="s3://my-bucket/archive",
    region="us-east-1",
)

# Read
df = store.get("NSE:INDEX:NIFTY", start="2026-01-01", end="2026-01-31")

# Write (new data you collected)
store.instruments.create(exchange="NSE", instrument_type="INDEX", symbol="NIFTY")
store.write(instrument="NSE:INDEX:NIFTY", candles=df, source="my-collector")
store.push()

That's the whole workflow: open → read or write → push.


Documentation

Guide What you'll learn
Usage guide Concepts, setup, reading, writing, sync, troubleshooting
API reference Method signatures, return types, errors

When to use what

You want to… Call
Check if anyone else published changes store.fetch()
Catch up with the remote catalogue store.pull()
Load candles into a DataFrame store.get(instrument, start=..., end=...)
Save new candles locally store.write(instrument=..., candles=df, source=...)
Share your changes with others store.push()
See what's out of sync store.status()

See the usage guide for when to call each one and what happens under the hood.


Development

git clone https://github.com/Tiny-Trader/data-store.git
cd data-store
uv sync --extra dev --extra s3
uv run pytest

License

Apache-2.0 — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tt_data_store-1.1.0.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

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

tt_data_store-1.1.0-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file tt_data_store-1.1.0.tar.gz.

File metadata

  • Download URL: tt_data_store-1.1.0.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tt_data_store-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1b151cb7fab4afb7b27139aa05fd82a39bb4bf95cd878c27743b05e1860938f0
MD5 52a3865f3f3f6af91da86e74cd2ecd2e
BLAKE2b-256 e61938fd4eb1202bee3f6f6dcd09c8c033bd7b5d9525aaf163f0c7054501ece1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_data_store-1.1.0.tar.gz:

Publisher: publish.yml on Tiny-Trader/data-store

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

File details

Details for the file tt_data_store-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: tt_data_store-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tt_data_store-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8e7cbdf695699b3ca7b0d15dcd1ee2b132c4050e6189fcda4d18f7eb9ebf53a
MD5 b00c74182c044296a61062a8e7a6c871
BLAKE2b-256 b537eb65e70978382c084ca392be3d584284ad0fc6c899a3c917706093015505

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_data_store-1.1.0-py3-none-any.whl:

Publisher: publish.yml on Tiny-Trader/data-store

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

Release history Release notifications | RSS feed

2.0.0

2 files

This release

1.1.0 This release

2 files

1.0.1

2 files

1.0.0

2 files

0.1.0

2 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