Files
pyasic/pyproject.toml

123 lines
2.7 KiB
TOML

[project]
name = "pyasic"
version = "0.77.0"
description = "A simplified and standardized interface for Bitcoin ASICs."
authors = [{name = "UpstreamData", email = "brett@upstreamdata.ca"}]
repository = "https://github.com/UpstreamData/pyasic"
homepage = "https://docs.pyasic.org"
source = "https://github.com/UpstreamData/pyasic"
documentation = "https://docs.pyasic.org"
issues = "https://github.com/UpstreamData/pyasic/issues"
readme = {file = "README.md", content-type = "text/markdown"}
license = "Apache 2.0"
license-files = ["LICEN[CS]E.*"]
keywords = [
"python",
"asic",
"bitcoin",
"whatsminer",
"antminer",
"braiins-os",
"vnish",
"luxos"
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"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",
]
requires-python = ">3.10, <4.0"
dependencies = [
"httpx>=0.26.0",
"asyncssh>=2.20.0",
"cryptography>=39.0",
"passlib>=1.7.4",
"pyaml>=23.12.0",
"tomli (>=2.2.1,<3.0.0) ; python_version < '3.11'",
"tomli-w>=1.0.0",
"aiofiles>=23.2.1",
"betterproto==2.0.0b7",
"pydantic>=2.11.0",
"semver (>=3.0.4,<4.0.0)",
]
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pre-commit = "^4.3.0"
ruff = "^0.13.2"
types-passlib = "^1.7.7.20250602"
types-aiofiles = "^24.1.0.20250822"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
mkdocs = "^1.6.1"
mkdocstrings = {extras = ["python"], version = "^0.26.1"}
mkdocs-material = "^9.5.39"
[build-system]
requires = ["poetry-core>=2.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
warn_unused_ignores = true
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = "pyasic.web.braiins_os.proto.*"
disable_error_code = "arg-type"
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = true
warn_required_dynamic_aliases = true
[tool.ruff]
line-length = 88
indent-width = 4
target-version = "py310"
fix = true
unsafe-fixes = true
extend-exclude = ["pyasic/web/braiins_os/proto"]
[tool.ruff.lint]
select = [
"E", # pycodestyle
"F", # Pyflakes
"UP", # pyupgrade
"I", # isort
]
fixable = ["ALL"]
ignore = [
"E402",
"E501",
"F401",
"F403",
"F405",
"F601",
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"