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. Downstream dependencies include mattress, knncolle, scranpy and singler, to name a few.
Developers can install assorthead via the usual pip commands:
pip install assortheadWe add all headers to the compiler's search path using the include_dirs argument in the setup() command in our setup.py:
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",
],
)
],
)See extern/manifest.csv for the list of vendored libraries and their versions.
Licenses are available in the directory returned by the licenses() function.