Skip to main content

A C++ library to speed up jpathgen computations

Project description

libjpathgen

CI codecov

A fast 2D cubeature library written in C++, with Python bindings.

Installation

If you're simply looking for python, run pip install libjpathgen.

Else, to install the C++ library run

pip install git+https://github.com/iwishiwasaneagle/libjpathgen.git
cd libjpathgen
cmake \
    -B build
    -DCMAKE_BUILD_TYPE=Release \
    .
cmake \
    --build build \
    --target install

With conda, be sure to add -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_PREFIX_PATH=${CONDA_PREFIX} to ensure that it is correctly installed in the env.

Dependencies

cubpackpp

Ensure cubpackpp>=1.0.0 is installed from source.

Eigen3

Please see the official documentation.

libgeos

The minimum supported version of libgeos is 3.11.1. This means that it must be built from source in ubuntu 20.4 as even ppa:ubuntugis/ubuntugis-unstable cannot help here (3.10.2 is the maximum installable via apt).

pybind

The minimum version of pybind11 depends on the version of python. It is advised to either install from source or using pip (pip install "pybind11[global]>=2.11.0").

WARNING: Ubuntu 22.04 only ships with pybind11@v2.9.1.

Python pybind11-dev
3.10 2.9.0
3.11 2.10.0
3.12 2.11.0

Run tests

Catch2>=v3.4.0 is required (see CI.yml)

cmake -B build \
  -DJPATHGEN_ENABLE_UNIT_TESTING=ON \
  -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j $(nproc)
ctest --test-dir build

With coverage

Add -DJPATHGEN_ENABLE_CODE_COVERAGE=ON to the initial cmake call.

lcov --capture --directory build --output-file coverage.info
lcov --remove coverage.info --output-file coverage.info '/usr/*' '*/test/*' '*/extern/*' '*/geos/*'
genhtml coverage.info -o build/html
firefox build/html/index.html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

libjpathgen-0.3.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

libjpathgen-0.3.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_i686.whl (2.5 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

libjpathgen-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

libjpathgen-0.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_i686.whl (2.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

libjpathgen-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

libjpathgen-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_i686.whl (2.5 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

libjpathgen-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

libjpathgen-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

File details

Details for the file libjpathgen-0.3.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 880e738ccff0cfd67e2c221da929f5e6800a1276e5b10d888a4c1063684135e2
MD5 38757c1109f6016908e68e150acefc09
BLAKE2b-256 17c55a5c9d5ffe7f0a0adbcc01a3758c1f582b0e8a619781507a5284733cd7b2

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 258a351be71d6e32be5ba18bd031901248d0a24d6aa566ee004a1a24849b5bc3
MD5 76677956b681ed25b52930a2d9efec44
BLAKE2b-256 03596237325b8ec65c7d0a54307454123ecabb42ec38b7c863ffa5344a1484ef

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 97e4f6f8fee405d67b1207f2c15407a8419b1f2d8f680b245b5a3e52fb695a7a
MD5 2693a96db356f53cd6b5770778b06e76
BLAKE2b-256 0a15a247de2ae86f3256a73ef0c9e844f4a40d371392344b5807dee9cc712812

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ad5ec0760439c58a52a3d99ad819a2d1552088e12a4af813b49aeb3d22eb853d
MD5 0438cb2e53417de9807fb6da8a9c678d
BLAKE2b-256 16a872e9f7510de9fd245e3d548fe0209878ef4d6664b038247c3dd04d0b8281

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 959dd69ad241904b1f3780b4d6227b38e4d97cb7d2cfaa5a76a972250ac2129c
MD5 ef2ae3db5a1a6db8b61ba1cae9f61876
BLAKE2b-256 a7bbcab8fcbb33f50fd0ea8e78422a97d27a4e65f4d01712389e5132a798c024

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fff1d7b10f7ae9fc27c00153190e6aaeace8c2cd3bc3a63de6662cb11e942962
MD5 4624a527d874c7dbd29b40c1b3cba191
BLAKE2b-256 0753557337169fe609cece0c581611c0527fb750dab701dd2ebffabd3e907339

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 bef88e4b64f9102f03358682b9a9a532b37736eea87339b8976ad47deb7fc423
MD5 c117e4e7c239b74a052d7383eed749e1
BLAKE2b-256 40b18759e5cf8008e18297661398ed9dcb2c4410fd524df0190f53a1db36b101

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 cef8124d5e5ef37084785be097dafa4c318890af5780dff84f25816298b35b79
MD5 d6726563fcc34412b98d9bd4a6a410a4
BLAKE2b-256 812b684e0cc2c1e762cbe928f4eac3f02a28bd60dc0bb80fd8ef75d3179e0fd2

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88a904af9002162739dd2a7e64b88190a8080492b0cb20050bad50a8e2471ded
MD5 4973df096c1d33f1f9534a7dd11412a1
BLAKE2b-256 e176b3adb7f87e56595940a5e5d11c93d057122f6f3872ddf62a44077888dd9f

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 856c25844f08a75df3b66086d018548c2c7c14de9a6ceecf588849a1557a42de
MD5 eec5a44a0a6e0fe2b698d0ca8aa946a0
BLAKE2b-256 3532de599956e712ed995e1d1b8a95e8a578181f550c7d2ea1922afb1678101b

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3fcb10e6389fef19bcec05b1e1ca3bf22424e6ecc42a7b0852777a12f79be009
MD5 094be67d045afadb50d59710eeda8422
BLAKE2b-256 89092729e85d15673e6bbe0b104fcc84a76fb7f2d6a7b40a3052f04d456c12a1

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 1a8d0fdcd5c7b1985cf772c6414f07084a8bbc0d402cdfc2ec5892f0de6e3dfe
MD5 0735ab087cdfa09fb45c9d01fa111fa8
BLAKE2b-256 5fd3d60eeaa89b02be270babe2e0de694adeafd8f1038dcaede980a1f1820e97

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 44ede97898ebd618ae4d99829aab3b1f7d3199354625d6443832d18ec94e928f
MD5 79501c7201361f5c6674a6c40429fa70
BLAKE2b-256 64dd3e3a1434bd5bf651265bda2f38a587f030c7360bab9d62f9deb032b946be

See more details on using hashes here.

File details

Details for the file libjpathgen-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libjpathgen-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7b4318cc19e683901c179d1f92469b80e4c0c495a928451c74155ab4a55c8cce
MD5 46f1ca4628f07f17cb8f0529f9538b95
BLAKE2b-256 ab3d1e3fc25e4ef6fa886a3f9603f22b0a23740a3b0ec1f570740d21cef49ef8

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