Metadata-Version: 2.4
Name: lastra-convert
Version: 0.8.0
Summary: Python CLI to convert between Lastra and Parquet/CSV/Arrow. Mirror of QTSurfer/lastra-convert (Java).
Project-URL: Homepage, https://github.com/QTSurfer/lastra-convert-py
Project-URL: Documentation, https://github.com/QTSurfer/lastra-convert-py#readme
Project-URL: Repository, https://github.com/QTSurfer/lastra-convert-py
Project-URL: Issues, https://github.com/QTSurfer/lastra-convert-py/issues
Project-URL: Reference (Java), https://github.com/QTSurfer/lastra-convert
Project-URL: Format spec, https://github.com/QTSurfer/lastra-py/blob/main/FORMAT.md
Author: Wualabs LTD
License: Apache-2.0
License-File: LICENSE
Keywords: arrow,converter,csv,lastra,parquet,time-series
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Requires-Dist: lastra>=0.8
Requires-Dist: pandas>=2.2
Requires-Dist: pyarrow>=18
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

<p align="center">
  <img src="logo.svg" alt="Lastra" width="420">
</p>

<p align="center">
  <a href="https://github.com/QTSurfer/lastra-convert-py/actions/workflows/ci.yml"><img src="https://github.com/QTSurfer/lastra-convert-py/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
  <a href="https://pypi.org/project/lastra-convert/"><img src="https://img.shields.io/pypi/v/lastra-convert" alt="PyPI"></a>
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a>
</p>

<p align="center">
  Python CLI to convert between <a href="https://github.com/QTSurfer/lastra-py">Lastra</a> and Parquet / CSV / Arrow.<br>
  Mirror of the Java <a href="https://github.com/QTSurfer/lastra-convert">lastra-convert</a> tool.
</p>

---

## Status

🚧 **Pre-release** — repository scaffold while we port the converter from Java. The first published release will be `0.8.0` to align with `lastra-java`.

## Install (planned)

```bash
pip install lastra-convert
```

## Usage (planned CLI)

```bash
# Lastra → Parquet
lastra2parquet ticks.lastra ticks.parquet

# Parquet → Lastra (auto-pick best codec per column)
parquet2lastra ticks.parquet ticks.lastra --best

# CSV → Lastra (with explicit schema)
csv2lastra ticks.csv ticks.lastra --schema "ts:long:delta_varint,close:double:alp"

# Lastra → Arrow IPC
lastra2arrow ticks.lastra ticks.arrow
```

## Library API (planned)

```python
from lastra_convert import lastra_to_parquet, parquet_to_lastra

lastra_to_parquet("ticks.lastra", "ticks.parquet")
parquet_to_lastra("ticks.parquet", "ticks.lastra", best=True)
```

## Reference implementation

This package mirrors [QTSurfer/lastra-convert](https://github.com/QTSurfer/lastra-convert) (Java, JVM CLI). Output is byte-equivalent for the same input + codec choices.

## License

Copyright 2026 Wualabs LTD. Apache License 2.0 — see [LICENSE](LICENSE).
