GT AI OS Community v2.0.33 - Add NVIDIA NIM and Nemotron agents

- Updated python_coding_microproject.csv to use NVIDIA NIM Kimi K2
- Updated kali_linux_shell_simulator.csv to use NVIDIA NIM Kimi K2
  - Made more general-purpose (flexible targets, expanded tools)
- Added nemotron-mini-agent.csv for fast local inference via Ollama
- Added nemotron-agent.csv for advanced reasoning via Ollama
- Added wiki page: Projects for NVIDIA NIMs and Nemotron
This commit is contained in:
HackWeasel
2025-12-12 17:47:14 -05:00
commit 310491a557
750 changed files with 232701 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "gt2-control-panel-backend"
version = "1.0.0"
description = "GT 2.0 Control Panel Backend API"
dependencies = [
"fastapi>=0.104.1",
"uvicorn[standard]>=0.24.0",
"sqlalchemy>=2.0.23",
"alembic>=1.13.1",
"psycopg2-binary>=2.9.9",
# "redis>=5.0.1", # Redis removed - PostgreSQL handles all caching
"pydantic>=2.5.2",
"pydantic-settings>=2.1.0",
"python-multipart>=0.0.6",
"python-jose[cryptography]>=3.3.0",
"passlib[bcrypt]>=1.7.4",
"bcryptjs>=3.2.0",
"structlog>=23.2.0",
"kubernetes>=28.1.0",
"asyncpg>=0.29.0",
"httpx>=0.25.2",
"celery>=5.3.4",
# "minio>=7.2.0" # MinIO removed - PostgreSQL handles all file storage
]
[tool.black]
line-length = 88
target-version = ['py311']
[tool.isort]
profile = "black"
line_length = 88
[tool.pydocstyle]
convention = "google"
add-ignore = ["D100", "D104"] # Allow missing docstrings in __init__.py
match = "(?!test_).*\\.py" # Exclude test files
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"--cov=app",
"--cov-report=html",
"--cov-report=term-missing",
"--cov-fail-under=80",
"--strict-markers",
"-v",
]
markers = [
"unit: Fast isolated tests (<100ms)",
"integration: Cross-service tests",
"slow: Long-running tests (>1s)",
"security: Security-focused tests",
]
asyncio_mode = "auto"
[tool.coverage.run]
source = ["app"]
omit = [
"*/tests/*",
"*/migrations/*",
"*/venv/*",
"*/env/*",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise AssertionError",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]
[tool.bandit]
exclude_dirs = ["tests", "migrations", "venv", ".venv"]
skips = ["B101", "B601"] # B101=assert_used, B601=shell_injection (for subprocess)