Skip to main content

No project description provided

Project description

Python Bindings

How to install this

This project is currently work in progress, and is to be considered for all intents and porposes an alpha version.

To install the latest (alpha) release, run the following:

pip install ensmallen

Compile the bindings

The project uses PyO3 and maturin. You need nightly rust in order to compile PyO3. This could be done by running:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh --default-toolchain nightly --profile default -y

Then we need to install maturin with:

cargo install maturin

And finally we can create the Wheels with:

maturin build --release

The wheels will be located in ./target/wheels/.

Compile the bindings for multiple Python versions

By default maturin will build for the installed python version.

To install other Python versions just run:

wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz
tar -xf Python-${PYTHON_VERSION}.tar.xz
(cd Python-${PYTHON_VERSION}; ./configure --enable-optimizations; make -j$(nproc); make -j$(nproc) install)

Where ${PYTHON_VERSION} is the choosen version, such as 3.8.3 or 3.6.10.

Solving the GLIBC__2.29__ not found error

This means that the linux package were built on a system with a really new Libc version. This can be solved by compiling your own bindings. In order to be compatible with as many systems as possible, we suggest to build them on the official Manylinux1 docker.

Compiling the bindings for Linux to push them to Pipy

In order to make the wheels usable by any linux system we must follow the manylinux2010 standard. We used to support manylinux1 but rust no longer support Glibc 2.5 so we had to bump it to the next standard.

To specify for which versions you wish to build the bindings just modify the folliowing line inside of ./ensmallen/setup/DockerFileManyLinux2010:

ENV PATH /opt/python/cp36-cp36m/bin/:/opt/python/cp37-cp37m/bin/:/opt/python/cp38-cp38/bin/:/opt/python/cp39-cp39/bin/:$PATH

This can be done by building the bindings inside a centos5 docker with:

git clone https://github.com/LucaCappelletti95/ensmallen
cd ensmallen
make build_manylinux2010 python_manylinux2010

The result wheels will be in ./ensmallen/bindings/python/target/wheels/.

A wheel will be created for each version of python, this is configurable in the Dockerfile ./ensmallen/setup/DockerFileManylinux2010 in a ENV var.

A tutorial on how the internals of Python's Cffi can be found here

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

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

Built Distributions

ensmallen-0.7.0.dev7-cp310-none-win_amd64.whl (15.7 MB view details)

Uploaded CPython 3.10 Windows x86-64

ensmallen-0.7.0.dev7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

ensmallen-0.7.0.dev7-cp310-cp310-macosx_10_7_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

