Metadata-Version: 2.4
Name: arx-nanoarrow-sources
Version: 0.8.0.post1
Summary: Bundled nanoarrow C headers and sources for the Arx ecosystem
License-Expression: Apache-2.0
License-File: LICENSE
Author: Ivan Ogasawara
Author-email: ivan.ogasawara@gmail.com
Requires-Python: >=3.10,<4
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: nanoarrow (>=0.8.0,<0.9.0)
Description-Content-Type: text/markdown

# arx-nanoarrow-sources

`arx-nanoarrow-sources` packages the generated nanoarrow C bundle for the Arx
ecosystem.

It does not ship compiled binaries. Instead, it ships:

- generated `nanoarrow.h` and `nanoarrow.hpp`
- generated `nanoarrow.c`
- upstream bundle metadata and license files
- Python helper functions to locate those files from build systems

The package also depends on the Python `nanoarrow` package so projects can use
the runtime Python bindings and the bundled C sources together.

## Usage

```python
from arx_nanoarrow_sources import (
    bundled_nanoarrow_version,
    get_header_files,
    get_include_dir,
    get_source_files,
)

print(bundled_nanoarrow_version())
print(get_include_dir())
print(get_header_files())
print(get_source_files())
```

## Build behavior

Run `python scripts/build_bundle.py` before `poetry build`. The bundle script
downloads the pinned upstream nanoarrow source release, runs the official
upstream bundler, and stores the generated output under
`src/arx_nanoarrow_sources/vendor/`.

## Development

```bash
python scripts/build_bundle.py
pytest -q
ruff check .
mypy src tests
```

