[build-system] requires = ["setuptools>=77", "Cython>=3.1", "scons"] build-backend = "setuptools.build_meta" [project] name = "msgq-ipc" version = "1.1" description = "High-performance pub/sub messaging, made simple. For Python, C, and C++." readme = "README.md" requires-python = ">=3.11" license = "MIT" authors = [{name = "comma.ai"}] classifiers = [ "Natural Language :: English", "Programming Language :: Python :: 3", "Topic :: System :: Hardware", ] dependencies = [] [project.urls] Repository = "https://github.com/commaai/msgq" [project.optional-dependencies] dev = [ "setuptools", # for distutils "Cython", "scons", "ruff", "cppcheck", "cpplint", "codespell", "ty", "lefthook", ] [tool.setuptools] include-package-data = false [tool.setuptools.packages.find] include = ["msgq", "msgq.*"] namespaces = false [tool.setuptools.package-data] "msgq" = ["*.pxd", "*.h"] "msgq.visionipc" = ["*.pxd", "*.h"] [tool.cibuildwheel] build = "cp311-* cp312-* cp313-* cp314-*" test-command = "python -m unittest discover -s msgq" # https://beta.ruff.rs/docs/configuration/#using-pyprojecttoml [tool.ruff] lint.select = ["E", "F", "W", "PIE", "C4", "ISC", "RUF100", "A"] lint.ignore = ["W292", "E741", "E402", "C408", "ISC003"] lint.flake8-implicit-str-concat.allow-multiline=false line-length = 160 target-version="py311" [tool.ty.src] exclude = ["site_scons/"] [tool.ty.rules] # Cython modules are compiled at build time, not available for static analysis unresolved-import = "ignore"