comp-manager 0.0.1__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.
- comp_manager-0.0.1/.coveragerc +14 -0
- comp_manager-0.0.1/.coveragerc-no-sage +16 -0
- comp_manager-0.0.1/.pre-commit-config.yaml +128 -0
- comp_manager-0.0.1/ARCHITECTURE.md +954 -0
- comp_manager-0.0.1/CODE_OF_CONDUCT.md +128 -0
- comp_manager-0.0.1/CONTRIBUTING.md +1051 -0
- comp_manager-0.0.1/Dockerfile +6 -0
- comp_manager-0.0.1/LICENSE +674 -0
- comp_manager-0.0.1/MANIFEST.in +35 -0
- comp_manager-0.0.1/Makefile +18 -0
- comp_manager-0.0.1/PKG-INFO +811 -0
- comp_manager-0.0.1/README.md +759 -0
- comp_manager-0.0.1/pyproject.toml +187 -0
- comp_manager-0.0.1/setup.cfg +4 -0
- comp_manager-0.0.1/src/comp_manager/__init__.py +130 -0
- comp_manager-0.0.1/src/comp_manager/__main__.py +61 -0
- comp_manager-0.0.1/src/comp_manager/api/__init__.py +6 -0
- comp_manager-0.0.1/src/comp_manager/api/openapi/api.yaml +109 -0
- comp_manager-0.0.1/src/comp_manager/api/openapi/parameters.yaml +139 -0
- comp_manager-0.0.1/src/comp_manager/api/openapi/schema.yaml +86 -0
- comp_manager-0.0.1/src/comp_manager/api/resource.py +195 -0
- comp_manager-0.0.1/src/comp_manager/common/__init__.py +0 -0
- comp_manager-0.0.1/src/comp_manager/common/models.py +337 -0
- comp_manager-0.0.1/src/comp_manager/config.py +76 -0
- comp_manager-0.0.1/src/comp_manager/core/__init__.py +0 -0
- comp_manager-0.0.1/src/comp_manager/core/caching.py +102 -0
- comp_manager-0.0.1/src/comp_manager/core/decorators.py +262 -0
- comp_manager-0.0.1/src/comp_manager/core/interface.py.bak +53 -0
- comp_manager-0.0.1/src/comp_manager/core/models.py +156 -0
- comp_manager-0.0.1/src/comp_manager/core/queryset.py +17 -0
- comp_manager-0.0.1/src/comp_manager/core/storage.py +243 -0
- comp_manager-0.0.1/src/comp_manager/extensions.py +6 -0
- comp_manager-0.0.1/src/comp_manager/utils/__init__.py +1 -0
- comp_manager-0.0.1/src/comp_manager/utils/api.py +116 -0
- comp_manager-0.0.1/src/comp_manager/utils/db_helpers.py +118 -0
- comp_manager-0.0.1/src/comp_manager/utils/json_encoder.py +130 -0
- comp_manager-0.0.1/src/comp_manager/utils/json_encoder_sage.py +762 -0
- comp_manager-0.0.1/src/comp_manager/utils/mongoengine.py +362 -0
- comp_manager-0.0.1/src/comp_manager/utils/serialization.py +248 -0
- comp_manager-0.0.1/src/comp_manager/utils/types_sage.py +135 -0
- comp_manager-0.0.1/src/comp_manager/version.py +34 -0
- comp_manager-0.0.1/src/comp_manager.egg-info/PKG-INFO +811 -0
- comp_manager-0.0.1/src/comp_manager.egg-info/SOURCES.txt +45 -0
- comp_manager-0.0.1/src/comp_manager.egg-info/dependency_links.txt +1 -0
- comp_manager-0.0.1/src/comp_manager.egg-info/entry_points.txt +2 -0
- comp_manager-0.0.1/src/comp_manager.egg-info/requires.txt +28 -0
- comp_manager-0.0.1/src/comp_manager.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[run]
|
|
2
|
+
source = src/comp_manager/utils/json_encoder_sage.py
|
|
3
|
+
omit =
|
|
4
|
+
venv/*
|
|
5
|
+
|
|
6
|
+
[report]
|
|
7
|
+
exclude_lines =
|
|
8
|
+
pragma: no cover
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
def __repr__
|
|
11
|
+
raise NotImplementedError
|
|
12
|
+
if __name__ == .__main__.:
|
|
13
|
+
exclude_also =
|
|
14
|
+
@(abc\.)?abstractmethod
|
|
15
|
+
no cover: start(?s:.)*?no cover: stop
|
|
16
|
+
\A(?s:.*# pragma: exclude file.*)\Z
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Pre-commit hooks configuration
|
|
2
|
+
# See https://pre-commit.com for more information
|
|
3
|
+
# See https://pre-commit.com/hooks.html for more hooks
|
|
4
|
+
|
|
5
|
+
repos:
|
|
6
|
+
# General pre-commit hooks
|
|
7
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
8
|
+
rev: v4.5.0
|
|
9
|
+
hooks:
|
|
10
|
+
# Prevent large files from being committed
|
|
11
|
+
- id: check-added-large-files
|
|
12
|
+
args: ['--maxkb=1000']
|
|
13
|
+
|
|
14
|
+
# Check for files that would conflict in case-insensitive filesystems
|
|
15
|
+
- id: check-case-conflict
|
|
16
|
+
|
|
17
|
+
# Ensure files end with a newline
|
|
18
|
+
- id: end-of-file-fixer
|
|
19
|
+
exclude: '\.sobj$'
|
|
20
|
+
|
|
21
|
+
# Remove trailing whitespace
|
|
22
|
+
- id: trailing-whitespace
|
|
23
|
+
args: [--markdown-linebreak-ext=md]
|
|
24
|
+
|
|
25
|
+
# Check YAML files for parseable syntax
|
|
26
|
+
- id: check-yaml
|
|
27
|
+
args: ['--unsafe']
|
|
28
|
+
|
|
29
|
+
# Check TOML files for parseable syntax
|
|
30
|
+
- id: check-toml
|
|
31
|
+
|
|
32
|
+
# Check JSON files for parseable syntax
|
|
33
|
+
- id: check-json
|
|
34
|
+
|
|
35
|
+
# Check for merge conflicts
|
|
36
|
+
- id: check-merge-conflict
|
|
37
|
+
|
|
38
|
+
# Prevent committing to protected branches
|
|
39
|
+
- id: no-commit-to-branch
|
|
40
|
+
args: ['--branch', 'main']
|
|
41
|
+
|
|
42
|
+
# Check for files that would conflict with Python module names
|
|
43
|
+
- id: check-ast
|
|
44
|
+
|
|
45
|
+
# Check for debugger imports
|
|
46
|
+
- id: debug-statements
|
|
47
|
+
|
|
48
|
+
# Detect private keys
|
|
49
|
+
- id: detect-private-key
|
|
50
|
+
|
|
51
|
+
# Mixed line endings
|
|
52
|
+
- id: mixed-line-ending
|
|
53
|
+
args: ['--fix=lf']
|
|
54
|
+
|
|
55
|
+
# Ruff - Python linter and formatter
|
|
56
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
57
|
+
rev: v0.14.11
|
|
58
|
+
hooks:
|
|
59
|
+
# Run the linter
|
|
60
|
+
- id: ruff
|
|
61
|
+
args: [--fix]
|
|
62
|
+
types_or: [python, pyi]
|
|
63
|
+
|
|
64
|
+
# Run the formatter
|
|
65
|
+
- id: ruff-format
|
|
66
|
+
types_or: [python, pyi]
|
|
67
|
+
|
|
68
|
+
# MyPy - Static type checking (optional but recommended)
|
|
69
|
+
# Note: Disabled by default. Run manually with: pre-commit run mypy --all-files
|
|
70
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
71
|
+
rev: v1.11.2
|
|
72
|
+
hooks:
|
|
73
|
+
- id: mypy
|
|
74
|
+
args: [--ignore-missing-imports, --no-strict-optional, --check-untyped-defs]
|
|
75
|
+
additional_dependencies:
|
|
76
|
+
- types-flask
|
|
77
|
+
- types-pyyaml
|
|
78
|
+
- mongoengine-stubs
|
|
79
|
+
files: ^src/
|
|
80
|
+
exclude: ^tests/
|
|
81
|
+
stages: [manual] # Only run when explicitly called
|
|
82
|
+
|
|
83
|
+
# Check for common security issues
|
|
84
|
+
- repo: https://github.com/PyCQA/bandit
|
|
85
|
+
rev: 1.7.9
|
|
86
|
+
hooks:
|
|
87
|
+
- id: bandit
|
|
88
|
+
args: ['-c', 'pyproject.toml']
|
|
89
|
+
additional_dependencies: ['bandit[toml]']
|
|
90
|
+
exclude: ^tests/
|
|
91
|
+
|
|
92
|
+
# Validate pyproject.toml
|
|
93
|
+
- repo: https://github.com/abravalheri/validate-pyproject
|
|
94
|
+
rev: v0.24.1
|
|
95
|
+
hooks:
|
|
96
|
+
- id: validate-pyproject
|
|
97
|
+
|
|
98
|
+
# Conventional commit message validation
|
|
99
|
+
- repo: https://github.com/compilerla/conventional-pre-commit
|
|
100
|
+
rev: v3.4.0
|
|
101
|
+
hooks:
|
|
102
|
+
- id: conventional-pre-commit
|
|
103
|
+
stages: [commit-msg]
|
|
104
|
+
args:
|
|
105
|
+
- feat
|
|
106
|
+
- fix
|
|
107
|
+
- docs
|
|
108
|
+
- style
|
|
109
|
+
- refactor
|
|
110
|
+
- perf
|
|
111
|
+
- test
|
|
112
|
+
- chore
|
|
113
|
+
- ci
|
|
114
|
+
- revert
|
|
115
|
+
- build
|
|
116
|
+
|
|
117
|
+
# Configuration for pre-commit.ci (optional - for automated PR checks)
|
|
118
|
+
ci:
|
|
119
|
+
autofix_commit_msg: |
|
|
120
|
+
style: auto-fixes from pre-commit hooks
|
|
121
|
+
|
|
122
|
+
[pre-commit.ci] auto fixes from pre-commit.com hooks
|
|
123
|
+
autofix_prs: true
|
|
124
|
+
autoupdate_branch: develop
|
|
125
|
+
autoupdate_commit_msg: 'chore: update pre-commit hooks'
|
|
126
|
+
autoupdate_schedule: monthly
|
|
127
|
+
skip: []
|
|
128
|
+
submodules: false
|