https://github.com/biocpy/assorthead
Assorted C++ headers, vendored into a Python package.
https://github.com/biocpy/assorthead
Last synced: 3 months ago
JSON representation
Assorted C++ headers, vendored into a Python package.
- Host: GitHub
- URL: https://github.com/biocpy/assorthead
- Owner: BiocPy
- License: mit
- Created: 2023-08-31T17:57:54.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-08T08:20:39.000Z (4 months ago)
- Last Synced: 2025-01-08T16:29:44.707Z (4 months ago)
- Language: Python
- Size: 52.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Authors: AUTHORS.md
Awesome Lists containing this project
README
[](https://pypi.org/project/assorthead/)
# Assorted C++ headers
**assorthead** vendors an assortment of header-only C++ libraries for compilation of downstream packages.
This centralizes the acquisition and versioning of these libraries for a smoother development experience.
It is primarily intended for the various [**BiocPy**](https://github.com/BiocPy) packages with C++ extensions,
e.g., [**scranpy**](https://github.com/BiocPy/scranpy), [**singler**](https://github.com/BiocPy/singler).Developers can install **assorthead** via the usual `pip` commands:
```shell
pip install assorthead
```We can then add all headers to the compiler's search path,
using the `include_dirs` argument in the `setup()` command in our `setup.py`:```python
setup(
use_scm_version={"version_scheme": "no-guess-dev"},
ext_modules=[
Extension(
"foo.core",
[
"src/lib/foo.cpp",
"src/lib/bar.cpp",
],
include_dirs=[
assorthead.includes(),
],
language="c++",
extra_compile_args=[
"-std=c++17",
],
)
],
)
```Of course, this is only relevant for developers; all going well, end users should never be aware of these details.
See [`extern/manifest.csv`](extern/manifest.csv) for the list of vendored libraries and their versions.