mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-10 20:07:18 +01:00
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
omniroute_offload pre-commit / pre-commit (push) Waiting to run
palette drift / palette (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
shared gate tests / gate unit tests (push) Waiting to run
free-llm sends big texts to the free-best OmniRoute chain behind a fail-closed privacy gate (public repos, /tmp, /var/log; credential scan). claude-free runs Claude Code with the full ~/.claude setup on free-best. Skill offload-free in ~/.claude says when to use them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WzxdWYwGi2FJwfZ6QRB1im
106 lines
3.0 KiB
TOML
106 lines
3.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "omniroute_offload"
|
|
version = "0.1.0"
|
|
description = "Offload easy LLM work to free models behind the local OmniRoute gateway"
|
|
requires-python = ">=3.14"
|
|
dependencies = []
|
|
|
|
[project.scripts]
|
|
free-llm = "omniroute_offload._cli:main"
|
|
free-llm-read-hook = "omniroute_offload._hook:main"
|
|
free-llm-check-dir = "omniroute_offload._privacy:check_dir_main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["omniroute_offload*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
omniroute_offload = ["py.typed"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py314"
|
|
include = ["*.py", "**/*.py"]
|
|
exclude = [".git", ".venv", "__pycache__", "build", "dist", ".eggs"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["ALL"]
|
|
ignore = [
|
|
"D203", "D213", "COM812", "ISC001", "S603", "S607", "T201",
|
|
# No per-file copyright headers in this monorepo; /tmp is an allowed source, not a temp file.
|
|
"CPY001", "S108",
|
|
# urlopen only ever gets the fixed local gateway URL.
|
|
"S310",
|
|
]
|
|
fixable = ["ALL"]
|
|
unfixable = []
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"**/tests/**/*.py" = ["ANN401", "ARG", "D", "PLC0415", "PLR2004", "S101", "SLF001"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["omniroute_offload/tests"]
|
|
addopts = [
|
|
"-q",
|
|
"--strict-markers",
|
|
"--strict-config",
|
|
"-ra",
|
|
"--cov=omniroute_offload",
|
|
"--cov-branch",
|
|
"--cov-report=term-missing",
|
|
"--cov-report=lcov",
|
|
]
|
|
filterwarnings = ["error", "ignore::DeprecationWarning", "ignore::pytest.PytestRemovedIn10Warning"]
|
|
|
|
[tool.coverage.run]
|
|
source = ["omniroute_offload"]
|
|
branch = true
|
|
omit = ["*/__pycache__/*", "*/tests/*"]
|
|
|
|
[tool.coverage.report]
|
|
fail_under = 100
|
|
show_missing = true
|
|
exclude_lines = ["pragma: no cover", 'if __name__ == "__main__":']
|
|
|
|
[tool.pylint.main]
|
|
# The repo root on the path, so pylint resolves the package's own imports the
|
|
# same way pytest does instead of reporting import-error for them.
|
|
init-hook = "import sys; sys.path.insert(0, 'omniroute_offload')"
|
|
analyse-fallback-blocks = true
|
|
persistent = true
|
|
jobs = 0
|
|
py-version = "3.14"
|
|
ignore = [".venv", "__pycache__"]
|
|
# Test suites intentionally use patterns (protected-access, fixture-arg
|
|
# shadowing) that don't apply to source code; ruff's per-file-ignores carry
|
|
# the equivalent exemptions, so tests stay linted -- by ruff. This is the same
|
|
# source-only pylint scope wake-alarm / diet-guard / testsAndMisc use. It has
|
|
# to be `ignore-paths`, not `ignore = ["tests"]`: `ignore` only matches the
|
|
# basename of what pylint is *given*, and pre-commit hands it explicit file
|
|
# paths, so a directory name in `ignore` never fires under the hook.
|
|
ignore-paths = ["^(.*/)?tests/.*$"]
|
|
ignore-patterns = [".*\\.pyi$"]
|
|
|
|
[tool.pylint.messages_control]
|
|
enable = "all"
|
|
disable = []
|
|
|
|
[tool.pylint.design]
|
|
min-public-methods = 0
|
|
max-module-lines = 1000
|
|
max-attributes = 10
|
|
|
|
[tool.pylint.typecheck]
|
|
generated-members = [
|
|
".*\\.assert_called_once_with",
|
|
".*\\.assert_called_once",
|
|
".*\\.assert_called",
|
|
".*\\.assert_not_called",
|
|
".*\\.assert_any_call",
|
|
".*\\.call_args",
|
|
".*\\.call_args_list",
|
|
".*\\.call_count",
|
|
]
|