hypervigilant 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hypervigilant-1.0.0/.coveragerc +14 -0
- hypervigilant-1.0.0/.dockerignore +51 -0
- hypervigilant-1.0.0/.env.sample +12 -0
- hypervigilant-1.0.0/.gitattributes +1 -0
- hypervigilant-1.0.0/.gitignore +80 -0
- hypervigilant-1.0.0/.markdownlint.json +15 -0
- hypervigilant-1.0.0/.mypy.ini +69 -0
- hypervigilant-1.0.0/.pre-commit-config.yaml +69 -0
- hypervigilant-1.0.0/.prettierignore +78 -0
- hypervigilant-1.0.0/.prettierrc +5 -0
- hypervigilant-1.0.0/.pytest.ini +19 -0
- hypervigilant-1.0.0/.python-version +1 -0
- hypervigilant-1.0.0/.ruff.toml +96 -0
- hypervigilant-1.0.0/.secrets.sample +1 -0
- hypervigilant-1.0.0/Makefile +86 -0
- hypervigilant-1.0.0/PKG-INFO +44 -0
- hypervigilant-1.0.0/README.md +17 -0
- hypervigilant-1.0.0/hypervigilant/__init__.py +0 -0
- hypervigilant-1.0.0/hypervigilant/logger.py +40 -0
- hypervigilant-1.0.0/pyproject.toml +141 -0
- hypervigilant-1.0.0/pyrightconfig.json +55 -0
- hypervigilant-1.0.0/uv.lock +2202 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
.venv/
|
|
8
|
+
venv/
|
|
9
|
+
ENV/
|
|
10
|
+
env/
|
|
11
|
+
.pytest_cache/
|
|
12
|
+
.coverage
|
|
13
|
+
.coverage.*
|
|
14
|
+
htmlcov/
|
|
15
|
+
.tox/
|
|
16
|
+
.mypy_cache/
|
|
17
|
+
.dmypy.json
|
|
18
|
+
dmypy.json
|
|
19
|
+
.pyre/
|
|
20
|
+
.ruff_cache/
|
|
21
|
+
|
|
22
|
+
# Git
|
|
23
|
+
.git/
|
|
24
|
+
.github/
|
|
25
|
+
.gitignore
|
|
26
|
+
.gitattributes
|
|
27
|
+
|
|
28
|
+
# IDE
|
|
29
|
+
.vscode/
|
|
30
|
+
.idea/
|
|
31
|
+
*.swp
|
|
32
|
+
*.swo
|
|
33
|
+
*~
|
|
34
|
+
.DS_Store
|
|
35
|
+
|
|
36
|
+
# Documentation
|
|
37
|
+
docs/
|
|
38
|
+
*.md
|
|
39
|
+
!README.md
|
|
40
|
+
|
|
41
|
+
# Testing
|
|
42
|
+
tests/
|
|
43
|
+
test_*.py
|
|
44
|
+
*_test.py
|
|
45
|
+
conftest.py
|
|
46
|
+
|
|
47
|
+
# Build artifacts
|
|
48
|
+
build/
|
|
49
|
+
dist/
|
|
50
|
+
*.egg-info/
|
|
51
|
+
.eggs/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
ENV=development
|
|
2
|
+
DEBUG=true
|
|
3
|
+
|
|
4
|
+
S3__ENDPOINT_URL=http://host.docker.internal:9000
|
|
5
|
+
S3__AWS_ACCESS_KEY_ID=minioadmin
|
|
6
|
+
S3__AWS_SECRET_ACCESS_KEY=minioadmin
|
|
7
|
+
|
|
8
|
+
OPENAI__API_KEY=
|
|
9
|
+
OPENAI__MODEL_NAME=gpt-4o-mini
|
|
10
|
+
OPENAI__TEMPERATURE=0.0
|
|
11
|
+
OPENAI__MAX_COMPLETION_TOKENS=1000
|
|
12
|
+
OPENAI__LOGPROBS=false
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*.ipynb linguist-documentation
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
_build/
|
|
2
|
+
.DS_Store
|
|
3
|
+
.secrets
|
|
4
|
+
__pycache__/
|
|
5
|
+
*.py[cod]
|
|
6
|
+
*$py.class
|
|
7
|
+
*.so
|
|
8
|
+
.Python
|
|
9
|
+
build/
|
|
10
|
+
develop-eggs/
|
|
11
|
+
dist/
|
|
12
|
+
downloads/
|
|
13
|
+
eggs/
|
|
14
|
+
.eggs/
|
|
15
|
+
lib/
|
|
16
|
+
lib64/
|
|
17
|
+
parts/
|
|
18
|
+
sdist/
|
|
19
|
+
var/
|
|
20
|
+
wheels/
|
|
21
|
+
share/python-wheels/
|
|
22
|
+
*.egg-info/
|
|
23
|
+
.installed.cfg
|
|
24
|
+
*.egg
|
|
25
|
+
MANIFEST
|
|
26
|
+
*.manifest
|
|
27
|
+
*.spec
|
|
28
|
+
pip-log.txt
|
|
29
|
+
pip-delete-this-directory.txt
|
|
30
|
+
htmlcov/
|
|
31
|
+
.tox/
|
|
32
|
+
.nox/
|
|
33
|
+
.coverage
|
|
34
|
+
.coverage.*
|
|
35
|
+
.cache
|
|
36
|
+
nosetests.xml
|
|
37
|
+
coverage.xml
|
|
38
|
+
*.cover
|
|
39
|
+
*.py,cover
|
|
40
|
+
.hypothesis/
|
|
41
|
+
.pytest_cache/
|
|
42
|
+
cover/
|
|
43
|
+
*.mo
|
|
44
|
+
*.pot
|
|
45
|
+
*.log
|
|
46
|
+
instance/
|
|
47
|
+
.webassets-cache
|
|
48
|
+
.scrapy
|
|
49
|
+
docs/_build/
|
|
50
|
+
.pybuilder/
|
|
51
|
+
target/
|
|
52
|
+
.ipynb_checkpoints
|
|
53
|
+
profile_default/
|
|
54
|
+
ipython_config.py
|
|
55
|
+
.pdm.toml
|
|
56
|
+
__pypackages__/
|
|
57
|
+
celerybeat-schedule
|
|
58
|
+
celerybeat.pid
|
|
59
|
+
*.sage.py
|
|
60
|
+
.venv
|
|
61
|
+
env/
|
|
62
|
+
venv/
|
|
63
|
+
ENV/
|
|
64
|
+
env.bak/
|
|
65
|
+
venv.bak/
|
|
66
|
+
.spyderproject
|
|
67
|
+
.spyproject
|
|
68
|
+
.ropeproject
|
|
69
|
+
/site
|
|
70
|
+
.mypy_cache/
|
|
71
|
+
.dmypy.json
|
|
72
|
+
dmypy.json
|
|
73
|
+
.pyre/
|
|
74
|
+
.pytype/
|
|
75
|
+
cython_debug/
|
|
76
|
+
.vscode/
|
|
77
|
+
.env
|
|
78
|
+
**/genai/**/*
|
|
79
|
+
**/llm/**/*
|
|
80
|
+
outputs/
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Reference:
|
|
2
|
+
# https://github.com/openai/openai-python/blob/main/mypy.ini
|
|
3
|
+
# https://github.com/pytorch/pytorch/blob/main/mypy.ini
|
|
4
|
+
[mypy]
|
|
5
|
+
pretty=True
|
|
6
|
+
show_error_codes=True
|
|
7
|
+
python_version=3.12
|
|
8
|
+
|
|
9
|
+
strict_equality=True
|
|
10
|
+
implicit_reexport=True
|
|
11
|
+
check_untyped_defs=True
|
|
12
|
+
no_implicit_optional=True
|
|
13
|
+
|
|
14
|
+
warn_return_any=True
|
|
15
|
+
warn_unreachable=True
|
|
16
|
+
warn_unused_configs=True
|
|
17
|
+
|
|
18
|
+
warn_unused_ignores=False
|
|
19
|
+
warn_redundant_casts=False
|
|
20
|
+
|
|
21
|
+
disallow_any_generics=True
|
|
22
|
+
disallow_untyped_defs=True
|
|
23
|
+
disallow_untyped_calls=False
|
|
24
|
+
disallow_subclassing_any=True
|
|
25
|
+
disallow_incomplete_defs=True
|
|
26
|
+
disallow_untyped_decorators=True
|
|
27
|
+
cache_fine_grained=True
|
|
28
|
+
disable_error_code=func-returns-value
|
|
29
|
+
|
|
30
|
+
# Uncomment when using pydantic in the project
|
|
31
|
+
# plugins = pydantic.mypy
|
|
32
|
+
#
|
|
33
|
+
# [pydantic-mypy]
|
|
34
|
+
# init_forbid_extra = True
|
|
35
|
+
# init_typed = True
|
|
36
|
+
# warn_required_dynamic_aliases = True
|
|
37
|
+
|
|
38
|
+
# https://github.com/python/mypy/issues/12162
|
|
39
|
+
[mypy.overrides]
|
|
40
|
+
module="black.files.*"
|
|
41
|
+
ignore_errors=true
|
|
42
|
+
ignore_missing_imports=true
|
|
43
|
+
|
|
44
|
+
[mypy-matplotlib.*]
|
|
45
|
+
ignore_missing_imports=True
|
|
46
|
+
|
|
47
|
+
[mypy-mpl_toolkits.*]
|
|
48
|
+
ignore_missing_imports=True
|
|
49
|
+
|
|
50
|
+
[mypy-seaborn.*]
|
|
51
|
+
ignore_missing_imports=True
|
|
52
|
+
|
|
53
|
+
[mypy-sklearn.*]
|
|
54
|
+
ignore_missing_imports=True
|
|
55
|
+
|
|
56
|
+
[mypy-transformers.*]
|
|
57
|
+
ignore_missing_imports=True
|
|
58
|
+
|
|
59
|
+
[mypy-datasets.*]
|
|
60
|
+
ignore_missing_imports=True
|
|
61
|
+
|
|
62
|
+
[mypy-accelerate.*]
|
|
63
|
+
ignore_missing_imports=True
|
|
64
|
+
|
|
65
|
+
[mypy-scipy.*]
|
|
66
|
+
ignore_missing_imports=True
|
|
67
|
+
|
|
68
|
+
[mypy-bitsandbytes.*]
|
|
69
|
+
ignore_missing_imports=True
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v5.0.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-ast
|
|
6
|
+
- id: check-builtin-literals
|
|
7
|
+
- id: check-case-conflict
|
|
8
|
+
- id: check-docstring-first
|
|
9
|
+
- id: check-executables-have-shebangs
|
|
10
|
+
- id: check-json
|
|
11
|
+
- id: check-shebang-scripts-are-executable
|
|
12
|
+
- id: check-symlinks
|
|
13
|
+
- id: check-toml
|
|
14
|
+
- id: check-vcs-permalinks
|
|
15
|
+
- id: check-xml
|
|
16
|
+
- id: check-yaml
|
|
17
|
+
- id: debug-statements
|
|
18
|
+
- id: destroyed-symlinks
|
|
19
|
+
- id: mixed-line-ending
|
|
20
|
+
- id: trailing-whitespace
|
|
21
|
+
- id: check-merge-conflict
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
- repo: local
|
|
25
|
+
hooks:
|
|
26
|
+
- id: security-bandit
|
|
27
|
+
name: Security Check (Bandit)
|
|
28
|
+
entry: make security
|
|
29
|
+
language: system
|
|
30
|
+
types: [python]
|
|
31
|
+
pass_filenames: false
|
|
32
|
+
|
|
33
|
+
- repo: local
|
|
34
|
+
hooks:
|
|
35
|
+
- id: lint-ruff
|
|
36
|
+
name: Lint and Format Check (Ruff)
|
|
37
|
+
entry: make lint
|
|
38
|
+
language: system
|
|
39
|
+
types: [python]
|
|
40
|
+
pass_filenames: false
|
|
41
|
+
|
|
42
|
+
- repo: local
|
|
43
|
+
hooks:
|
|
44
|
+
- id: type-mypy
|
|
45
|
+
name: Type Check (MyPy)
|
|
46
|
+
entry: make typecheck
|
|
47
|
+
language: system
|
|
48
|
+
types: [python]
|
|
49
|
+
pass_filenames: false
|
|
50
|
+
|
|
51
|
+
- repo: local
|
|
52
|
+
hooks:
|
|
53
|
+
- id: unit-test
|
|
54
|
+
name: Unit Tests (PyTest)
|
|
55
|
+
entry: make test
|
|
56
|
+
language: system
|
|
57
|
+
types: [python]
|
|
58
|
+
pass_filenames: false
|
|
59
|
+
|
|
60
|
+
- repo: https://github.com/commitizen-tools/commitizen
|
|
61
|
+
rev: v4.8.3
|
|
62
|
+
hooks:
|
|
63
|
+
- id: commitizen
|
|
64
|
+
stages: [commit-msg]
|
|
65
|
+
|
|
66
|
+
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
67
|
+
rev: 0.7.19
|
|
68
|
+
hooks:
|
|
69
|
+
- id: uv-lock
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Build artifacts
|
|
2
|
+
build/
|
|
3
|
+
dist/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.pyc
|
|
7
|
+
*.pyo
|
|
8
|
+
.DS_Store
|
|
9
|
+
|
|
10
|
+
# Coverage reports
|
|
11
|
+
htmlcov/
|
|
12
|
+
.coverage
|
|
13
|
+
coverage.xml
|
|
14
|
+
*.cover
|
|
15
|
+
|
|
16
|
+
# Virtual environments
|
|
17
|
+
venv/
|
|
18
|
+
.venv/
|
|
19
|
+
env/
|
|
20
|
+
.env/
|
|
21
|
+
|
|
22
|
+
# Cache directories
|
|
23
|
+
.pytest_cache/
|
|
24
|
+
.mypy_cache/
|
|
25
|
+
.ruff_cache/
|
|
26
|
+
.nox/
|
|
27
|
+
.tox/
|
|
28
|
+
|
|
29
|
+
# Node modules
|
|
30
|
+
node_modules/
|
|
31
|
+
|
|
32
|
+
# IDE
|
|
33
|
+
.vscode/
|
|
34
|
+
.idea/
|
|
35
|
+
*.swp
|
|
36
|
+
*.swo
|
|
37
|
+
|
|
38
|
+
# Documentation build
|
|
39
|
+
docs/_build/
|
|
40
|
+
docs/_static/
|
|
41
|
+
docs/_templates/
|
|
42
|
+
|
|
43
|
+
# Jupyter
|
|
44
|
+
.ipynb_checkpoints/
|
|
45
|
+
*.ipynb
|
|
46
|
+
|
|
47
|
+
# Lock files (we want to format these)
|
|
48
|
+
!package-lock.json
|
|
49
|
+
!yarn.lock
|
|
50
|
+
!pnpm-lock.yaml
|
|
51
|
+
|
|
52
|
+
# Test artifacts
|
|
53
|
+
.benchmarks/
|
|
54
|
+
|
|
55
|
+
# Temporary files
|
|
56
|
+
*.tmp
|
|
57
|
+
*.temp
|
|
58
|
+
*.log
|
|
59
|
+
|
|
60
|
+
# Python files (handled by ruff)
|
|
61
|
+
*.py
|
|
62
|
+
|
|
63
|
+
# Generated files
|
|
64
|
+
*.min.js
|
|
65
|
+
*.min.css
|
|
66
|
+
|
|
67
|
+
# Archives
|
|
68
|
+
*.zip
|
|
69
|
+
*.tar.gz
|
|
70
|
+
*.tgz
|
|
71
|
+
|
|
72
|
+
# OS files
|
|
73
|
+
Thumbs.db
|
|
74
|
+
|
|
75
|
+
# Git
|
|
76
|
+
.git/
|
|
77
|
+
.gitignore
|
|
78
|
+
.gitattributes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Reference:
|
|
2
|
+
# https://github.com/tiangolo/fastapi/blob/master/pyproject.toml
|
|
3
|
+
# https://github.com/pydantic/pydantic/blob/main/pyproject.toml
|
|
4
|
+
[pytest]
|
|
5
|
+
minversion=6.0
|
|
6
|
+
pythonpath=.
|
|
7
|
+
addopts=
|
|
8
|
+
--strict-config
|
|
9
|
+
--strict-markers
|
|
10
|
+
--import-mode=importlib
|
|
11
|
+
testpaths=
|
|
12
|
+
tests/hypervigilant/unit
|
|
13
|
+
tests/hypervigilant/integration
|
|
14
|
+
xfail_strict=true
|
|
15
|
+
filterwarnings=
|
|
16
|
+
error
|
|
17
|
+
ignore::DeprecationWarning
|
|
18
|
+
markers =
|
|
19
|
+
asyncio: mark test as an async test
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
exclude = [
|
|
2
|
+
".bzr",
|
|
3
|
+
".direnv",
|
|
4
|
+
".eggs",
|
|
5
|
+
".git",
|
|
6
|
+
".git-rewrite",
|
|
7
|
+
".hg",
|
|
8
|
+
".mypy_cache",
|
|
9
|
+
".nox",
|
|
10
|
+
".pants.d",
|
|
11
|
+
".pytype",
|
|
12
|
+
".ruff_cache",
|
|
13
|
+
".svn",
|
|
14
|
+
".tox",
|
|
15
|
+
".venv",
|
|
16
|
+
"__pypackages__",
|
|
17
|
+
"_build",
|
|
18
|
+
"buck-out",
|
|
19
|
+
"build",
|
|
20
|
+
"dist",
|
|
21
|
+
"node_modules",
|
|
22
|
+
"venv",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
line-length = 120
|
|
26
|
+
indent-width = 4
|
|
27
|
+
target-version = "py312"
|
|
28
|
+
output-format = "grouped"
|
|
29
|
+
|
|
30
|
+
[lint]
|
|
31
|
+
exclude = ["*.ipynb"]
|
|
32
|
+
select = [
|
|
33
|
+
"ARG",
|
|
34
|
+
"B",
|
|
35
|
+
"C4",
|
|
36
|
+
"G",
|
|
37
|
+
"E",
|
|
38
|
+
"EXE",
|
|
39
|
+
"F",
|
|
40
|
+
"I",
|
|
41
|
+
"SIM1",
|
|
42
|
+
"W",
|
|
43
|
+
"NPY",
|
|
44
|
+
"PERF",
|
|
45
|
+
"PGH004",
|
|
46
|
+
"PIE794",
|
|
47
|
+
"PIE800",
|
|
48
|
+
"PIE804",
|
|
49
|
+
"PIE807",
|
|
50
|
+
"PIE810",
|
|
51
|
+
"PLC0131",
|
|
52
|
+
"PLC0132",
|
|
53
|
+
"PLC0205",
|
|
54
|
+
"PLE",
|
|
55
|
+
"PLR0133",
|
|
56
|
+
"PLR0206",
|
|
57
|
+
"PLR1722",
|
|
58
|
+
"PLW0129",
|
|
59
|
+
"PLW0406",
|
|
60
|
+
"PLW0711",
|
|
61
|
+
"PLW1509",
|
|
62
|
+
"PLW3301",
|
|
63
|
+
"PT006",
|
|
64
|
+
"PT022",
|
|
65
|
+
"PT023",
|
|
66
|
+
"PT024",
|
|
67
|
+
"PT025",
|
|
68
|
+
"PT026",
|
|
69
|
+
"PYI",
|
|
70
|
+
"B904",
|
|
71
|
+
"TRY203",
|
|
72
|
+
"UP",
|
|
73
|
+
]
|
|
74
|
+
ignore = [
|
|
75
|
+
"E501",
|
|
76
|
+
"UP006",
|
|
77
|
+
"UP015",
|
|
78
|
+
"UP035",
|
|
79
|
+
"G004",
|
|
80
|
+
"UP007",
|
|
81
|
+
"UP040",
|
|
82
|
+
"UP046",
|
|
83
|
+
"UP047",
|
|
84
|
+
]
|
|
85
|
+
fixable = ["ALL"]
|
|
86
|
+
unfixable = []
|
|
87
|
+
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
|
88
|
+
|
|
89
|
+
[lint.isort]
|
|
90
|
+
known-first-party = ["hypervigilant"]
|
|
91
|
+
|
|
92
|
+
[format]
|
|
93
|
+
quote-style = "double"
|
|
94
|
+
indent-style = "space"
|
|
95
|
+
skip-magic-trailing-comma = false
|
|
96
|
+
line-ending = "auto"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
POSTGRES__PASSWORD=
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
.DEFAULT_GOAL := help
|
|
2
|
+
|
|
3
|
+
PACKAGE_NAME := hypervigilant
|
|
4
|
+
DOCS_DIR := playbook
|
|
5
|
+
TEST_DIR := tests
|
|
6
|
+
SOURCES := $(PACKAGE_NAME)
|
|
7
|
+
|
|
8
|
+
.PHONY: .uv
|
|
9
|
+
.uv:
|
|
10
|
+
@uv -V || echo 'Please install uv: https://docs.astral.sh/uv/getting-started/installation/'
|
|
11
|
+
|
|
12
|
+
.PHONY: install
|
|
13
|
+
install: .uv
|
|
14
|
+
uv sync --frozen --all-extras --all-packages --all-groups
|
|
15
|
+
uv run pre-commit install
|
|
16
|
+
uv run pre-commit install --hook-type commit-msg
|
|
17
|
+
|
|
18
|
+
.PHONY: lock
|
|
19
|
+
lock: .uv
|
|
20
|
+
uv lock --upgrade
|
|
21
|
+
|
|
22
|
+
.PHONY: sync
|
|
23
|
+
sync: .uv
|
|
24
|
+
uv sync --all-extras --all-packages --all-groups
|
|
25
|
+
|
|
26
|
+
.PHONY: format
|
|
27
|
+
format: .uv
|
|
28
|
+
uv run ruff check --fix --exit-zero $(SOURCES)
|
|
29
|
+
uv run ruff format $(SOURCES)
|
|
30
|
+
|
|
31
|
+
.PHONY: lint
|
|
32
|
+
lint: .uv
|
|
33
|
+
uv run ruff check $(SOURCES)
|
|
34
|
+
uv run ruff format --check $(SOURCES)
|
|
35
|
+
|
|
36
|
+
.PHONY: security
|
|
37
|
+
security: .uv
|
|
38
|
+
uv run bandit -r $(PACKAGE_NAME) -ll
|
|
39
|
+
|
|
40
|
+
.PHONY: typecheck
|
|
41
|
+
typecheck: .uv
|
|
42
|
+
uv run mypy $(SOURCES)
|
|
43
|
+
uv run pyright $(SOURCES)
|
|
44
|
+
# @echo "Running ty (experimental)..."
|
|
45
|
+
# uv run ty check $(SOURCES) || echo "ty check failed (expected for pre-release)"
|
|
46
|
+
|
|
47
|
+
.PHONY: test
|
|
48
|
+
test: .uv
|
|
49
|
+
uv run pytest $(TEST_DIR)
|
|
50
|
+
|
|
51
|
+
.PHONY: coverage
|
|
52
|
+
coverage: .uv
|
|
53
|
+
uv run coverage run -m pytest $(TEST_DIR)
|
|
54
|
+
uv run coverage html -d htmlcov
|
|
55
|
+
uv run coverage xml -o coverage.xml
|
|
56
|
+
uv run coverage report -m --fail-under=95
|
|
57
|
+
|
|
58
|
+
.PHONY: docs
|
|
59
|
+
docs: .uv
|
|
60
|
+
cd $(DOCS_DIR) && uv run jupyter book build .
|
|
61
|
+
|
|
62
|
+
.PHONY: ci
|
|
63
|
+
ci: lint security typecheck test
|
|
64
|
+
|
|
65
|
+
.PHONY: clean
|
|
66
|
+
clean:
|
|
67
|
+
@./scripts/clean.sh
|
|
68
|
+
|
|
69
|
+
.PHONY: help
|
|
70
|
+
help:
|
|
71
|
+
@echo "Development Commands:"
|
|
72
|
+
@echo " install Install all dependencies (all groups + extras)"
|
|
73
|
+
@echo " lock Update and regenerate lock file"
|
|
74
|
+
@echo " sync Sync dependencies (without --frozen)"
|
|
75
|
+
@echo " format Format code with ruff"
|
|
76
|
+
@echo " lint Lint code with ruff (includes format check)"
|
|
77
|
+
@echo " security Run security checks with bandit"
|
|
78
|
+
@echo " typecheck Run type checking with mypy, pyright"
|
|
79
|
+
@echo " test Run tests with pytest"
|
|
80
|
+
@echo " coverage Run tests with coverage reporting (95% minimum)"
|
|
81
|
+
@echo " docs Build Jupyter Book documentation"
|
|
82
|
+
@echo " ci Run full CI pipeline (lint, security, typecheck, test, coverage)"
|
|
83
|
+
@echo ""
|
|
84
|
+
@echo "Utility Commands:"
|
|
85
|
+
@echo " clean Clean build artifacts and cache files"
|
|
86
|
+
@echo " help Show this help message"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hypervigilant
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: A collection of code for hypervigilant - wrapper for instrumentation.
|
|
5
|
+
Project-URL: Homepage, https://github.com/gao-hongnan/hypervigilant
|
|
6
|
+
Project-URL: Documentation, https://github.com/gao-hongnan/hypervigilant/tree/main/playbook
|
|
7
|
+
Project-URL: Repository, https://github.com/gao-hongnan/hypervigilant
|
|
8
|
+
Project-URL: Issues, https://github.com/gao-hongnan/hypervigilant/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/gao-hongnan/hypervigilant/releases
|
|
10
|
+
Author-email: GAO Hongnan <hongnangao@gmail.com>
|
|
11
|
+
Maintainer-email: GAO Hongnan <hongnangao@gmail.com>
|
|
12
|
+
License: Apache-2.0
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: >=3.12
|
|
24
|
+
Provides-Extra: playground
|
|
25
|
+
Requires-Dist: pydanticonf>=1.0.0; extra == 'playground'
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
|
|
28
|
+
# Hypervigilant
|
|
29
|
+
|
|
30
|
+
[](https://github.com/gao-hongnan/hypervigilant/actions/workflows/ci.yml)
|
|
31
|
+
[](https://www.python.org/downloads/)
|
|
32
|
+
[](https://github.com/gao-hongnan/hypervigilant)
|
|
33
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
34
|
+
[](https://github.com/astral-sh/ruff)
|
|
35
|
+
[](http://mypy-lang.org/)
|
|
36
|
+
[](https://github.com/microsoft/pyright)
|
|
37
|
+
[](https://github.com/pre-commit/pre-commit)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git commit -m "release: v14.0.0" && \
|
|
41
|
+
git push origin main && \
|
|
42
|
+
git tag v14.0.0 && \
|
|
43
|
+
git push origin v14.0.0
|
|
44
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Hypervigilant
|
|
2
|
+
|
|
3
|
+
[](https://github.com/gao-hongnan/hypervigilant/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.python.org/downloads/)
|
|
5
|
+
[](https://github.com/gao-hongnan/hypervigilant)
|
|
6
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
7
|
+
[](https://github.com/astral-sh/ruff)
|
|
8
|
+
[](http://mypy-lang.org/)
|
|
9
|
+
[](https://github.com/microsoft/pyright)
|
|
10
|
+
[](https://github.com/pre-commit/pre-commit)
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
git commit -m "release: v14.0.0" && \
|
|
14
|
+
git push origin main && \
|
|
15
|
+
git tag v14.0.0 && \
|
|
16
|
+
git push origin v14.0.0
|
|
17
|
+
```
|
|
File without changes
|