[build-system]
requires = ["maturin>=1.14,<2.0" ,"pip"]
build-backend = "maturin"
[project]
name = "beaconcrypt"
requires-python = ">=3.11"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version"]
[tool.maturin]
bindings = "pyo3"
features = ["pybinds"]
[tool.uv]
package = false
[dependency-groups]
dev = [
"black>=26.5.1",
"pytest>=9.1.1",
"maturin>=1.14,<2.0"
]
[tool.cibuildwheel]
build-frontend = "build[uv]"
[tool.cibuildwheel.linux]
before-all = """
if command -v dnf >/dev/null 2>&1; then
dnf install -y capnproto capnproto-devel libffi-devel
elif command -v yum >/dev/null 2>&1; then
yum install -y capnproto capnproto-devel libffi-devel
elif command -v microdnf >/dev/null 2>&1; then
microdnf install -y capnproto capnproto-devel libffi-devel
elif command -v apk >/dev/null 2>&1; then
apk add --no-cache capnproto capnproto-dev libffi-dev
else
echo "No supported package manager found for installing capnproto" >&2
exit 1
fi
"""
[tool.cibuildwheel.windows]
before-all = "choco install capnproto -y"
[tool.cibuildwheel.config-settings]
build-args = "--features pybinds"