ensmallen-0.7.0.dev7-cp39-none-win_amd64.whl (15.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

ensmallen-0.7.0.dev7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

ensmallen-0.7.0.dev7-cp39-cp39-macosx_10_7_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

ensmallen-0.7.0.dev7-cp38-none-win_amd64.whl (15.7 MB view details)

Uploaded CPython 3.8 Windows x86-64

ensmallen-0.7.0.dev7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

ensmallen-0.7.0.dev7-cp38-cp38-macosx_10_7_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

ensmallen-0.7.0.dev7-cp37-none-win_amd64.whl (15.7 MB view details)

Uploaded CPython 3.7 Windows x86-64

ensmallen-0.7.0.dev7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

ensmallen-0.7.0.dev7-cp37-cp37m-macosx_10_7_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

ensmallen-0.7.0.dev7-cp36-none-win_amd64.whl (15.7 MB view details)

Uploaded CPython 3.6 Windows x86-64

ensmallen-0.7.0.dev7-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

ensmallen-0.7.0.dev7-cp36-cp36m-macosx_10_7_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.6m macOS 10.7+ x86-64

File details

Details for the file ensmallen-0.7.0.dev7-cp310-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for ensmallen-0.7.0.dev7-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 245c96b6addd229a5f5491ff44c3fff9a87db5bfff7aacd582b49f69fa5d84ea
MD5 7513034478907a08c472d71b97c5cd64
BLAKE2b-256 15a87fcf8b95b768b0383d716e455e5d181a01e491415ff7ef4fe3c471be3f69

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 16.8 MB
  • Tags: CPython 3.10, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.13

File hashes

Hashes for ensmallen-0.7.0.dev7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 745260f5ce9b3bec68ff91bc8176c8b58aa859f1dacaba91063609d3e5c2b35a
MD5 de218d24320a7bd424a73ee4002e26b6
BLAKE2b-256 41226775d6fa3de14b32af45d1143c060a1a8a973a8fedeb835b7c09958eed16

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp310-cp310-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: CPython 3.10, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for ensmallen-0.7.0.dev7-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 5e969095e96fd06664f2a7f1244b11bae3dec998179d75290581977c32ff1239
MD5 67ffd6928343860fec0f3cb4fe5871c2
BLAKE2b-256 174dea73c4c2f4dfa593807b887ad215fcf44c56414ca3a76bb6e70fcd3f11eb

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp39-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for ensmallen-0.7.0.dev7-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 c050064b64ea01ea8bccac35b13ff4c4cfc2a995a1a6c486e28a90f6d5779031
MD5 554913674fc52728c53a308af2e6e95b
BLAKE2b-256 72dc48e8c58362a4dbd736c0e734d9ffcc5572fbc0326f4dde6dabbdcc6b3d7c

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 16.8 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.13

File hashes

Hashes for ensmallen-0.7.0.dev7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c59ee9481b17e3232ec5e5a2865a8f617da66ca0c3ad9cc24527eff74a8d9079
MD5 287db34179bd5933b42a5cb554b4c8f0
BLAKE2b-256 cf076729a616b88ab634f66b96a578593b4ec43db9503a331a43d142d3c0d90d

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp39-cp39-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: CPython 3.9, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.10

File hashes

Hashes for ensmallen-0.7.0.dev7-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d48a7cf2628ef5a648bdcfbc5a8ede3c8294cb480e62ac21309b4c2e93801939
MD5 55350253a6f2bd23534e5ced2c163d8d
BLAKE2b-256 a75f2856e60ed4bd7dd89af017bd45fe49c6d53ed834f97f9d866427936acdda

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp38-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for ensmallen-0.7.0.dev7-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 29387d2d0dbb9d75efe1e8742a69b5fe6cbedae11f5478acc079777f77aa7475
MD5 94853de32a0ae9ef28fa472424852041
BLAKE2b-256 3b9d28eae8ea80dfb649b32ccd63df41ccf48264858561bd12678c8718faad05

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 16.8 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.13

File hashes

Hashes for ensmallen-0.7.0.dev7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a7e7fab832393b07dfc907384aae8ecc7244db7d494af5473ec3affa6dc94b01
MD5 a049297968022687486c1c3d8caad1c7
BLAKE2b-256 8fc8b5e2394e59898169091a3c2d3a5d9bff19aca1d540d705e574cf778a5646

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp38-cp38-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: CPython 3.8, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.10

File hashes

Hashes for ensmallen-0.7.0.dev7-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 aa430e4ef7a42921292a8b45d6d652b1c9186ce1b412d608ce31d6ceb08ff7fa
MD5 e53ba39406e9e05dbb92d204cae0cb58
BLAKE2b-256 acae611fb0f48231a9b78b5d73d7fe475638e1f77490b48480de0eb0fec3218c

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp37-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for ensmallen-0.7.0.dev7-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 59fcb235b67844e464db70b0c6968e0233ea5724b27108530e605b4179163916
MD5 03ed5e2c4fddfe74eeecca4098f1c05b
BLAKE2b-256 7730035b3c4ec60e9dc3dbf8caafb378e79069ae20374b90b90c5e8f2601a52b

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 16.8 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.13

File hashes

Hashes for ensmallen-0.7.0.dev7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 82e979a56122650b920af28ed899295b91fed05fcd2e0a81d17cf87454fbe166
MD5 5d8b14a39fb96c5cf9c4f615bd8efb8e
BLAKE2b-256 dd1de1b006d342107ca1ebfb6e4c97b743062782e0b499cc8a11f4e9a73dec62

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: CPython 3.7m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.10

File hashes

Hashes for ensmallen-0.7.0.dev7-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 64f51c113efa90529b9948b147698d6953a5ac7dff4342a141c20b634c8f0d8c
MD5 1e01c89f0b812ca9f8903d24ee3a35f4
BLAKE2b-256 bcde5ea03dd9c405574360086d667e84484e4a12772378d5d82fe14c70c306c8

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp36-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp36-none-win_amd64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.6, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for ensmallen-0.7.0.dev7-cp36-none-win_amd64.whl
Algorithm Hash digest
SHA256 15895f88fc723b68e87a4191e6d86694cae16dad56b4fec7115a7c6599e521dc
MD5 9c837f257f8daebad9e951c096a8076f
BLAKE2b-256 001ade02ba91c64db3760b5ad1de2d8d12150fb833b4f54e3390666915d8ff6c

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 16.8 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.13

File hashes

Hashes for ensmallen-0.7.0.dev7-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7a99aee9e663cb60af4ff20cf3a4967ddb731ec04785038851c2ec63a3335d65
MD5 ff1a312648812b536919509de3574aa4
BLAKE2b-256 dbabe561465c74a877630c51fa243fb7dd64cbbdc98661535335194ff1f16f17

See more details on using hashes here.

File details

Details for the file ensmallen-0.7.0.dev7-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.7.0.dev7-cp36-cp36m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: CPython 3.6m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.10

File hashes

Hashes for ensmallen-0.7.0.dev7-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 56ff6c5c6ac6442f86ced15ff64bc38a3b4cc043892e7b541931a23848eb2e25
MD5 3aa41e9e4c837eaadfa028fa6a11ce84
BLAKE2b-256 707f27829f2008e60d7d1ba60fd2118089f9fe3ea7ac9a27223376461698edc2

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