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.10.tar.gz (1.4 MB view details)

Uploaded Source

File details

Details for the file assorthead-0.0.10.tar.gz.

File metadata

  • Download URL: assorthead-0.0.10.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.5

File hashes

Hashes for assorthead-0.0.10.tar.gz
Algorithm Hash digest
SHA256 abd42d6546e9e05100abf291e59585f9db133e4fe7a0c8be5130815cf65d360e
MD5 af14f76e5839e8335feed9bc22e894a7
BLAKE2b-256 a9b7917518031fc9198f9351e244928d489582aa4926522ad702490bf1ffe9bc

See more details on using hashes here.

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