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 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-09T04:22:53.000Z (11 months ago)
- Last Synced: 2025-09-17T22:52:02.520Z (5 months ago)
- Language: Python
- Size: 36.1 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.