mirror of
https://github.com/varun-r-mallya/pylibbpf.git
synced 2025-12-31 20:36:26 +00:00
104 lines
2.8 KiB
TOML
104 lines
2.8 KiB
TOML
[build-system]
|
|
requires = [
|
|
"setuptools>=42",
|
|
"wheel",
|
|
"ninja",
|
|
"cmake>=4.0",
|
|
]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "pylibbpf"
|
|
version = "0.0.1"
|
|
description = "Python Bindings for Libbpf"
|
|
authors = [
|
|
{ name = "r41k0u", email = "pragyanshchaturvedi18@gmail.com" },
|
|
{ name = "varun-r-mallya", email = "varunrmallya@gmail.com" }
|
|
]
|
|
readme = "README.md"
|
|
license = { text = "Apache-2.0" }
|
|
requires-python = ">=3.8"
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: C++",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: System :: Operating System Kernels :: Linux",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = ["pytest>=6.0"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/varun-r-mallya/pylibbpf"
|
|
Repository = "https://github.com/varun-r-mallya/pylibbpf"
|
|
Issues = "https://github.com/varun-r-mallya/pylibbpf/issues"
|
|
|
|
[tool.mypy]
|
|
files = "setup.py"
|
|
python_version = "3.8"
|
|
strict = true
|
|
show_error_codes = true
|
|
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
|
|
warn_unreachable = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["ninja"]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
|
|
xfail_strict = true
|
|
filterwarnings = [
|
|
"error",
|
|
"ignore:(ast.Str|Attribute s|ast.NameConstant|ast.Num) is deprecated:DeprecationWarning:_pytest",
|
|
]
|
|
testpaths = ["tests"]
|
|
|
|
[tool.cibuildwheel]
|
|
build = ["cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*"]
|
|
skip = ["*-win32", "*-win_amd64", "*-macosx*", "pp*"]
|
|
|
|
# Build for both x86_64 and aarch64 on Linux
|
|
archs = ["x86_64", "aarch64"]
|
|
|
|
# Linux-specific settings
|
|
[tool.cibuildwheel.linux]
|
|
before-all = [
|
|
"yum install -y epel-release || apt-get update",
|
|
"yum install -y libbpf-devel kernel-headers || apt-get install -y libbpf-dev linux-headers-generic",
|
|
]
|
|
|
|
# Skip testing on emulated architectures (too slow)
|
|
test-skip = ["*_aarch64", "*_arm64"]
|
|
|
|
# Test command for supported architectures
|
|
test-command = "pytest {project}/tests"
|
|
test-extras = ["test"]
|
|
|
|
before-build = "rm -rf {project}/build"
|
|
|
|
environment = { CMAKE_BUILD_PARALLEL_LEVEL = "2" }
|
|
|
|
[tool.ruff]
|
|
target-version = "py38"
|
|
line-length = 88
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = [
|
|
"B", # flake8-bugbear
|
|
"I", # isort
|
|
"PGH", # pygrep-hooks
|
|
"RUF", # Ruff-specific
|
|
"UP", # pyupgrade
|
|
]
|