Skip to main content

Repackage python-flint to include arb and flint as shared libraries

Project description

flint-py

This is a repackaged version of python-flint by Fredrik Johansson. The original package requires that the user first installs Flint and Arb, which in turn require gmp and mpfr to be installed as well. This sometimes is problematic because not every distribution has suitable packages of these libraries.

The alternative is to prebuilt different versions of the required libraries and to ship them with the python package. This repository achieves exactly that goal by leveraging PEP 513 and the manylinux project.

So, if you were planning to depend on python-flint and build the required dependencies by hand, you could try flint-py instead and see if it just works.

How to build wheels?

For the future maintainers of flint-py, here is a rough outline of the wheel build procedure:

  1. Select the desired versions of the mpir, mpfr, flint and arb libraries in the ext directory. Note that mpir, mpfr and flint are submodules, so you could check out any commit or tag that you might like. As for the mpfr library, please download a release and manually commit it into git here.

  2. Build the docker image and run it as a container:

    cd flint-py
    docker build --tag flint-py
    docker run flint-py:latest
    
  3. Find out the id of the container and copy the wheels out of it:

    docker container ls -a #find the correct id
    docker cp <container_id>:/flint-py/wheelhouse ./wheelhouse
    
  4. At this point, the ./wheelhouse directory on your local filesystem should contain the wheels you need, e.g.

    ls ./wheelhouse
    flint_py-0.3.4-cp27-cp27mu-manylinux1_x86_64.whl  flint_py-0.3.4-cp35-cp35m-manylinux1_x86_64.whl
    flint_py-0.3.4-cp27-cp27m-manylinux1_x86_64.whl   flint_py-0.3.4-cp36-cp36m-manylinux1_x86_64.whl
    flint_py-0.3.4-cp34-cp34m-manylinux1_x86_64.whl   flint_py-0.3.4-cp37-cp37m-manylinux1_x86_64.whl
    
  5. Upload the wheels to pypi:

    twine upload ./wheelhouse/*
    

Common pitfalls

  1. If you are trying to debug the compilation of C libraries under ext, please keep in mind that when you switch to docker builds, your build artifacts from the local filesystem will be copied into the image. This could break the docker build in unexpected ways. To avoid that, you could either carefully remove the artifacts before running docker or you could conduct local builds in a copy of the project.

  2. Cython extensions are not automatically rebuilt, which causes some problems for Python2.7. Currently, the build_wheels.sh script removes the extension artifacts each time before cython is asked to rebuild them in docker.

  3. If you are running Arch Linux and your docker container seems to crash with error code 139 for any command that you run, enable vsyscall=emulate for your kernel. See https://wiki.archlinux.org/index.php/Docker#Installation

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

If you're not sure about the file name format, learn more about wheel file names.

flint_py-0.3.5-cp38-cp38-manylinux2010_x86_64.whl (20.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp37-cp37m-manylinux2010_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp37-cp37m-manylinux1_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.7m

flint_py-0.3.5-cp36-cp36m-manylinux2010_x86_64.whl (19.7 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp36-cp36m-manylinux1_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.6m

flint_py-0.3.5-cp35-cp35m-manylinux2010_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp35-cp35m-manylinux1_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.5m

flint_py-0.3.5-cp34-cp34m-manylinux2010_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.4mmanylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp34-cp34m-manylinux1_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.4m

flint_py-0.3.5-cp27-cp27mu-manylinux2010_x86_64.whl (19.3 MB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp27-cp27mu-manylinux1_x86_64.whl (17.4 MB view details)

Uploaded CPython 2.7mu

flint_py-0.3.5-cp27-cp27m-manylinux2010_x86_64.whl (19.3 MB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ x86-64

flint_py-0.3.5-cp27-cp27m-manylinux1_x86_64.whl (17.4 MB view details)

Uploaded CPython 2.7m

File details

Details for the file flint_py-0.3.5-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 20.2 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f2b7f08a379f1b7a0e05eab742a95ba9104c86516ed3b7071abd44dc0dd6e2ed
MD5 d7d04b479ea7c8257f51d3cb82e6f360
BLAKE2b-256 0d56d92a7bf50adfa722f04d0ea9850b713a29afbe1955ea6b26356415db5362

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 19.6 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4043fbea95df3181f699d0571706b403d2cacba4674e87f795b40028dec2e663
MD5 174ca6db1df38a3b1e32de34f729f1d0
BLAKE2b-256 bf6dcf9dabb8c0643cf1d25ab66783fa5d23ece06376541e719144f49462200b

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 17.6 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for flint_py-0.3.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 044bbd61faa36067795b48ed9f85255297f157e1ac650f8278219995df7fd819
MD5 d67051470e16eb8bbba8ee64e100de05
BLAKE2b-256 dbe5423430a7f5d4ad12eed0326ad124ead2d32c406acde039d98cd5af0ddea5

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 19.7 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2ba2ac63e00da6626ccac5af2ddb050cdf740d244ab9c36d6e3f0a53a718cb03
MD5 15762d799708cde8e229002a44474886
BLAKE2b-256 aedaf61b56dbc2ee901ef09165497c672dc5ed487c4a18dcfbbce7fcdca37074

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 17.6 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for flint_py-0.3.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6262c22177a2f1fa6461e3c527ca2242ffa1c10411fbfadee333e994e89798c9
MD5 773b4441889c21826759198a3de8b16c
BLAKE2b-256 7fe87d9c8199d05815893474515d5e1905c065c9ce5eda96b9c9eb19d13f3c17

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 19.6 MB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 971fcc853e6da32fe48cec5a21cef8c78767037caeb8cc3b8df1514cb1f02484
MD5 79164eaa80677dfa6bf24a2788aa2492
BLAKE2b-256 d37fc0fca2da634d9654e5c33c0e6c73a23f959bf548c76bd5094b01a144e1c5

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 17.6 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for flint_py-0.3.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 59703586ef7fbc4b37c1d5091ed9fd7033da79b3146d607fa42628a43a7b5d64
MD5 b39145b6d1070eaad61eef67f051d5fa
BLAKE2b-256 66b3d03e12bb57781939e455eb3c56c19659c726f63e6bd74039dc3281d7c575

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp34-cp34m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp34-cp34m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 19.6 MB
  • Tags: CPython 3.4m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp34-cp34m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 66089ad695d64b1a3ea6294647b673057053f6bc08c3618babfcd107558a84bd
MD5 d8a92e9fff0e29031fa508e7d2033776
BLAKE2b-256 f238cd7ea8ffbc843a3818159a0f53b5d971502a9b0bab176c443269bec3eb56

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 17.6 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for flint_py-0.3.5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2379adfdcf6ee2a12f6321c873413fff3b31604d7a872149be0804619eb118d4
MD5 bf57e8bdee5d11cb310952312c78fc6c
BLAKE2b-256 3de192f0990e16435df794492a3bfb31f028a7f7f521fa3f863440c33ac68e26

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp27-cp27mu-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp27-cp27mu-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 19.3 MB
  • Tags: CPython 2.7mu, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cad4e87815053af50a5106c1f8bcb8942c755c369457baa26dc641f8bce48dda
MD5 ad659b74596a69a036646efdb49300ea
BLAKE2b-256 73ed89382df029193e543d4882a3d7982414f6ae3010ed067bc6b670c51dc8ad

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 17.4 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for flint_py-0.3.5-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ceb8ecfbf29d9bd281083f704f91c326b29cbf9ccec508949c567fef0287db83
MD5 2d0ccbc8557d27e6e8d3a0e38e5f1b4e
BLAKE2b-256 94c14dd6498661459d448eda46ea3c15f61ab5c23a09c4707fb5a87be18d61f7

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp27-cp27m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp27-cp27m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 19.3 MB
  • Tags: CPython 2.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for flint_py-0.3.5-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d045f22168083314b4a2dc3cd5c26098ae155738ca4b4d9586f679453407f949
MD5 d7cb890fe4c71a7b7cab506d821e5481
BLAKE2b-256 d73b059cbec14c356a428cd2d1ae1ffe03244e04413bdc93350ab0c8a0ff8fd4

See more details on using hashes here.

File details

Details for the file flint_py-0.3.5-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: flint_py-0.3.5-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 17.4 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for flint_py-0.3.5-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 13fb7587e67111bdcfb402f334cd888f3db55a2c39414572d31b22477775e2a7
MD5 b1e63cf0f4ef6e5107522373a07153bd
BLAKE2b-256 92fdeb41c69ac3a4c822bb7dae48a722f331b37bd2a9fc111e98f83b8fe4b3bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page