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 details)

Uploaded Source

File details

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

File metadata

  • Download URL: assorthead-0.0.11.tar.gz
  • Upload date:
  • Size: 1.5 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.11.tar.gz
Algorithm Hash digest
SHA256 fa915750f29ec5f51bf2f2216e7a4c2328fd698151000cd5c37d219104a45de5
MD5 5234aaaf682182cfabf27083d16c4253
BLAKE2b-256 0a657322066d15ec236f2cd1738f77004a9faa810ccdba902476397e1cd599a2

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