Metadata-Version: 2.4
Name: tt-data-store
Version: 1.0.0
Summary: Local working copy of a remote market-data archive
Author-email: Apurv Salunke <salunke.apurv7@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/Tiny-Trader/data-store
Project-URL: Repository, https://github.com/Tiny-Trader/data-store
Project-URL: Issues, https://github.com/Tiny-Trader/data-store/issues
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas
Requires-Dist: pyarrow
Provides-Extra: s3
Requires-Dist: boto3; extra == "s3"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: moto[s3]; extra == "dev"
Requires-Dist: boto3; extra == "dev"
Dynamic: license-file

# data-store

Canonical market data archive library — **v1.0**.

PyPI: [`tt-data-store`](https://pypi.org/project/tt-data-store/) · GitHub: [`Tiny-Trader/data-store`](https://github.com/Tiny-Trader/data-store)

## Idea

> **`MarketStore` is a local working copy of a remote market-data archive.**

```python
from tt_data_store import MarketStore

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

store.fetch()
store.pull()
df = store.get("NSE:INDEX:NIFTY", start="2026-01-01", end="2026-08-23")
store.instruments.create(exchange="NSE", instrument_type="INDEX", symbol="NIFTY")
store.write(instrument="NSE:INDEX:NIFTY", candles=df, source="upstox")
store.push()
store.status()
```

Full spec: [docs/api.md](docs/api.md).

## Install

```bash
pip install "tt-data-store[s3]"
# or from source:
uv pip install -e ".[dev,s3]"
```

## Layout

```text
data-store/
├── tt_data_store/   # package
├── tests/
└── docs/
```
