pyscn 0.3.0b1__py3-none-win_amd64.whl → 0.4.0b1__py3-none-win_amd64.whl
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.
Potentially problematic release.
This version of pyscn might be problematic. Click here for more details.
- pyscn/bin/pyscn-windows-amd64.exe +0 -0
- pyscn-0.4.0b1.dist-info/METADATA +160 -0
- pyscn-0.4.0b1.dist-info/RECORD +8 -0
- pyscn-0.3.0b1.dist-info/METADATA +0 -26
- pyscn-0.3.0b1.dist-info/RECORD +0 -8
- {pyscn-0.3.0b1.dist-info → pyscn-0.4.0b1.dist-info}/WHEEL +0 -0
- {pyscn-0.3.0b1.dist-info → pyscn-0.4.0b1.dist-info}/entry_points.txt +0 -0
|
Binary file
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pyscn
|
|
3
|
+
Version: 0.4.0b1
|
|
4
|
+
Summary: An intelligent Python code quality analyzer with architectural guidance
|
|
5
|
+
Home-page: https://github.com/ludo-technologies/pyscn
|
|
6
|
+
Author: DaisukeYoda
|
|
7
|
+
Author-email: daisukeyoda@users.noreply.github.com
|
|
8
|
+
License: MIT
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
21
|
+
Requires-Python: >=3.8
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
|
|
24
|
+
# pyscn - Python Code Quality Analyzer
|
|
25
|
+
|
|
26
|
+
[](https://pypi.org/project/pyscn/)
|
|
27
|
+
[](https://go.dev/)
|
|
28
|
+
[](LICENSE)
|
|
29
|
+
[](https://github.com/ludo-technologies/pyscn/actions)
|
|
30
|
+
|
|
31
|
+
**pyscn** is an intelligent Python code quality analyzer that performs deep structural analysis to help you write cleaner, more maintainable code.
|
|
32
|
+
|
|
33
|
+
## What Can It Do For You?
|
|
34
|
+
|
|
35
|
+
- 🔍 **Find Complex Code** - Identify functions that are hard to test and maintain
|
|
36
|
+
- 🧹 **Remove Dead Code** - Detect unreachable code that clutters your codebase
|
|
37
|
+
- 📋 **Detect Duplicates** - Find copy-pasted code for refactoring opportunities
|
|
38
|
+
- 🔗 **Analyze Dependencies** - Understand module relationships and coupling
|
|
39
|
+
- 📊 **Validate Architecture** - Ensure your code follows architectural patterns
|
|
40
|
+
- 📈 **Generate Reports** - Export findings in HTML, JSON, YAML, or CSV
|
|
41
|
+
|
|
42
|
+
## Quick Start
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 1. Install
|
|
46
|
+
pip install pyscn
|
|
47
|
+
|
|
48
|
+
# 2. Run analysis
|
|
49
|
+
pyscn analyze .
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Common Commands
|
|
53
|
+
|
|
54
|
+
### `pyscn analyze`
|
|
55
|
+
Run comprehensive analysis with HTML report
|
|
56
|
+
```bash
|
|
57
|
+
pyscn analyze . # All analyses with HTML report
|
|
58
|
+
pyscn analyze --json . # Generate JSON report
|
|
59
|
+
pyscn analyze --select complexity . # Only complexity analysis
|
|
60
|
+
pyscn analyze --select deps . # Only dependency analysis
|
|
61
|
+
pyscn analyze --select complexity,deps,deadcode . # Multiple analyses
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### `pyscn check`
|
|
65
|
+
Fast CI-friendly quality gate
|
|
66
|
+
```bash
|
|
67
|
+
pyscn check . # Quick pass/fail check
|
|
68
|
+
pyscn check --max-complexity 15 . # Custom thresholds
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### `pyscn init`
|
|
72
|
+
Create configuration file
|
|
73
|
+
```bash
|
|
74
|
+
pyscn init # Generate .pyscn.toml
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
> 💡 Run `pyscn --help` or `pyscn <command> --help` for complete options
|
|
78
|
+
|
|
79
|
+
## Configuration
|
|
80
|
+
|
|
81
|
+
Create a `.pyscn.toml` file or add `[tool.pyscn]` to your `pyproject.toml`:
|
|
82
|
+
|
|
83
|
+
```toml
|
|
84
|
+
# .pyscn.toml
|
|
85
|
+
[complexity]
|
|
86
|
+
max_complexity = 15
|
|
87
|
+
|
|
88
|
+
[dead_code]
|
|
89
|
+
min_severity = "warning"
|
|
90
|
+
|
|
91
|
+
[output]
|
|
92
|
+
directory = "reports"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
> ⚙️ Run `pyscn init` to generate a full configuration file with all available options
|
|
96
|
+
|
|
97
|
+
## Installation
|
|
98
|
+
|
|
99
|
+
### Recommended: pip or uv
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
pip install pyscn
|
|
103
|
+
# or
|
|
104
|
+
uv add pyscn
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
<details>
|
|
108
|
+
<summary>Alternative installation methods</summary>
|
|
109
|
+
|
|
110
|
+
### Build from source
|
|
111
|
+
```bash
|
|
112
|
+
git clone https://github.com/ludo-technologies/pyscn.git
|
|
113
|
+
cd pyscn
|
|
114
|
+
make build
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Go install
|
|
118
|
+
```bash
|
|
119
|
+
go install github.com/ludo-technologies/pyscn/cmd/pyscn@latest
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
</details>
|
|
123
|
+
|
|
124
|
+
## CI/CD Integration
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
# .github/workflows/code-quality.yml
|
|
128
|
+
name: Code Quality
|
|
129
|
+
on: [push, pull_request]
|
|
130
|
+
|
|
131
|
+
jobs:
|
|
132
|
+
quality-check:
|
|
133
|
+
runs-on: ubuntu-latest
|
|
134
|
+
steps:
|
|
135
|
+
- uses: actions/checkout@v4
|
|
136
|
+
- run: pip install pyscn
|
|
137
|
+
- name: Quick quality check
|
|
138
|
+
run: pyscn check .
|
|
139
|
+
- name: Generate detailed report
|
|
140
|
+
run: pyscn analyze --json --select complexity,deadcode,deps src/
|
|
141
|
+
- name: Upload report
|
|
142
|
+
uses: actions/upload-artifact@v4
|
|
143
|
+
with:
|
|
144
|
+
name: code-quality-report
|
|
145
|
+
path: .pyscn/reports/
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Documentation
|
|
151
|
+
|
|
152
|
+
📚 **[Development Guide](docs/DEVELOPMENT.md)** • **[Architecture](docs/ARCHITECTURE.md)** • **[Testing](docs/TESTING.md)**
|
|
153
|
+
|
|
154
|
+
## License
|
|
155
|
+
|
|
156
|
+
MIT License — see [LICENSE](LICENSE)
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
*Built with ❤️ using Go and tree-sitter*
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
pyscn/__init__.py,sha256=HRv-Oi427RyttzZalJBUupLHKNFFErBDK49mgM93614,450
|
|
2
|
+
pyscn/__main__.py,sha256=W7pj0bglX-7BEIwWDVdW8yafZYzEsAh7IljY0wzVl6I,127
|
|
3
|
+
pyscn/bin/pyscn-windows-amd64.exe,sha256=fQZ-SXGPnZN7Wwe4JqFRSfa6st6evqsbvNEJV6HK7bU,10413568
|
|
4
|
+
pyscn/main.py,sha256=M_vLpulyfAZaM9gtI2HpY3DCFzHRM_ulv9FOdLQUqlE,2714
|
|
5
|
+
pyscn-0.4.0b1.dist-info/entry_points.txt,sha256=Hq59HuLE4ipwZthGmgvAv7aQF3oiixtCLxivVoNil5w,46
|
|
6
|
+
pyscn-0.4.0b1.dist-info/METADATA,sha256=JxTsEl31gMIKNMN5JE0SGTpNpmqyCle8ckMH9GT6Uak,4582
|
|
7
|
+
pyscn-0.4.0b1.dist-info/WHEEL,sha256=ICN7qb8qrvTQybj9kVPKtBG-ipWcOAsdtIlsfZDPI74,96
|
|
8
|
+
pyscn-0.4.0b1.dist-info/RECORD,,
|
pyscn-0.3.0b1.dist-info/METADATA
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: pyscn
|
|
3
|
-
Version: 0.3.0b1
|
|
4
|
-
Summary: An intelligent Python code quality analyzer with architectural guidance
|
|
5
|
-
Home-page: https://github.com/ludo-technologies/pyscn
|
|
6
|
-
Author: DaisukeYoda
|
|
7
|
-
Author-email: daisukeyoda@users.noreply.github.com
|
|
8
|
-
License: MIT
|
|
9
|
-
Classifier: Development Status :: 4 - Beta
|
|
10
|
-
Classifier: Environment :: Console
|
|
11
|
-
Classifier: Intended Audience :: Developers
|
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
-
Classifier: Topic :: Software Development :: Quality Assurance
|
|
21
|
-
Requires-Python: >=3.8
|
|
22
|
-
Description-Content-Type: text/markdown
|
|
23
|
-
|
|
24
|
-
# pyscn - Python Quality of Life
|
|
25
|
-
|
|
26
|
-
A next-generation Python static analysis tool that uses Control Flow Graph (CFG) and tree edit distance algorithms to provide deep code quality insights beyond traditional linters.
|
pyscn-0.3.0b1.dist-info/RECORD
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
pyscn/__init__.py,sha256=HRv-Oi427RyttzZalJBUupLHKNFFErBDK49mgM93614,450
|
|
2
|
-
pyscn/__main__.py,sha256=W7pj0bglX-7BEIwWDVdW8yafZYzEsAh7IljY0wzVl6I,127
|
|
3
|
-
pyscn/bin/pyscn-windows-amd64.exe,sha256=f2_eA9idlABciLqxDz9PscvxN1hCYqvadG0A88A5r7o,10199552
|
|
4
|
-
pyscn/main.py,sha256=M_vLpulyfAZaM9gtI2HpY3DCFzHRM_ulv9FOdLQUqlE,2714
|
|
5
|
-
pyscn-0.3.0b1.dist-info/entry_points.txt,sha256=Hq59HuLE4ipwZthGmgvAv7aQF3oiixtCLxivVoNil5w,46
|
|
6
|
-
pyscn-0.3.0b1.dist-info/METADATA,sha256=fHpUQW_dkZFd_GY5RgDT9rY0jboTL16t0YRBF7hQ0S4,1133
|
|
7
|
-
pyscn-0.3.0b1.dist-info/WHEEL,sha256=ICN7qb8qrvTQybj9kVPKtBG-ipWcOAsdtIlsfZDPI74,96
|
|
8
|
-
pyscn-0.3.0b1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|