Skip to main content

Python API for control of the CESNET NDK based FPGA acceleration cards

Project description

pynfb

Python API for control of the CESNET NDK based FPGA acceleration cards.

This package provides Python bindings (via Cython) over libnfb and the Netcope library, enabling register access, packet transmission (NDP queues), and Ethernet MAC management on NFB/NDK FPGA cards.

Prerequisites

pynfb is a source distribution — it compiles Cython extensions at install time and links against the system-installed libnfb and libfdt shared libraries. The nfb-framework package (providing libnfb, the NFB kernel driver, and the required headers) must be installed first.

Minimum version: pynfb 0.3.0 requires nfb-framework >= 6.28. The pynfb version is independent from the nfb-framework version.

Fedora / RHEL / Oracle Linux (RPM)

Enable the COPR repository and install nfb-framework:

sudo dnf copr enable @CESNET/nfb-framework
sudo dnf install nfb-framework

You also need the development files for building:

sudo dnf install libfdt-devel python3-Cython gcc

Build from source

See the NDK software build instructions for compiling libnfb and the kernel driver from source.

Installation

Once the prerequisites are in place:

pip install nfb

Quick start

import nfb

dev = nfb.open()          # opens /dev/nfb0
comp = dev.comp_open("netcope,my_comp", 0)
comp.write32(0x100, 0xDEADBEEF)
val = comp.read32(0x100)

Documentation

License

BSD 3-Clause License. See LICENSE for details.

Project details


Download files

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

Source Distribution

nfb-0.3.0.tar.gz (360.2 kB view details)

Uploaded Source

File details

Details for the file nfb-0.3.0.tar.gz.

File metadata

  • Download URL: nfb-0.3.0.tar.gz
  • Upload date:
  • Size: 360.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for nfb-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a924354480335cb67864ac34ccb7ee2e80ebd7aab7406c140b8b55dfda660796
MD5 8271d8de31f4ce2aef93b9a6b0255fc1
BLAKE2b-256 24c3296c878964d10c3180b623d44011eb96b62c47bed7450f6529c7575db4d2

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