A C++ library to speed up jpathgen computations
Project description
libjpathgen
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 |
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 |
Hashes for libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97e4f6f8fee405d67b1207f2c15407a8419b1f2d8f680b245b5a3e52fb695a7a |
|
MD5 | 2693a96db356f53cd6b5770778b06e76 |
|
BLAKE2b-256 | 0a15a247de2ae86f3256a73ef0c9e844f4a40d371392344b5807dee9cc712812 |
Hashes for libjpathgen-0.3.3-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad5ec0760439c58a52a3d99ad819a2d1552088e12a4af813b49aeb3d22eb853d |
|
MD5 | 0438cb2e53417de9807fb6da8a9c678d |
|
BLAKE2b-256 | 16a872e9f7510de9fd245e3d548fe0209878ef4d6664b038247c3dd04d0b8281 |
Hashes for libjpathgen-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 959dd69ad241904b1f3780b4d6227b38e4d97cb7d2cfaa5a76a972250ac2129c |
|
MD5 | ef2ae3db5a1a6db8b61ba1cae9f61876 |
|
BLAKE2b-256 | a7bbcab8fcbb33f50fd0ea8e78422a97d27a4e65f4d01712389e5132a798c024 |
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 |
Hashes for libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bef88e4b64f9102f03358682b9a9a532b37736eea87339b8976ad47deb7fc423 |
|
MD5 | c117e4e7c239b74a052d7383eed749e1 |
|
BLAKE2b-256 | 40b18759e5cf8008e18297661398ed9dcb2c4410fd524df0190f53a1db36b101 |
Hashes for libjpathgen-0.3.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cef8124d5e5ef37084785be097dafa4c318890af5780dff84f25816298b35b79 |
|
MD5 | d6726563fcc34412b98d9bd4a6a410a4 |
|
BLAKE2b-256 | 812b684e0cc2c1e762cbe928f4eac3f02a28bd60dc0bb80fd8ef75d3179e0fd2 |
Hashes for libjpathgen-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88a904af9002162739dd2a7e64b88190a8080492b0cb20050bad50a8e2471ded |
|
MD5 | 4973df096c1d33f1f9534a7dd11412a1 |
|
BLAKE2b-256 | e176b3adb7f87e56595940a5e5d11c93d057122f6f3872ddf62a44077888dd9f |
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 |
Hashes for libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fcb10e6389fef19bcec05b1e1ca3bf22424e6ecc42a7b0852777a12f79be009 |
|
MD5 | 094be67d045afadb50d59710eeda8422 |
|
BLAKE2b-256 | 89092729e85d15673e6bbe0b104fcc84a76fb7f2d6a7b40a3052f04d456c12a1 |
Hashes for libjpathgen-0.3.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a8d0fdcd5c7b1985cf772c6414f07084a8bbc0d402cdfc2ec5892f0de6e3dfe |
|
MD5 | 0735ab087cdfa09fb45c9d01fa111fa8 |
|
BLAKE2b-256 | 5fd3d60eeaa89b02be270babe2e0de694adeafd8f1038dcaede980a1f1820e97 |
Hashes for libjpathgen-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44ede97898ebd618ae4d99829aab3b1f7d3199354625d6443832d18ec94e928f |
|
MD5 | 79501c7201361f5c6674a6c40429fa70 |
|
BLAKE2b-256 | 64dd3e3a1434bd5bf651265bda2f38a587f030c7360bab9d62f9deb032b946be |
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 |