HearthNet-Nemotron / pyproject.toml
GitHub Actions
fix: 0 test failures; FileService; real RagService; emergency probe; chat return
4aaae80
Raw
History Blame
2.25 kB
[project]
name = "hearthnet"
version = "0.1.0"
description = "Local-first community AI mesh — run a node, connect to peers, share AI capabilities."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"click>=8.1",
"gradio>=6.16.0,<7.0",
"spaces>=0.30.0",
"accelerate>=0.30.0",
"openai>=1.80.0",
"safetensors>=0.4.3",
"sentencepiece>=0.2.0",
"torch>=2.3.0",
"transformers>=4.45.0",
"PyNaCl>=1.5.0",
"blake3>=0.4.0",
"qrcode[svg]>=7.4",
]
[project.scripts]
hearthnet = "hearthnet.cli:main"
[tool.ruff]
target-version = "py312"
line-length = 100
exclude = [
".git",
".mypy_cache",
".pytest_cache",
".ruff_cache",
".venv",
"venv",
]
[tool.ruff.lint]
select = [
"A",
"B",
"C4",
"E",
"F",
"I",
"N",
"PIE",
"PT",
"RET",
"RUF",
"SIM",
"UP",
"W",
]
ignore = [
"E501",
]
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = [
"S101",
]
"hearthnet/types.py" = [
"A005",
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "lf"
[tool.bandit]
exclude_dirs = [
".git",
".venv",
"venv",
"tests",
]
skips = [
"B101",
]
[tool.pylint.main]
py-version = "3.12"
jobs = 0
ignore = [
".git",
".venv",
"venv",
]
[tool.pylint.format]
max-line-length = 100
[tool.pylint.messages_control]
disable = [
"broad-exception-caught",
"line-too-long",
"missing-module-docstring",
"missing-class-docstring",
"missing-function-docstring",
"no-member",
"redefined-outer-name",
"too-many-arguments",
"too-many-instance-attributes",
"too-many-locals",
"too-few-public-methods",
]
[tool.mypy]
python_version = "3.12"
warn_unused_configs = true
warn_redundant_casts = true
warn_unused_ignores = true
no_implicit_optional = true
check_untyped_defs = true
disallow_untyped_defs = false
ignore_missing_imports = true
exclude = [
"\\.git/",
"\\.venv/",
"venv/",
]
[tool.pytest.ini_options]
minversion = "8.0"
addopts = "-ra --strict-config --strict-markers"
asyncio_mode = "strict"
asyncio_default_fixture_loop_scope = "function"
testpaths = [
"tests",
]
python_files = [
"test_*.py",
"*_test.py",
]