1 Commits

Author SHA1 Message Date
97436ee92a add libxdp submodule
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
2025-09-28 10:57:19 +05:30
6 changed files with 28 additions and 37 deletions

View File

@ -15,8 +15,8 @@ jobs:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v6
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- uses: pre-commit/action@v3.0.1

View File

@ -19,11 +19,11 @@ jobs:
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-python@v6
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

View File

@ -15,7 +15,7 @@ jobs:
name: Build SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4
with:
submodules: true
@ -39,12 +39,12 @@ jobs:
arch: [x86_64]
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4
with:
submodules: true
- name: Build wheels
uses: pypa/cibuildwheel@v3.2
uses: pypa/cibuildwheel@v2.17
env:
CIBW_PLATFORM: linux
CIBW_ARCHS_LINUX: ${{ matrix.arch }}
@ -80,7 +80,7 @@ jobs:
steps:
- name: Download all artifacts
uses: actions/download-artifact@v5
uses: actions/download-artifact@v4
with:
pattern: cibw-*
path: dist

3
.gitmodules vendored
View File

@ -5,3 +5,6 @@
[submodule "libbpf"]
path = libbpf
url = https://github.com/libbpf/libbpf.git
[submodule "xdp-tools"]
path = xdp-tools
url = https://github.com/xdp-project/xdp-tools/

View File

@ -1,43 +1,24 @@
<picture>
<source
media="(prefers-color-scheme: light)"
srcset="https://github.com/user-attachments/assets/dbd56f5b-4512-4c82-a404-30bce0ee5207"
width="450"
alt="pylibbpf light mode">
<img
src="https://github.com/user-attachments/assets/9e873d60-a834-4411-bc0c-361b14502f8b"
width="450"
alt="pylibbpf dark mode">
</picture>
# Py-libbpf
<p align="center">
<!-- PyPI -->
<a href="https://www.python.org/downloads/release/python-3080/"><img src="https://img.shields.io/badge/python-3.8-blue.svg"></a>
<a href="https://pypi.org/project/pylibbpf"><img src="https://badge.fury.io/py/pylibbpf.svg"></a>
<!-- <a href="https://pypi.org/project/pythonbpf/"><img src="https://img.shields.io/pypi/status/pythonbpf" alt="PyPI Status"></a> -->
<a href="https://pepy.tech/project/pylibbpf"><img src="https://pepy.tech/badge/pylibbpf" alt="Downloads"></a>
<!-- Build & CI -->
<a href="https://github.com/pythonbpf/pylibbpf/actions"><img src="https://github.com/pythonbpf/pylibbpf/actions/workflows/wheels.yml/badge.svg" alt="Build Status"></a>
<!-- Meta -->
<a href="https://github.com/pythonbpf/pylibbpf/blob/master/LICENSE"><img src="https://img.shields.io/github/license/pythonbpf/pylibbpf" alt="License"></a>
<a href="https://www.python.org/downloads/release/python-3080/"><img src="https://img.shields.io/badge/python-3.8-blue.svg"></a>
<a href="https://pypi.org/project/pylibbpf"><img src="https://badge.fury.io/py/pylibbpf.svg"></a>
</p>
This library provides Python bindings for libbpf on Linux to make loading of eBPF object files easier. This is meant to
be used along with `pythonbpf`, the eBPF Python DSL compiler. This library makes it possible to attach these programs to
events in the kernel right from inside Python.
This library provides Python bindings for **libbpf** on Linux, making it easier to load eBPF object files. It is designed to be used together with [PythonBPF](https://github.com/pythonbpf/python-bpf), the eBPF compiler for Python. With these bindings, you can attach eBPF programs to kernel events directly from Python.
All programs written with this are to be run with a `sudo` Python interpreter.
# IN DEVELOPMENT. DO NOT USE.
> **Note**: This project is under active development and not ready for production use.
## Dependencies
## Prerequisites
* A compiler with C++11 support
* Pip 10+ or CMake >= 4.1
* Ninja or Pip 10+
## Installation
`pip install pylibbpf`
## Development
Clone this repository and pip install. Note the `--recursive` option which is
Just clone this repository and pip install. Note the `--recursive` option which is
needed for the pybind11 submodule:
```bash
@ -49,5 +30,11 @@ pip install .
With the `setup.py` file included in this example, the `pip install` command will
invoke CMake and build the pybind11 module as specified in `CMakeLists.txt`.
## Development
Do this before running to make sure Python can manipulate bpf programs without sudo
```bash
sudo setcap cap_bpf,cap_sys_admin+ep /usr/bin/python3.12
```
## Building the documentation
The documentation here is still boilerplate.

1
xdp-tools Submodule

Submodule xdp-tools added at fa3bcd03cc