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.0.1.tar.gz (23.4 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.0.1-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tt_data_store-1.0.1.tar.gz
  • Upload date:
  • Size: 23.4 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.0.1.tar.gz
Algorithm Hash digest
SHA256 0b131aa2d39bfb499481bd3d635e83aa213be8b7c2938751437d08f7a2216822
MD5 d01ea3bf1c55beb5f81dd1973bf567d6
BLAKE2b-256 7f63ee08074cd0f29d5ece9e796486e018ec41181b583970cf8e897b69665154

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_data_store-1.0.1.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.0.1-py3-none-any.whl.

File metadata

  • Download URL: tt_data_store-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 29.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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e84dd0d0327b4fc5fc4e97d9dd23345dc34358ce67608da7c45216bd11f663ec
MD5 99f7f2e7e9359beb3eaaaeb1c731dddc
BLAKE2b-256 5360eedbe13bf99f2722618f611555f93104e0d2fff960276a83ad77d3a43bda

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_data_store-1.0.1-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

1.1.0

2 files

This release

1.0.1 This release

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