Cython interface for C++ primecount library
Project description
Primecount Cython interface
WIP on splitting out primecount Sage spkg with its cython interface
testing:
- Install primecount C++ library
cd /tmp/
git clone https://github.com/kimwalisch/primecount
cd primecount
cmake . -DBUILD_SHARED_LIBS=ON
make -j
sudo make install
sudo ldconfig # linux only
- in this repo, do
python3 setup.py install --user
python3
and
>>> import primecountpy as primecount
>>> primecount.pi(1000)
Building dependencies without root
set the desired location, e.g. export WDIR=$HOME/tmp
install libprimesieve as follows:
cd primesieve
cmake -DBUILD_STATIC_LIBS=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$WDIR .
make -j install # no sudo!
install primecount as follows
cmake -DBUILD_STATIC_LIBS=OFF -DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=$WDIR \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_INSTALL_RPATH=$WDIR \
-DCMAKE_SKIP_BUILD_RPATH=FALSE -DBUILD_LIBPRIMESIEVE=OFF \
-DCMAKE_FIND_ROOT_PATH=$WDIR/lib/cmake \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY .
make -j install # no sudo!
After this, build/install the package with pip
pip3 install -e . --prefix=~/.local --global-option=build_ext --global-option="--library-dirs=$WDIR" --global-option="--rpath=$WDIR"
At this point, you can test it with pytest
(see below for details on pytest
)
pytest --doctest-cython primecountpy -v
Testing with pytest
install pre-requisites:
pip3 install pytest pytest-cython
Clean up, and build in-place
git clean -fdx
python3 setup.py build_ext --inplace
pytest --doctest-cython primecountpy -v
TODO:
make it ready for PyPI
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 Distribution
primecountpy-0.0.0.tar.gz
(139.5 kB
view hashes)
Built Distributions
Close
Hashes for primecountpy-0.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1103d0b41b0a87e7e11121481e31044eecd40992d30098bd172c6193919ec243 |
|
MD5 | 0de6177cfc280211c0f096e32fb7a068 |
|
BLAKE2b-256 | d2da3751013219e094468aba36a69fdbee10ebc528a774278ef498fb060cb2f3 |
Close
Hashes for primecountpy-0.0.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3232976a3ebef5b54d57d429a4e0df14607da654af8ac0735224f91381e50083 |
|
MD5 | e8a6fc4753819d52152dff6973330572 |
|
BLAKE2b-256 | 785be6000856b0275fb30058360fa52d734582d34f93a348d43738b6ca4d9390 |
Close
Hashes for primecountpy-0.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fcc95251f7e70629680d7facdf5e743c8615e7bf38a02b75aaa6712a8363b20 |
|
MD5 | aba6aa45684e8414e4f0184bb9f1f7fc |
|
BLAKE2b-256 | fcb5fc3ce43ff447b35108f43e3f8bfd9af87d12b14b9a09a7f00fb0ff707dbb |
Close
Hashes for primecountpy-0.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1c2491e406b1638ffc4abd5b4847bac3aec3dc0c56c851ce52be2a4b75b2a06 |
|
MD5 | f35cb640cf8213ccc4bcda454243a8a6 |
|
BLAKE2b-256 | 0fce188aa9dafb8518427348920ea41d3b14b3f60ddf8ca5b21f95e94c2aa93a |
Close
Hashes for primecountpy-0.0.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d0a91bbd8ac8ae80588dabb8f3e89102ac5f9de18d98b5da08c24117cdf38be |
|
MD5 | 8345b4f0d421b63d01bd141ac62cfdfd |
|
BLAKE2b-256 | 0029cae9d246f7fe89922310e530123f38a7d6678a51068f61ce2015e93f5d5f |
Close
Hashes for primecountpy-0.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c44b594392c8f36c30dc65a3a79bf86ee0d9a59688b31077f101cd1f4e68d1a2 |
|
MD5 | 136c5acf5894df6cade5b460c8613a16 |
|
BLAKE2b-256 | ce294bfb20cdc254db3b70431cde6a5c36d637df60d8575e390a472102d0a182 |
Close
Hashes for primecountpy-0.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2734047a506f5a95952001d66066f1b11bb409929a1315ac5c9ff2adf239d85a |
|
MD5 | 7e34589cd8a50cc5c32a7c378927bc30 |
|
BLAKE2b-256 | a668b3e4b1045faa5f95c5346747e39718e6839a7869661617d91bdee25ef942 |
Close
Hashes for primecountpy-0.0.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 856c8d65b446fbd7190dca3e174eaf04826a4ac11cc7c9c173f15e9e8bd36535 |
|
MD5 | ba62c73ff3bf70b2f7260b49d8073b93 |
|
BLAKE2b-256 | 6fa8547f2478f74f3ec1babd8f443e7dc3e0188f1305119be8d643f16f96b34b |
Close
Hashes for primecountpy-0.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 753a565df914a9f95e8b20388bb3dcf321b0d980f6943ac4ddca1d8fc6c911b0 |
|
MD5 | 4638bfa8e15d1cb8b4e769b73b5f3b20 |
|
BLAKE2b-256 | 04a66ccf215fcc44ef3dcbaaf808b5c57d6cc886455c05febaae00fc44134293 |
Close
Hashes for primecountpy-0.0.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d1c4650b3e8866be0650b2492cd6b882b9c1a5652640b0a06c4bef3bc4ed3b5 |
|
MD5 | ae9812c4b9ddd96ae3bcbf7570c41de1 |
|
BLAKE2b-256 | 260f67be0f4b4ae97ae408311a9a982697fe60e232e0926b5dbe847740d60063 |
Close
Hashes for primecountpy-0.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f122849eebc3d8e3502c710b66e1493f19b766fbf01ef32a9b1fcd0296f7ef84 |
|
MD5 | bfd6772edc8e6b3c79b2efbef7fcdb07 |
|
BLAKE2b-256 | 16df4245c791bc2bd28d7af9e30db94fa755c8bef1e5145cbd554bc5677d95e8 |
Close
Hashes for primecountpy-0.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 751d6ded4dc626a93e5e82fb58c11e13b6c5447eeed613a4701e887deb04148f |
|
MD5 | 6f846dadb03132f073b3d31cfa5522e0 |
|
BLAKE2b-256 | b1b87ea78b0aa01ea9ac3d1f0b175e40b21e8282a40ad9bf2b3360cd9e74cb46 |
Close
Hashes for primecountpy-0.0.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ccfd0e9d223de796db93a32b9f6261c39cf54b095eb60f4c8c0968564062e81 |
|
MD5 | 03b31f71e59755e7d6ddff67dc3b695c |
|
BLAKE2b-256 | cac86fa03fc3dbef2853dc4ce908fc8ed2476fa1dbf5f24d52f136ca662e6347 |
Close
Hashes for primecountpy-0.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e71c62bda747f85627333a591d6596c4f9d329275d35858a6c8c92ace1de8b8 |
|
MD5 | 131d3114bb05b8a245dd0f18e5bb53a1 |
|
BLAKE2b-256 | 2d1a5b44fa8d690025d708d2c421a7723d1aac93f7bcc12a8b3027d93e9f3d49 |
Close
Hashes for primecountpy-0.0.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f009d2839928826fdd8716e85e662de8f60e204368dd98fe82b298707b3edb8c |
|
MD5 | d35ed666756177506fccb6519f95e1c7 |
|
BLAKE2b-256 | 85a1a178d99dd44b2f416a0211ce6cff6002983b282b96d3dc2d767070ec01f0 |
Close
Hashes for primecountpy-0.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbaee091f8f6bcdeab0caac6d5e92b2b96b2ee862e63f3bce928fcdd6f14b03a |
|
MD5 | 86cb3ba6880aa1ed0989a08404c0367b |
|
BLAKE2b-256 | cd8a1e21067efe42e28727aba9cff96e89b981ff813f137872448b42af20b30c |
Close
Hashes for primecountpy-0.0.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aab2c62f4b67d2306eada2802e0927a468d4d15cb15d70d41eb09195ce33f2d3 |
|
MD5 | b757cf287d3573a15993c9badbed5233 |
|
BLAKE2b-256 | e973b1d01590d1b8bd5fb679ba40570f5d2e4a3533ccad1c17e508213376c42d |
Close
Hashes for primecountpy-0.0.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 756390e4658fcf813fd10b5b7c5a71f5fc2e587322ba5110ce5a9f1f314737da |
|
MD5 | aeb8379dd0adc8479d61277aae2a911c |
|
BLAKE2b-256 | 37fb1846e7107e0134726026edef71765e1976e24a46b73e185ea25fb8d111b8 |
Close
Hashes for primecountpy-0.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3797a0d80dc7eb8b134ae17c93c6f36dc9eddb9aeaf29b1531fde3aefc7267df |
|
MD5 | 37c03071e17c38177d841f6057e5c94d |
|
BLAKE2b-256 | 047d24e172b6185ab047d478bb189606acb408449f63212938241c44056be5e9 |
Close
Hashes for primecountpy-0.0.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cdaae1048c97eb44d962f427c11214d430978c33e0ecbc2324ff38677c76808 |
|
MD5 | 768fd1549a462d65d0c5a42497d59d7b |
|
BLAKE2b-256 | 09fe4c5dda337f537ef50c0b62cddc2b47f5cc4711786c085f34ad56d1f8fff0 |
Close
Hashes for primecountpy-0.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b3830f4e73aa32023e07096688b29aa82b42448a1b571288604e7fadd84d378 |
|
MD5 | 18259d5b635b5f5b48c3e12a516446a6 |
|
BLAKE2b-256 | 2f803acfa0fb779173a526f3a11ef918bf62c4eb80d78fddc7178ad24ee3e7dd |
Close
Hashes for primecountpy-0.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d56065fb353b4af22a30a4438b14d2cd078f87036e429ff97394945f82dfd21b |
|
MD5 | 1aced57e26004ddb9bd90b38eb43b9be |
|
BLAKE2b-256 | 2710825f5f9e3b957615e5b392e8baadb7437e5a7dd07d48194dd1568b0ed60b |
Close
Hashes for primecountpy-0.0.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f63a9ebd16ce0b6168408501dbc7c899cb74a94c8f2bff07dc44ce6a85b6f349 |
|
MD5 | 45f23c9e3a091bd4252bdaa017a5118a |
|
BLAKE2b-256 | b3f3ca26f8c233a28f97ae0d94253cee3b6465a0510f40ce556cb6ceb9ecc752 |
Close
Hashes for primecountpy-0.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9306adfa4f2644133a26e53b82c46422ec3f0ca938c9b208027ee97cd34e541 |
|
MD5 | 6887512c968d901857d29df829b647ed |
|
BLAKE2b-256 | 2f07fb7922727294df25df6629c443c946737492d5516e4453a0f8f1b1a7799b |
Close
Hashes for primecountpy-0.0.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21a13c9d68e834798920d977492563e20c3c6d7aa34828ad94c65dfe20a1240d |
|
MD5 | 0e304c7cf31238bb635eb2989076d5a0 |
|
BLAKE2b-256 | 9c5d9669ca765a1ba544bb4370ba92102f2daef763b3e1c2b7dd859b5be76696 |
Close
Hashes for primecountpy-0.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0dfb3c7c5cc0fb77237f409881be0326dbcaef8382d952fe0553269b4aa77e6 |
|
MD5 | 7268185cba479f977eddeca427b123d2 |
|
BLAKE2b-256 | a3df1dc7248efea80314408c6ef1024e0a4e4506078f44004c6fb5fe09571ab5 |