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

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

Uploaded Source

File details

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

File metadata

  • Download URL: assorthead-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 293ba10b1f2073386de641be0f92b80c8b232bf3773798bd20b0356334701563
MD5 2bb8200cc3b2c8fcbf27f35cda5db309
BLAKE2b-256 c817e755d725f65546c1d9e2d9cf03f237edc6c0bf6a9b4bb1a61e48a6fb83e4

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