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.
Files changed (47) hide show
  1. comp_manager-0.0.1/.coveragerc +14 -0
  2. comp_manager-0.0.1/.coveragerc-no-sage +16 -0
  3. comp_manager-0.0.1/.pre-commit-config.yaml +128 -0
  4. comp_manager-0.0.1/ARCHITECTURE.md +954 -0
  5. comp_manager-0.0.1/CODE_OF_CONDUCT.md +128 -0
  6. comp_manager-0.0.1/CONTRIBUTING.md +1051 -0
  7. comp_manager-0.0.1/Dockerfile +6 -0
  8. comp_manager-0.0.1/LICENSE +674 -0
  9. comp_manager-0.0.1/MANIFEST.in +35 -0
  10. comp_manager-0.0.1/Makefile +18 -0
  11. comp_manager-0.0.1/PKG-INFO +811 -0
  12. comp_manager-0.0.1/README.md +759 -0
  13. comp_manager-0.0.1/pyproject.toml +187 -0
  14. comp_manager-0.0.1/setup.cfg +4 -0
  15. comp_manager-0.0.1/src/comp_manager/__init__.py +130 -0
  16. comp_manager-0.0.1/src/comp_manager/__main__.py +61 -0
  17. comp_manager-0.0.1/src/comp_manager/api/__init__.py +6 -0
  18. comp_manager-0.0.1/src/comp_manager/api/openapi/api.yaml +109 -0
  19. comp_manager-0.0.1/src/comp_manager/api/openapi/parameters.yaml +139 -0
  20. comp_manager-0.0.1/src/comp_manager/api/openapi/schema.yaml +86 -0
  21. comp_manager-0.0.1/src/comp_manager/api/resource.py +195 -0
  22. comp_manager-0.0.1/src/comp_manager/common/__init__.py +0 -0
  23. comp_manager-0.0.1/src/comp_manager/common/models.py +337 -0
  24. comp_manager-0.0.1/src/comp_manager/config.py +76 -0
  25. comp_manager-0.0.1/src/comp_manager/core/__init__.py +0 -0
  26. comp_manager-0.0.1/src/comp_manager/core/caching.py +102 -0
  27. comp_manager-0.0.1/src/comp_manager/core/decorators.py +262 -0
  28. comp_manager-0.0.1/src/comp_manager/core/interface.py.bak +53 -0
  29. comp_manager-0.0.1/src/comp_manager/core/models.py +156 -0
  30. comp_manager-0.0.1/src/comp_manager/core/queryset.py +17 -0
  31. comp_manager-0.0.1/src/comp_manager/core/storage.py +243 -0
  32. comp_manager-0.0.1/src/comp_manager/extensions.py +6 -0
  33. comp_manager-0.0.1/src/comp_manager/utils/__init__.py +1 -0
  34. comp_manager-0.0.1/src/comp_manager/utils/api.py +116 -0
  35. comp_manager-0.0.1/src/comp_manager/utils/db_helpers.py +118 -0
  36. comp_manager-0.0.1/src/comp_manager/utils/json_encoder.py +130 -0
  37. comp_manager-0.0.1/src/comp_manager/utils/json_encoder_sage.py +762 -0
  38. comp_manager-0.0.1/src/comp_manager/utils/mongoengine.py +362 -0
  39. comp_manager-0.0.1/src/comp_manager/utils/serialization.py +248 -0
  40. comp_manager-0.0.1/src/comp_manager/utils/types_sage.py +135 -0
  41. comp_manager-0.0.1/src/comp_manager/version.py +34 -0
  42. comp_manager-0.0.1/src/comp_manager.egg-info/PKG-INFO +811 -0
  43. comp_manager-0.0.1/src/comp_manager.egg-info/SOURCES.txt +45 -0
  44. comp_manager-0.0.1/src/comp_manager.egg-info/dependency_links.txt +1 -0
  45. comp_manager-0.0.1/src/comp_manager.egg-info/entry_points.txt +2 -0
  46. comp_manager-0.0.1/src/comp_manager.egg-info/requires.txt +28 -0
  47. comp_manager-0.0.1/src/comp_manager.egg-info/top_level.txt +1 -0
@@ -0,0 +1,14 @@
1
+ [run]
2
+ source = src/comp_manager
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
@@ -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