scopio 0.1.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.
scopio-0.1.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Gabriel P. Monte
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
scopio-0.1.1/PKG-INFO ADDED
@@ -0,0 +1,146 @@
1
+ Metadata-Version: 2.4
2
+ Name: scopio
3
+ Version: 0.1.1
4
+ Summary: Code metrics auditor with SQLite history, diffs and quality gates.
5
+ Author-email: "Gabriel P. Monte" <gabrielpmonte@users.noreply.github.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/gabrielpmonte/scopio
8
+ Project-URL: Repository, https://github.com/gabrielpmonte/scopio
9
+ Project-URL: Issues, https://github.com/gabrielpmonte/scopio/issues
10
+ Keywords: metrics,code-quality,ccn,lizard,scc,audit,ci
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Topic :: Software Development :: Quality Assurance
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: click>=8.1
22
+ Requires-Dist: tomli>=1.2; python_version < "3.11"
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest>=8; extra == "dev"
25
+ Dynamic: license-file
26
+
27
+ # scopio
28
+
29
+ Code metrics auditor with SQLite history, diffs and quality gates.
30
+
31
+ ## Install
32
+
33
+ ```bash
34
+ pip install scopio
35
+ ```
36
+
37
+ ## Quick Start
38
+
39
+ ```bash
40
+ scopio --config scopio.toml run
41
+ ```
42
+
43
+ ## Usage
44
+
45
+ ### Run audit
46
+
47
+ ```bash
48
+ scopio --config scopio.toml run
49
+ scopio --config scopio.toml run --verbose
50
+ scopio --config scopio.toml run --incremental
51
+ ```
52
+
53
+ ### Report history
54
+
55
+ ```bash
56
+ scopio report --project wrong-web --limit 10
57
+ ```
58
+
59
+ ### Diff between audits
60
+
61
+ ```bash
62
+ scopio diff --project wrong-web
63
+ ```
64
+
65
+ ### Diff report with file-level detail
66
+
67
+ ```bash
68
+ scopio diff-report --project wrong-web --files --threshold-ccn 6
69
+ ```
70
+
71
+ ### CI integration
72
+
73
+ ```bash
74
+ scopio ci --project wrong-web --fail-on-regression
75
+ ```
76
+
77
+ ### Clean old audits
78
+
79
+ ```bash
80
+ scopio clean --keep 50
81
+ ```
82
+
83
+ ### Archive old data
84
+
85
+ ```bash
86
+ scopio archive --older-than 2026-01-01 --format csv
87
+ ```
88
+
89
+ ### Initialize config
90
+
91
+ ```bash
92
+ scopio init
93
+ ```
94
+
95
+ ## Configuration
96
+
97
+ ```toml
98
+ [discovery]
99
+ ignore_hidden = true
100
+ projects = ["my-project"]
101
+
102
+ [filters]
103
+ global_dirs = ["node_modules", "target", "dist", "build"]
104
+ minified_files = ["*.min.js", "*.min.css"]
105
+ ignored_langs = ["JSON", "Markdown", "TOML"]
106
+
107
+ [quality_gates]
108
+ max_ccn = 10.0
109
+ max_warnings = 10
110
+ max_ccn_trend_increase = 0.2
111
+ trend_sensitive_projects = []
112
+
113
+ [quality_gates.per_project]
114
+ # "my-project" = { max_ccn = 12.0, max_warnings = 15 }
115
+
116
+ [quality_gates.per_language]
117
+ # Python = { max_ccn = 12.0, max_warnings = 20 }
118
+ ```
119
+
120
+ ## GitHub Actions
121
+
122
+ ```yaml
123
+ name: Scopio
124
+ on:
125
+ push:
126
+ branches: [main]
127
+ pull_request:
128
+ branches: [main]
129
+
130
+ jobs:
131
+ scopio:
132
+ runs-on: ubuntu-latest
133
+ steps:
134
+ - uses: actions/checkout@v4
135
+ - uses: actions/setup-python@v5
136
+ with:
137
+ python-version: "3.11"
138
+ - name: Install scopio
139
+ run: pip install scopio
140
+ - name: Run scopio
141
+ run: scopio ci --project my-project --fail-on-regression
142
+ ```
143
+
144
+ ## License
145
+
146
+ MIT
scopio-0.1.1/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # scopio
2
+
3
+ Code metrics auditor with SQLite history, diffs and quality gates.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pip install scopio
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ scopio --config scopio.toml run
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ### Run audit
20
+
21
+ ```bash
22
+ scopio --config scopio.toml run
23
+ scopio --config scopio.toml run --verbose
24
+ scopio --config scopio.toml run --incremental
25
+ ```
26
+
27
+ ### Report history
28
+
29
+ ```bash
30
+ scopio report --project wrong-web --limit 10
31
+ ```
32
+
33
+ ### Diff between audits
34
+
35
+ ```bash
36
+ scopio diff --project wrong-web
37
+ ```
38
+
39
+ ### Diff report with file-level detail
40
+
41
+ ```bash
42
+ scopio diff-report --project wrong-web --files --threshold-ccn 6
43
+ ```
44
+
45
+ ### CI integration
46
+
47
+ ```bash
48
+ scopio ci --project wrong-web --fail-on-regression
49
+ ```
50
+
51
+ ### Clean old audits
52
+
53
+ ```bash
54
+ scopio clean --keep 50
55
+ ```
56
+
57
+ ### Archive old data
58
+
59
+ ```bash
60
+ scopio archive --older-than 2026-01-01 --format csv
61
+ ```
62
+
63
+ ### Initialize config
64
+
65
+ ```bash
66
+ scopio init
67
+ ```
68
+
69
+ ## Configuration
70
+
71
+ ```toml
72
+ [discovery]
73
+ ignore_hidden = true
74
+ projects = ["my-project"]
75
+
76
+ [filters]
77
+ global_dirs = ["node_modules", "target", "dist", "build"]
78
+ minified_files = ["*.min.js", "*.min.css"]
79
+ ignored_langs = ["JSON", "Markdown", "TOML"]
80
+
81
+ [quality_gates]
82
+ max_ccn = 10.0
83
+ max_warnings = 10
84
+ max_ccn_trend_increase = 0.2
85
+ trend_sensitive_projects = []
86
+
87
+ [quality_gates.per_project]
88
+ # "my-project" = { max_ccn = 12.0, max_warnings = 15 }
89
+
90
+ [quality_gates.per_language]
91
+ # Python = { max_ccn = 12.0, max_warnings = 20 }
92
+ ```
93
+
94
+ ## GitHub Actions
95
+
96
+ ```yaml
97
+ name: Scopio
98
+ on:
99
+ push:
100
+ branches: [main]
101
+ pull_request:
102
+ branches: [main]
103
+
104
+ jobs:
105
+ scopio:
106
+ runs-on: ubuntu-latest
107
+ steps:
108
+ - uses: actions/checkout@v4
109
+ - uses: actions/setup-python@v5
110
+ with:
111
+ python-version: "3.11"
112
+ - name: Install scopio
113
+ run: pip install scopio
114
+ - name: Run scopio
115
+ run: scopio ci --project my-project --fail-on-regression
116
+ ```
117
+
118
+ ## License
119
+
120
+ MIT
@@ -0,0 +1,39 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "scopio"
7
+ version = "0.1.1"
8
+ description = "Code metrics auditor with SQLite history, diffs and quality gates."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = "MIT"
12
+ authors = [
13
+ { name = "Gabriel P. Monte", email = "gabrielpmonte@users.noreply.github.com" },
14
+ ]
15
+ keywords = ["metrics", "code-quality", "ccn", "lizard", "scc", "audit", "ci"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Environment :: Console",
19
+ "Intended Audience :: Developers",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Topic :: Software Development :: Quality Assurance",
23
+ "Topic :: Software Development :: Libraries :: Python Modules",
24
+ ]
25
+ dependencies = ["click>=8.1", "tomli>=1.2; python_version < '3.11'"]
26
+
27
+ [project.urls]
28
+ Homepage = "https://github.com/gabrielpmonte/scopio"
29
+ Repository = "https://github.com/gabrielpmonte/scopio"
30
+ Issues = "https://github.com/gabrielpmonte/scopio/issues"
31
+
32
+ [project.scripts]
33
+ scopio = "scopio.cli:cli"
34
+
35
+ [project.optional-dependencies]
36
+ dev = ["pytest>=8"]
37
+
38
+ [tool.pytest.ini_options]
39
+ testpaths = ["tests"]
@@ -0,0 +1 @@
1
+ __version__ = "0.1.1"