Skip to main content

A Python wrapper for the Fletcher runtime library

Project description

Fletcher runtime library for Python

Fletcher is a framework for integrating FPGA accelerators with Apache Arrow that generates easy-to-use and efficient hardware interfaces allowing hardware addressing via table indices rather than byte addresses. Pyfletcher aims to make the Fletcher runtime library available in Python, allowing any Python programmer to easily interface with Fletcher enabled FPGA images. See the repository for using Fletcher to generate hardware.

Installing

The base pyfletcher library binary wheels can be easily installed on Linux:

pip install pyfletcher

In order to use pyfletcher to interface with FPGA's, please install the correct driver for your platform from the repository. It is recommended to install the echo platform for debugging and testing.

Building from source

Before installing pyfletcher, you should install Cython, numpy and pyarrow.

pip install Cython numpy pyarrow

Install the Fletcher C++ run-time library as follows:

mkdir build
cmake .. -DFLETCHER_PYTHON=ON -DPYARROW_DIR=<pyarrow_install_dir>
make
sudo make install

Here, <pyarrow_install_dir> should be the path to where pyarrow is installed on your system. This can easily be found by running the following code in Python:

import pyarrow as pa
print(pa.get_library_dirs())

You can now install pyfletcher.

python setup.py install

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

pyfletcher-0.0.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyfletcher-0.0.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyfletcher-0.0.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

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

pyfletcher-0.0.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

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

File details

Details for the file pyfletcher-0.0.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfletcher-0.0.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e063024973c1cd5a8fdd4e225fb7f9e85d6d433fdba6ff43d3f1ef93f9cabbdd
MD5 c43eaef4c60eef87960ed7a1aad4c93e
BLAKE2b-256 6e4e5b8c0a0ecbaac56c4787f2ff26501252dc3eb921db5887d2d3c7b02584eb

See more details on using hashes here.

File details

Details for the file pyfletcher-0.0.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfletcher-0.0.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb7c3cd0aa3cb3a8b8faff446067ebf1f3b9c7e58365a734ea8a33391d1a1ed6
MD5 9dfdb7beab7da45299034e13a21c5c6f
BLAKE2b-256 df3ce1e04438de43d1ab77a2a4ae660ae24f4a25d35dc2f6b5e0bf9114ca9882

See more details on using hashes here.

File details

Details for the file pyfletcher-0.0.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfletcher-0.0.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca58e97dd5231652e540863e128dc781f77134af331f0023abe39cbc9361f8a8
MD5 2279bca56f111735077e34888d08ba54
BLAKE2b-256 becc1645b87531f18184aac9aeebfbb854ed470329e0bbe1c9324acd19db01b9

See more details on using hashes here.

File details

Details for the file pyfletcher-0.0.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfletcher-0.0.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f562ae654b0dee5ccab4ff44ce6e7e98046864b4631525dd08dc527993255e62
MD5 b82185e767c8fa63beb874ceb8381420
BLAKE2b-256 11056cfe1f941204b3464721719120adf7659d4c8aebdc4417ee83003d8244ad

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