Bundled Apache Arrow C++ source release for the Arx ecosystem
Project description
arx-arrowcpp-sources
arx-arrowcpp-sources packages a pinned Apache Arrow C++ source release for the
Arx ecosystem.
It does not ship compiled Arrow binaries. Instead, it ships:
- the upstream Apache Arrow
cpp/source tree - the upstream Apache Arrow
format/FlatBuffers definitions used by C++ - upstream release metadata, license, and notice files
- Python helper functions to locate those files from build systems
The package also depends on pyarrow >=24.0.0,<25.0.0 so Arx projects can use
the matching Python runtime package alongside the vendored source-release
layout.
Should you bundle Arrow C++ sources?
Usually, no. Prefer these integration paths when possible:
- Use an installed Arrow C++ package with CMake's
find_package(Arrow REQUIRED)and linkArrow::arrow_sharedorArrow::arrow_static. - Use
pkg-config --cflags --libs arrowfor non-CMake native builds. - For Python-extension builds, use
pyarrow.get_include(),pyarrow.get_libraries(), andpyarrow.get_library_dirs().
This package exists for Arx workflows that need a reproducible, Python-package addressable copy of the Arrow C++ source release.
Usage
from arx_arrowcpp_sources import (
bundled_arrowcpp_version,
get_cmake_dir,
get_cpp_dir,
get_header_files,
get_include_dir,
get_source_files,
)
print(bundled_arrowcpp_version())
print(get_cpp_dir())
print(get_include_dir())
print(get_cmake_dir())
print(get_header_files())
print(get_source_files())
Build behavior
Run python scripts/build_bundle.py before poetry build. The bundle script
fetches the pinned Apache Arrow source release, verifies its SHA256 checksum,
and stores the C++ source subset under src/arx_arrowcpp_sources/vendor/.
The vendored layout is intentionally close to the upstream release layout:
src/arx_arrowcpp_sources/vendor/
├── cpp/
├── format/
├── CHANGELOG.md
├── LICENSE.txt
├── NOTICE.txt
├── README.md
└── bundle-metadata.json
Development
python scripts/build_bundle.py
pytest -q
ruff check .
mypy src tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arx_arrowcpp_sources-24.0.0.tar.gz.
File metadata
- Download URL: arx_arrowcpp_sources-24.0.0.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.4 CPython/3.13.13 Linux/6.17.0-1010-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7143c2da00b22335208cfbaa77b07371925e0225bafeb3f616cd0cfe13bf5c60
|
|
| MD5 |
a3d68aa49dac74febd4b4807f0614c74
|
|
| BLAKE2b-256 |
67e95e4b4c1a48980eb0f13bc79113d45e946461153ffc434e106b13b4a3617f
|
File details
Details for the file arx_arrowcpp_sources-24.0.0-py3-none-any.whl.
File metadata
- Download URL: arx_arrowcpp_sources-24.0.0-py3-none-any.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.4 CPython/3.13.13 Linux/6.17.0-1010-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f86db4b0c84e87718078707371102de577fe72ad0612eff4ef2191628a5466eb
|
|
| MD5 |
b35d1d8d5d23c8f25933864583dc1656
|
|
| BLAKE2b-256 |
7514d87f3391c2913e6998b5f833255959badf05996208a0534536ef4e7384d5
|