Skip to content

Assorted C++ headers, vendored into a Python package.

License

Notifications You must be signed in to change notification settings

BiocPy/assorthead

Repository files navigation

PyPI-Server Unit tests

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 packages with C++ extensions, e.g., scranpy, singler.

Developers can install assorthead via the usual pip commands:

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:

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 for the list of vendored libraries and their versions.

About

Assorted C++ headers, vendored into a Python package.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages