the REUSE stuff made simple discovery not work, so setuptools had to be corrected, this has probably been wrong since then
85 lines
2.8 KiB
TOML
85 lines
2.8 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "gp2040ce-binary-tools"
|
|
description = "Tools for working with GP2040-CE firmware and storage binaries."
|
|
readme = "README.md"
|
|
license = {text = "GPL-3.0-or-later"}
|
|
authors = [
|
|
{name = "Brian S. Stephan", email = "bss@incorporeal.org"},
|
|
]
|
|
requires-python = ">=3.9"
|
|
dependencies = ["grpcio-tools", "pyusb", "textual"]
|
|
dynamic = ["version"]
|
|
classifiers = [
|
|
"Environment :: Console",
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
|
"Operating System :: OS Independent",
|
|
"Topic :: Utilities",
|
|
]
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://github.com/OpenStickCommunity/gp2040ce-binary-tools"
|
|
"Changelog" = "https://github.com/OpenStickCommunity/gp2040ce-binary-tools/blob/main/CHANGELOG.md"
|
|
"Bug Tracker" = "https://github.com/OpenStickCommunity/gp2040ce-binary-tools/issues"
|
|
|
|
|
|
[project.optional-dependencies]
|
|
dev = ["bandit", "decorator", "flake8", "flake8-blind-except", "flake8-builtins", "flake8-docstrings",
|
|
"flake8-executable", "flake8-fixme", "flake8-isort", "flake8-logging-format", "flake8-mutable",
|
|
"flake8-pyproject", "mypy", "pip-tools", "pytest", "pytest-asyncio", "pytest-cov", "reuse",
|
|
"setuptools-scm", "textual-dev", "tox"]
|
|
|
|
[project.scripts]
|
|
concatenate = "gp2040ce_bintools.builder:concatenate"
|
|
dump-config = "gp2040ce_bintools.storage:dump_config"
|
|
dump-gp2040ce = "gp2040ce_bintools.builder:dump_gp2040ce"
|
|
edit-config = "gp2040ce_bintools.gui:edit_config"
|
|
summarize-gp2040ce = "gp2040ce_bintools.builder:summarize_gp2040ce"
|
|
visualize-config = "gp2040ce_bintools.storage:visualize"
|
|
|
|
[tool.flake8]
|
|
enable-extensions = "G,M"
|
|
exclude = [".tox/", "venv/", "_version.py", "tests/test-files/", "config_pb2.py", "enums_pb2.py", "nanopb_pb2.py"]
|
|
extend-ignore = "T101"
|
|
max-complexity = 10
|
|
max-line-length = 120
|
|
|
|
[tool.isort]
|
|
line_length = 120
|
|
|
|
[tool.mypy]
|
|
exclude = [
|
|
"config_pb2.py",
|
|
"enums_pb2.py",
|
|
"nanopb_pb2.py",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "google.protobuf.*"
|
|
ignore_missing_imports = true
|
|
|
|
# there's a lot of class inheritance and so on going on in textual that I haven't figured out
|
|
# e.g. assigning Select or Input to the same variable is valid but not type-safe, bindings
|
|
# can just exit but mypy thinks they should return coroutines... better just to disable it for
|
|
# now until I can figure things out and learn more about doing proper type checking
|
|
[[tool.mypy.overrides]]
|
|
module = "gp2040ce_bintools.gui"
|
|
ignore_errors = true
|
|
|
|
[tool.pytest]
|
|
python_files = ["*_tests.py", "tests.py", "test_*.py"]
|
|
|
|
[tool.setuptools]
|
|
packages = [
|
|
"gp2040ce_bintools",
|
|
"gp2040ce_bintools.proto_snapshot",
|
|
]
|
|
|
|
[tool.setuptools_scm]
|
|
write_to = "gp2040ce_bintools/_version.py"
|