Skip to main content

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 link Arrow::arrow_shared or Arrow::arrow_static.
  • Use pkg-config --cflags --libs arrow for non-CMake native builds.
  • For Python-extension builds, use pyarrow.get_include(), pyarrow.get_libraries(), and pyarrow.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arx_arrowcpp_sources-24.0.0.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arx_arrowcpp_sources-24.0.0-py3-none-any.whl (7.7 MB view details)

Uploaded Python 3

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

Hashes for arx_arrowcpp_sources-24.0.0.tar.gz
Algorithm Hash digest
SHA256 7143c2da00b22335208cfbaa77b07371925e0225bafeb3f616cd0cfe13bf5c60
MD5 a3d68aa49dac74febd4b4807f0614c74
BLAKE2b-256 67e95e4b4c1a48980eb0f13bc79113d45e946461153ffc434e106b13b4a3617f

See more details on using hashes here.

File details

Details for the file arx_arrowcpp_sources-24.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for arx_arrowcpp_sources-24.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f86db4b0c84e87718078707371102de577fe72ad0612eff4ef2191628a5466eb
MD5 b35d1d8d5d23c8f25933864583dc1656
BLAKE2b-256 7514d87f3391c2913e6998b5f833255959badf05996208a0534536ef4e7384d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page