Skip to main content

Assorted C++ headers

Project description

Project generated with PyScaffold PyPI-Server Unit tests

Assorted C++ headers

Overview

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.

Quick start

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.

Available libraries

Name Description
byteme Lightweight file readers/writers
aarand Random distribution functions
powerit Power iterations
kmeans Hartigan-Wong or Lloyd k-means
Annoy Approximate nearest neighbor search
hnswlib Approximate nearest neighbor search
knncolle Common interface to neighbor search algorithms
tatami Interface for matrix representations
qdtsne Visualiation with t-SNE
umappp Visualization with UMAP
Eigen Matrix operations and linear algebra
irlba Approximate SVD via IRLBA
WeightedLowess Trend fitting via weighted LOWESS
mnncorrect Batch correction with MNNs

The exact versions of each library can be found in extern/fetch.sh.

Note

This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.

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

assorthead-0.0.11.tar.gz (1.5 MB view hashes)

Uploaded Source

Supported by

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