mirror of https://github.com/zeromq/pyzmq.git
211 lines
5.9 KiB
TOML
211 lines
5.9 KiB
TOML
# PEP 621 build info
|
|
[build-system]
|
|
requires = [
|
|
"cffi; implementation_name == 'pypy'",
|
|
"cython>=3.0.0; implementation_name != 'pypy'",
|
|
"packaging",
|
|
"scikit-build-core",
|
|
]
|
|
build-backend = "scikit_build_core.build"
|
|
|
|
# Project metadata
|
|
# ref: https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
|
|
[project]
|
|
name = "pyzmq"
|
|
version = "26.2.1.dev"
|
|
authors = [
|
|
{ name = "PyZMQ Contributors", email = "zeromq-dev@lists.zeromq.org" },
|
|
{ name = "Brian E. Granger" },
|
|
{ name = "Min Ragan-Kelley" },
|
|
]
|
|
license = { file = "LICENSE.md" }
|
|
requires-python = ">=3.7"
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Operating System :: MacOS :: MacOS X",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX",
|
|
"Topic :: System :: Networking",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.7",
|
|
"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 :: Python :: 3.13",
|
|
]
|
|
dependencies = ["cffi; implementation_name == 'pypy'"]
|
|
description = "Python bindings for 0MQ"
|
|
readme = "README.md"
|
|
|
|
[project.urls]
|
|
Homepage = "https://pyzmq.readthedocs.org"
|
|
Documentation = "https://pyzmq.readthedocs.org"
|
|
Source = "https://github.com/zeromq/pyzmq"
|
|
Tracker = "https://github.com/zeromq/pyzmq/issues"
|
|
|
|
[tool.scikit-build]
|
|
wheel.packages = ["zmq"]
|
|
wheel.license-files = ["licenses/LICENSE*"]
|
|
# 3.15 is required by scikit-build-core
|
|
cmake.version = ">=3.15"
|
|
# only build/install the pyzmq component
|
|
cmake.targets = ["pyzmq"]
|
|
install.components = ["pyzmq"]
|
|
|
|
[tool.ruff]
|
|
|
|
[tool.ruff.format]
|
|
exclude = [
|
|
"buildutils/templates/*",
|
|
"zmq/eventloop/minitornado/*",
|
|
]
|
|
quote-style = "preserve"
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["zmq", "zmq_test_utils"]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E",
|
|
"F",
|
|
"UP",
|
|
"I",
|
|
]
|
|
ignore = [
|
|
"E501", # line length (formatter is responsible)
|
|
"E721", # compare types
|
|
"F841", # unused variables
|
|
]
|
|
exclude = ["buildutils/templates/*"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"__init__.py" = ["F4", "E4"]
|
|
"__init__.pyi" = ["F4", "E4"]
|
|
"tests/*" = ["E4", "F4"]
|
|
"docs/source/conf.py" = ["E4"]
|
|
"zmq/eventloop/*" = ["E402"]
|
|
"zmq/ssh/forward.py" = ["E"]
|
|
|
|
# no longer used autoformatters, linters:
|
|
|
|
[tool.autoflake]
|
|
ignore-init-module-imports = true
|
|
remove-all-unused-imports = true
|
|
remove-duplicate-keys = true
|
|
|
|
# remove-unused-variables = true
|
|
|
|
[tool.black]
|
|
skip-string-normalization = true
|
|
exclude = "zmq/eventloop/minitornado|docs/source/conf.py"
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
multi_line_output = 3
|
|
skip = ["zmq/__init__.py"]
|
|
|
|
[tool.tbump]
|
|
# Uncomment this if your project is hosted on GitHub:
|
|
github_url = "https://github.com/zeromq/pyzmq"
|
|
|
|
[tool.tbump.version]
|
|
current = "26.2.1.dev"
|
|
regex = '''
|
|
(?P<major>\d+)
|
|
\.
|
|
(?P<minor>\d+)
|
|
\.
|
|
(?P<patch>\d+)
|
|
(?P<pre>((a|b|rc|)\d+)|.dev\d*|)
|
|
'''
|
|
|
|
[tool.tbump.git]
|
|
message_template = "Bump to {new_version}"
|
|
tag_template = "v{new_version}"
|
|
|
|
# For each file to patch, add a [[tool.tbump.file]] config
|
|
# section containing the path of the file, relative to the
|
|
# pyproject.toml location.
|
|
[[tool.tbump.file]]
|
|
src = "pyproject.toml"
|
|
search = 'version = "{current_version}"'
|
|
|
|
[[tool.tbump.file]]
|
|
src = "zmq/sugar/version.py"
|
|
search = '__version__: str = "{current_version}"'
|
|
|
|
[tool.cibuildwheel]
|
|
build-verbosity = "1"
|
|
free-threaded-support = true
|
|
test-requires = ["pytest>=6", "importlib_metadata"]
|
|
test-command = "pytest -vsx {package}/tools/test_wheel.py"
|
|
|
|
[tool.cibuildwheel.linux]
|
|
before-all = "bash tools/install_libzmq.sh"
|
|
manylinux-x86_64-image = "manylinux2014"
|
|
manylinux-i686-image = "manylinux2014"
|
|
manylinux-aarch64-image = "manylinux2014"
|
|
musllinux-aarch64-image = "musllinux_1_1"
|
|
musllinux-i686-image = "musllinux_1_1"
|
|
musllinux-x86_64-image = "musllinux_1_1"
|
|
|
|
[tool.cibuildwheel.linux.environment]
|
|
ZMQ_PREFIX = "/usr/local"
|
|
CFLAGS = "-Wl,-strip-all"
|
|
CXXFLAGS = "-Wl,-strip-all"
|
|
|
|
[tool.cibuildwheel.macos]
|
|
before-all = "bash tools/install_libzmq.sh"
|
|
repair-wheel-command = "delocate-wheel --sanitize-rpaths --require-archs {delocate_archs} -w {dest_dir} -v {wheel}"
|
|
|
|
[tool.cibuildwheel.macos.environment]
|
|
# note: everything here needs to also be duplicated in overrides below
|
|
ZMQ_PREFIX = "/tmp/zmq"
|
|
MACOSX_DEPLOYMENT_TARGET = "10.9"
|
|
|
|
[tool.cibuildwheel.windows]
|
|
before-all = "python buildutils/bundle.py licenses"
|
|
repair-wheel-command = """\
|
|
delvewheel repair \
|
|
-v \
|
|
--wheel-dir={dest_dir} \
|
|
{wheel} \
|
|
"""
|
|
|
|
[tool.cibuildwheel.windows.config-settings]
|
|
"cmake.define.ZMQ_PREFIX" = "bundled"
|
|
# statically link MSVCP
|
|
# see https://github.com/zeromq/pyzmq/issues/2012
|
|
# and https://github.com/matplotlib/matplotlib/pull/28687
|
|
"cmake.define.CMAKE_MSVC_RUNTIME_LIBRARY" = "MultiThreaded"
|
|
"cmake.define.CMAKE_SHARED_LINKER_FLAGS" = "ucrt.lib;vcruntime.lib;/nodefaultlib:libucrt.lib;/nodefaultlib:libvcruntime.lib"
|
|
# disable IPC/epoll on Windows
|
|
# due to https://github.com/zeromq/pyzmq/issues/1981
|
|
"cmake.define.ZMQ_HAVE_IPC" = "OFF"
|
|
"cmake.define.POLLER" = "select"
|
|
|
|
# mac-arm target is 10.15
|
|
[[tool.cibuildwheel.overrides]]
|
|
select = "*macos*{universal2,arm64}*"
|
|
environment = { ZMQ_PREFIX = "/tmp/zmq", MACOSX_DEPLOYMENT_TARGET = "10.15" }
|
|
|
|
# manylinux2010 for (less) old cp37-9, pp37-8
|
|
[[tool.cibuildwheel.overrides]]
|
|
select = "cp3{7,8,9}-* pp3{7,8}-*"
|
|
manylinux-x86_64-image = "manylinux2010"
|
|
manylinux-i686-image = "manylinux2010"
|
|
|
|
# note: manylinux_2_28 builds are added
|
|
# in .github/workflows/wheels.yml
|
|
|
|
[[tool.cibuildwheel.overrides]]
|
|
select = "cp313t-*"
|
|
build-frontend = "pip; args: -v --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
|