forked from cerc-io/stack-orchestrator
Add CLAUDE.md, pre-commit config, and pyproject.toml
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8afae1904b
commit
9bd59f29d9
3 files changed
+172
No files matched your search
+111
@@ -0,0 +1,111 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=61.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "laconic-stack-orchestrator"
|
||||
version = "1.1.0"
|
||||
description = "Orchestrates deployment of the Laconic stack"
|
||||
readme = "README.md"
|
||||
license = {text = "GNU Affero General Public License"}
|
||||
authors = [
|
||||
{name = "Cerc", email = "info@cerc.io"}
|
||||
]
|
||||
requires-python = ">=3.8"
|
||||
classifiers = [
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
dependencies = [
|
||||
"python-decouple>=3.8",
|
||||
"python-dotenv==1.0.0",
|
||||
"GitPython>=3.1.32",
|
||||
"tqdm>=4.65.0",
|
||||
"python-on-whales>=0.64.0",
|
||||
"click>=8.1.6",
|
||||
"PyYAML>=6.0.1",
|
||||
"ruamel.yaml>=0.17.32",
|
||||
"pydantic==1.10.9",
|
||||
"tomli==2.0.1",
|
||||
"validators==0.22.0",
|
||||
"kubernetes>=28.1.0",
|
||||
"humanfriendly>=10.0",
|
||||
"python-gnupg>=0.5.2",
|
||||
"requests>=2.3.2",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest>=7.0.0",
|
||||
"pytest-cov>=4.0.0",
|
||||
"black>=22.0.0",
|
||||
"flake8>=5.0.0",
|
||||
"pyright>=1.1.0",
|
||||
"ansible-lint>=6.0.0",
|
||||
"yamllint>=1.28.0",
|
||||
"pre-commit>=3.0.0",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
laconic-so = "stack_orchestrator.main:cli"
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://git.vdb.to/cerc-io/stack-orchestrator"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["."]
|
||||
|
||||
[tool.setuptools.package-data]
|
||||
"*" = ["data/**"]
|
||||
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
target-version = ['py38']
|
||||
|
||||
[tool.flake8]
|
||||
max-line-length = 88
|
||||
extend-ignore = ["E203", "W503"]
|
||||
|
||||
[tool.pyright]
|
||||
pythonVersion = "3.9"
|
||||
typeCheckingMode = "basic"
|
||||
reportMissingImports = "none"
|
||||
reportMissingModuleSource = "none"
|
||||
reportUnusedImport = "error"
|
||||
include = ["stack_orchestrator/**/*.py", "tests/**/*.py"]
|
||||
exclude = ["**/build/**", "**/__pycache__/**"]
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.8"
|
||||
warn_return_any = true
|
||||
warn_unused_configs = true
|
||||
disallow_untyped_defs = true
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = ["tests"]
|
||||
python_files = ["test_*.py"]
|
||||
python_classes = ["Test*"]
|
||||
python_functions = ["test_*"]
|
||||
markers = [
|
||||
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
||||
"e2e: marks tests as end-to-end (requires real infrastructure)",
|
||||
]
|
||||
addopts = [
|
||||
"--cov",
|
||||
"--cov-report=term-missing",
|
||||
"--cov-report=html",
|
||||
"--strict-markers",
|
||||
]
|
||||
asyncio_default_fixture_loop_scope = "function"
|
||||
|
||||
[tool.coverage.run]
|
||||
source = ["stack_orchestrator"]
|
||||
disable_warnings = ["couldnt-parse"]
|
||||
|
||||
[tool.coverage.report]
|
||||
exclude_lines = [
|
||||
"pragma: no cover",
|
||||
"def __repr__",
|
||||
"raise AssertionError",
|
||||
"raise NotImplementedError",
|
||||
]
|
||||
Reference in new issue
Block a user