Skip to main content

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

Metadata

Release files for pyfletcher 0.0.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pyfletcher 0.0.20
File
pyfletcher-0.0.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
pyfletcher-0.0.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
pyfletcher-0.0.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
pyfletcher-0.0.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 53.3 MB

Release files / pyfletcher-0.0.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyfletcher-0.0.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e063024973c1cd5a8fdd4e225fb7f9e85d6d433fdba6ff43d3f1ef93f9cabbdd
BLAKE2b-256 checksum
How to use checksums
6e4e5b8c0a0ecbaac56c4787f2ff26501252dc3eb921db5887d2d3c7b02584eb
Upload date
Uploaded using Trusted Publishing?
What is 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.62.3 CPython/3.9.7

Release files / pyfletcher-0.0.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyfletcher-0.0.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fb7c3cd0aa3cb3a8b8faff446067ebf1f3b9c7e58365a734ea8a33391d1a1ed6
BLAKE2b-256 checksum
How to use checksums
df3ce1e04438de43d1ab77a2a4ae660ae24f4a25d35dc2f6b5e0bf9114ca9882
Upload date
Uploaded using Trusted Publishing?
What is 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.62.3 CPython/3.9.7

Release files / pyfletcher-0.0.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyfletcher-0.0.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ca58e97dd5231652e540863e128dc781f77134af331f0023abe39cbc9361f8a8
BLAKE2b-256 checksum
How to use checksums
becc1645b87531f18184aac9aeebfbb854ed470329e0bbe1c9324acd19db01b9
Upload date
Uploaded using Trusted Publishing?
What is 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.62.3 CPython/3.9.7

Release files / pyfletcher-0.0.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyfletcher-0.0.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f562ae654b0dee5ccab4ff44ce6e7e98046864b4631525dd08dc527993255e62
BLAKE2b-256 checksum
How to use checksums
11056cfe1f941204b3464721719120adf7659d4c8aebdc4417ee83003d8244ad
Upload date
Uploaded using Trusted Publishing?
What is 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.62.3 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.0.20 This release

4 release files

0.0.18

3 release files

0.0.17

3 release files

0.0.15

3 release files

0.0.14

3 release files

0.0.13

4 release files

0.0.11

4 release files

0.0.9

3 release files

0.0.7

4 release files

0.0.6

4 release files

0.0.5

4 release files

0.0.4

4 release files

0.0.3

4 release files

0.0.2

3 release files

0.0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page