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

This version

0.6.0

Download files

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

Source Distribution

ensmallen-0.6.0.tar.gz (16.0 MB view details)

Uploaded Source

Built Distributions

ensmallen-0.6.0-cp39-none-win_amd64.whl (41.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

ensmallen-0.6.0-cp39-cp39-manylinux2010_x86_64.whl (44.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

ensmallen-0.6.0-cp39-cp39-macosx_10_7_x86_64.whl (43.9 MB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

ensmallen-0.6.0-cp38-none-win_amd64.whl (41.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

ensmallen-0.6.0-cp38-cp38-manylinux2010_x86_64.whl (44.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

ensmallen-0.6.0-cp38-cp38-macosx_10_7_x86_64.whl (43.9 MB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

ensmallen-0.6.0-cp37-none-win_amd64.whl (41.5 MB view details)

Uploaded CPython 3.7 Windows x86-64

ensmallen-0.6.0-cp37-cp37m-manylinux2010_x86_64.whl (44.7 MB view details)

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

ensmallen-0.6.0-cp37-cp37m-macosx_10_7_x86_64.whl (43.9 MB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

ensmallen-0.6.0-cp36-none-win_amd64.whl (41.5 MB view details)

Uploaded CPython 3.6 Windows x86-64

ensmallen-0.6.0-cp36-cp36m-manylinux2010_x86_64.whl (44.7 MB view details)

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

ensmallen-0.6.0-cp36-cp36m-macosx_10_7_x86_64.whl (43.9 MB view details)

Uploaded CPython 3.6m macOS 10.7+ x86-64

File details

Details for the file ensmallen-0.6.0.tar.gz.

File metadata

  • Download URL: ensmallen-0.6.0.tar.gz
  • Upload date:
  • Size: 16.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for ensmallen-0.6.0.tar.gz
Algorithm Hash digest
SHA256 072fb7e8e7d2c451832f51efea516f31926858dd1258bd3d6e89e148b9006768
MD5 9e740a5840f3829e91f039a75c46850a
BLAKE2b-256 2e4ddb86c5fc2a451a9afceabd9a4838dbb00499177018b2a8e1709ac57f9328

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp39-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 41.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.4

File hashes

Hashes for ensmallen-0.6.0-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 7756c24f0315df7368426dab29c809fbc327acdc61298cfd8cdd288194ad395f
MD5 0be3fb15c6a70e0c0558c4a8eb9d4886
BLAKE2b-256 77dc60a3aa15a69ccbb6a9ffffb950eb6e980db7ed483a228c17b3d2f95b601d

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 44.7 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for ensmallen-0.6.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 04228ebe0d84b1873121fe74310a81db9d0e8b96ffdb8c9a886a180ac0f887cf
MD5 fc52431d8a46a92c7cdbd55786099865
BLAKE2b-256 46f77e971f632d721c873412764e2ae4d27beffe6cb3ca4670d8276c8d0a97b2

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp39-cp39-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 43.9 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.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.10

File hashes

Hashes for ensmallen-0.6.0-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 15d9026e7430528b8becd842b5e2358bfc5c701dedd24815017c653215b2c659
MD5 1fa1f01cf9814ab19d5985c0ff52996c
BLAKE2b-256 e4a768bece12b0a087e26a2783c1266aa3b6f1beccd94e0fcc42741212c29d5e

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp38-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 41.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.4

File hashes

Hashes for ensmallen-0.6.0-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 cb62b89cb9df49d4f9c140088e3fee75dd7620cdfe2abcf78d463173429443ac
MD5 c4b9d47056eb125790507ac0418378b4
BLAKE2b-256 544a713e7b054471e67cbe78ae2c87162d9549d0beb6ec98ef5a6149fccb06b0

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 44.7 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for ensmallen-0.6.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8ee4639942656e5210136eed149e8c68716671d4b967b39dd3a9fa672e140815
MD5 7cfad48a5bf4aca65abcd30b48b42b51
BLAKE2b-256 73d8b60bc3df041070fae86dd646f7943015c0de7d266abbca2536006db7f934

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp38-cp38-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 43.9 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.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.10

File hashes

Hashes for ensmallen-0.6.0-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 5f2e69eb2ea8fe8170f3175b9bed7609040f0363c26fd7de5d92c78850d97d4b
MD5 833c3037ae82fe4490499958c7e53cb6
BLAKE2b-256 7839d9f8c81901cc5ce26369585173c694a6dd9e4a3f466ec5ece9cc62d05c9d

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp37-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 41.5 MB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.4

File hashes

Hashes for ensmallen-0.6.0-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 65665fd4f2ba2ddddc002f1db2c5c689b239cbaf720af57bed6659b1903b30c4
MD5 82e471eecc50b198318dcd48f27d82ca
BLAKE2b-256 b55764f07eef9a2d57a30d895b9e458f3d34e67b577c191f44d123e992d19cec

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 44.7 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for ensmallen-0.6.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 035399da5890f1c82ba422aa2cfb83e0838f0b2772d0b3d5760090601c6d032b
MD5 52071a36dfaf1613e6b85f4d5f4611a7
BLAKE2b-256 50a7d1021416118ac1f723795eb7c02dbc0ebc789046d2855ab557a3773ef69d

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 43.9 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.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.10

File hashes

Hashes for ensmallen-0.6.0-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 c88a0b3c3ed63cceba4f21885e8457bbf64049221af84c1139934073f1fae300
MD5 4ce0ec9a9d836df80c67c67c295c8ee1
BLAKE2b-256 b2d0d94bfdb4c21aace46d5648a990adbcbb9e496d5dff2b4e67a5e92525da97

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp36-none-win_amd64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp36-none-win_amd64.whl
  • Upload date:
  • Size: 41.5 MB
  • Tags: CPython 3.6, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.4

File hashes

Hashes for ensmallen-0.6.0-cp36-none-win_amd64.whl
Algorithm Hash digest
SHA256 d6d29f70f6a948775272f497c971f4b0f25125b996c382e9730de41100717ed2
MD5 4fe8f3a1b734c22efa36bad7f8035912
BLAKE2b-256 c0997ca51b7d83189a122e950c3c573a784e34f3e00a43c8852ebc214d8d835f

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 44.7 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for ensmallen-0.6.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d2ee03a30269d46cbbd6b7426e86db25fbc39d82daf5f7e5a856bda4b1dc8b2d
MD5 ba3b91bc298727574085911c1964e7a8
BLAKE2b-256 b71b0535adacb65bb735f19026d679f7202e22a889f2996d3e96388842b25daf

See more details on using hashes here.

File details

Details for the file ensmallen-0.6.0-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: ensmallen-0.6.0-cp36-cp36m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 43.9 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.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.10

File hashes

Hashes for ensmallen-0.6.0-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f4972c80fd79a3e3fbb5008edba1fa63b6273ea736b370c1222924ba17bf4d43
MD5 3ccefe5c83fc19e63e58d3c9f8cf396b
BLAKE2b-256 675722a28bccdd8743a4838a068e90fb73761a2643d2fd97f83e1419e9e58ffb

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