pycodegate 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.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.
pycodegate/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """Python Doctor - Diagnose your Python project's health."""
2
2
 
3
- __version__ = "0.1.1"
3
+ __version__ = "0.1.2"
pycodegate/cli.py CHANGED
@@ -17,7 +17,7 @@ from pycodegate.utils.precommit import install_precommit_hook
17
17
 
18
18
 
19
19
  @click.command(context_settings={"help_option_names": ["-h", "--help"]})
20
- @click.version_option(__version__, "-v", "--version", prog_name="Py Gate")
20
+ @click.version_option(__version__, "-v", "--version", prog_name="PyCodeGate")
21
21
  @click.argument("directory", default=".", type=click.Path(exists=True))
22
22
  @click.option("--lint/--no-lint", default=True, help="Enable/disable lint checks.")
23
23
  @click.option(
@@ -79,7 +79,7 @@ def main(
79
79
  precommit: bool,
80
80
  min_score: int | None,
81
81
  ) -> None:
82
- """Py Gate — Diagnose your Python project's health."""
82
+ """PyCodeGate — Diagnose your Python project's health."""
83
83
  if ci_workflow:
84
84
  click.echo(generate_ci_workflow(), nl=False)
85
85
  return
@@ -125,7 +125,7 @@ def main(
125
125
 
126
126
  if min_score is not None and result.score.value < min_score:
127
127
  click.echo(
128
- f"py-gate: score {result.score.value} is below minimum {min_score}",
128
+ f"pycodegate: score {result.score.value} is below minimum {min_score}",
129
129
  err=True,
130
130
  )
131
131
  sys.exit(1)
pycodegate/config.py CHANGED
@@ -1,4 +1,4 @@
1
- """Configuration loading for py-gate."""
1
+ """Configuration loading for pycodegate."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -22,11 +22,11 @@ class Config:
22
22
 
23
23
 
24
24
  def load_config(project_path: str) -> Config:
25
- """Load config from py-gate.toml or pyproject.toml [tool.py-gate]."""
25
+ """Load config from pycodegate.toml or pyproject.toml [tool.pycodegate]."""
26
26
  root = Path(project_path)
27
27
 
28
- # py-gate.toml takes precedence
29
- doctor_toml = root / "py-gate.toml"
28
+ # pycodegate.toml takes precedence
29
+ doctor_toml = root / "pycodegate.toml"
30
30
  if doctor_toml.exists():
31
31
  return _parse_doctor_toml(doctor_toml)
32
32
 
@@ -62,7 +62,7 @@ def _parse_pyproject_toml(path: Path) -> Config:
62
62
  with open(path, "rb") as f:
63
63
  data = tomllib.load(f)
64
64
 
65
- section = data.get("tool", {}).get("py-gate", {})
65
+ section = data.get("tool", {}).get("pycodegate", {})
66
66
  if not section:
67
67
  return Config()
68
68
 
pycodegate/output.py CHANGED
@@ -138,7 +138,9 @@ def print_scan_result(result: ScanResult, verbose: bool = False) -> None:
138
138
  # Project info header
139
139
  p = result.project
140
140
  console.print()
141
- console.print(" [bold]Py Gate[/bold] — v0.1.0")
141
+ from pycodegate import __version__
142
+
143
+ console.print(f" [bold]PyCodeGate[/bold] — v{__version__}")
142
144
  console.print()
143
145
  console.print(f" [dim]Path:[/dim] {p.path}")
144
146
  if p.python_version:
@@ -81,7 +81,7 @@ class DependencyRules:
81
81
  # Try uv export
82
82
  if shutil.which("uv") and (path / "pyproject.toml").exists():
83
83
  try:
84
- tmp = Path(tempfile.gettempdir()) / "py-gate-reqs.txt"
84
+ tmp = Path(tempfile.gettempdir()) / "pycodegate-reqs.txt"
85
85
  result = subprocess.run(
86
86
  [
87
87
  "uv",
pycodegate/utils/badge.py CHANGED
@@ -17,7 +17,7 @@ def generate_badge(score: int, label: str) -> str:
17
17
  color = "red"
18
18
 
19
19
  score_text = urllib.parse.quote(f"{score}/100")
20
- return f"![py-gate score](https://img.shields.io/badge/py--gate-{score_text}-{color})"
20
+ return f"![pycodegate score](https://img.shields.io/badge/py--gate-{score_text}-{color})"
21
21
 
22
22
 
23
23
  def generate_ci_workflow() -> str:
@@ -36,16 +36,16 @@ jobs:
36
36
  steps:
37
37
  - uses: actions/checkout@v4
38
38
  - uses: astral-sh/setup-uv@v5
39
- - run: uv tool install py-gate
40
- - name: Run py-gate
39
+ - run: uv tool install pycodegate
40
+ - name: Run pycodegate
41
41
  run: |
42
- SCORE=$(py-gate . --score)
43
- BADGE=$(py-gate . --badge)
42
+ SCORE=$(pycodegate . --score)
43
+ BADGE=$(pycodegate . --badge)
44
44
  # Update badge in README
45
- sed -i "s|!\\[py-gate score\\](.*)|${BADGE}|" README.md
45
+ sed -i "s|!\\[pycodegate score\\](.*)|${BADGE}|" README.md
46
46
  - name: Commit badge update
47
47
  run: |
48
48
  git config user.name "github-actions[bot]"
49
49
  git config user.email "github-actions[bot]@users.noreply.github.com"
50
- git diff --quiet README.md || (git add README.md && git commit -m "chore: update py-gate score badge" && git push)
50
+ git diff --quiet README.md || (git add README.md && git commit -m "chore: update pycodegate score badge" && git push)
51
51
  """
@@ -6,31 +6,31 @@ from pathlib import Path
6
6
 
7
7
 
8
8
  def install_precommit_hook(project_path: str, min_score: int = 50) -> str:
9
- """Install a git pre-commit hook that runs py-gate."""
9
+ """Install a git pre-commit hook that runs pycodegate."""
10
10
  hooks_dir = Path(project_path) / ".git" / "hooks"
11
11
  if not hooks_dir.exists():
12
12
  return "Error: not a git repository"
13
13
 
14
14
  hook_path = hooks_dir / "pre-commit"
15
15
  hook_content = f"""#!/bin/sh
16
- # py-gate pre-commit hook
17
- SCORE=$(py-gate . --score 2>/dev/null)
16
+ # pycodegate pre-commit hook
17
+ SCORE=$(pycodegate . --score 2>/dev/null)
18
18
  if [ $? -ne 0 ]; then
19
- echo "py-gate not found. Install with: uvx py-gate"
19
+ echo "pycodegate not found. Install with: uvx pycodegate"
20
20
  exit 0
21
21
  fi
22
22
  if [ "$SCORE" -lt {min_score} ]; then
23
- echo "py-gate: score $SCORE is below minimum {min_score}. Fix issues before committing."
24
- py-gate . 2>/dev/null
23
+ echo "pycodegate: score $SCORE is below minimum {min_score}. Fix issues before committing."
24
+ pycodegate . 2>/dev/null
25
25
  exit 1
26
26
  fi
27
- echo "py-gate: score $SCORE/{min_score} — passed"
27
+ echo "pycodegate: score $SCORE/{min_score} — passed"
28
28
  """
29
29
 
30
30
  # Don't overwrite existing hook — append or warn
31
31
  if hook_path.exists():
32
32
  existing = hook_path.read_text()
33
- if "py-gate" in existing:
33
+ if "pycodegate" in existing:
34
34
  hook_path.write_text(hook_content)
35
35
  hook_path.chmod(0o755)
36
36
  return f"Updated pre-commit hook at {hook_path} (min-score: {min_score})"
@@ -41,7 +41,7 @@ echo "py-gate: score $SCORE/{min_score} — passed"
41
41
  body = "".join(lines[1:]) if lines[0].startswith("#!/") else hook_content
42
42
  with open(hook_path, "a") as f:
43
43
  f.write("\n" + body)
44
- return f"Appended py-gate to existing pre-commit hook at {hook_path}"
44
+ return f"Appended pycodegate to existing pre-commit hook at {hook_path}"
45
45
 
46
46
  hook_path.write_text(hook_content)
47
47
  hook_path.chmod(0o755)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycodegate
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: One command. One score. Your Python quality gate.
5
5
  Project-URL: Homepage, https://github.com/themohitkhare/pycodegate
6
6
  Project-URL: Repository, https://github.com/themohitkhare/pycodegate
@@ -32,14 +32,14 @@ Requires-Dist: pytest>=8.0; extra == 'dev'
32
32
  Requires-Dist: ruff>=0.4; extra == 'dev'
33
33
  Description-Content-Type: text/markdown
34
34
 
35
- <h1 align="center">Py Gate</h1>
35
+ <h1 align="center">PyCodeGate</h1>
36
36
  <p align="center">
37
37
  <strong>One command. One score. Your Python quality gate.</strong>
38
38
  </p>
39
39
  <p align="center">
40
40
  <a href="https://github.com/themohitkhare/pycodegate/actions/workflows/ci.yml"><img src="https://github.com/themohitkhare/pycodegate/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
41
- <a href="https://pypi.org/project/py-gate/"><img src="https://img.shields.io/pypi/v/py-gate" alt="PyPI"></a>
42
- <a href="https://pypi.org/project/py-gate/"><img src="https://img.shields.io/pypi/pyversions/py-gate" alt="Python"></a>
41
+ <a href="https://pypi.org/project/pycodegate/"><img src="https://img.shields.io/pypi/v/pycodegate" alt="PyPI"></a>
42
+ <a href="https://pypi.org/project/pycodegate/"><img src="https://img.shields.io/pypi/pyversions/pycodegate" alt="Python"></a>
43
43
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a>
44
44
  </p>
45
45
 
@@ -47,7 +47,7 @@ Description-Content-Type: text/markdown
47
47
 
48
48
  ## How it works
49
49
 
50
- Py Gate starts by detecting your project's context: framework (Django, FastAPI, Flask), Python version, package manager (uv, poetry, pip), and test framework. That context drives which rules are active — Django projects get SQL injection checks, FastAPI projects get async-correctness checks, and so on.
50
+ PyCodeGate starts by detecting your project's context: framework (Django, FastAPI, Flask), Python version, package manager (uv, poetry, pip), and test framework. That context drives which rules are active — Django projects get SQL injection checks, FastAPI projects get async-correctness checks, and so on.
51
51
 
52
52
  It then runs two analysis passes **in parallel**: a lint pass that evaluates 40+ rules across 8 categories (Security, Correctness, Complexity, Architecture, Performance, Structure, Imports, Dead Code), and a dead-code pass powered by [Vulture](https://github.com/jendrikseipp/vulture) that finds unused functions, classes, imports, and variables.
53
53
 
@@ -58,39 +58,39 @@ Findings are filtered through your configuration and scored using a **weighted c
58
58
  Run instantly with `uvx` — no install needed:
59
59
 
60
60
  ```bash
61
- uvx py-gate .
61
+ uvx pycodegate .
62
62
  ```
63
63
 
64
64
  Install globally with pipx or uv:
65
65
 
66
66
  ```bash
67
- pipx install py-gate
67
+ pipx install pycodegate
68
68
  # or
69
- uv tool install py-gate
69
+ uv tool install pycodegate
70
70
  # or
71
- pip install py-gate
71
+ pip install pycodegate
72
72
  ```
73
73
 
74
74
  ## Quick Start
75
75
 
76
76
  ```bash
77
77
  # Basic scan — score + summary
78
- py-gate .
78
+ pycodegate .
79
79
 
80
80
  # Show file paths and line numbers for every finding
81
- py-gate . --verbose
81
+ pycodegate . --verbose
82
82
 
83
83
  # Machine-readable output for AI agents and CI
84
- py-gate . --json
84
+ pycodegate . --json
85
85
 
86
86
  # Auto-fix ruff-fixable issues, then scan
87
- py-gate . --fix
87
+ pycodegate . --fix
88
88
 
89
89
  # Output only the numeric score (useful in scripts)
90
- py-gate . --score
90
+ pycodegate . --score
91
91
 
92
92
  # Scan only files changed vs a base branch
93
- py-gate . --diff main
93
+ pycodegate . --diff main
94
94
  ```
95
95
 
96
96
  ## JSON Output
@@ -98,7 +98,7 @@ py-gate . --diff main
98
98
  Pass `--json` to get structured output that AI agents and CI pipelines can parse:
99
99
 
100
100
  ```bash
101
- py-gate . --json
101
+ pycodegate . --json
102
102
  ```
103
103
 
104
104
  ```json
@@ -139,7 +139,7 @@ py-gate . --json
139
139
 
140
140
  ## Agent Integration
141
141
 
142
- Py Gate is designed to be used by AI coding agents. Add it to your agent's context so it runs after every Python change.
142
+ PyCodeGate is designed to be used by AI coding agents. Add it to your agent's context so it runs after every Python change.
143
143
 
144
144
  ### Claude Code
145
145
 
@@ -147,18 +147,18 @@ Add the skill to your project:
147
147
 
148
148
  ```bash
149
149
  mkdir -p .claude/skills
150
- curl -fsSL https://raw.githubusercontent.com/themohitkhare/pycodegate/main/skills/py-gate/SKILL.md \
151
- -o .claude/skills/py-gate.md
150
+ curl -fsSL https://raw.githubusercontent.com/themohitkhare/pycodegate/main/skills/pycodegate/SKILL.md \
151
+ -o .claude/skills/pycodegate.md
152
152
  ```
153
153
 
154
154
  Or copy `AGENTS.md` to your project root — Claude Code picks it up automatically.
155
155
 
156
156
  ### Cursor
157
157
 
158
- Add to `.cursor/rules/py-gate.mdc`:
158
+ Add to `.cursor/rules/pycodegate.mdc`:
159
159
 
160
160
  ```markdown
161
- After modifying Python files, run `uvx py-gate . --json` and fix all findings
161
+ After modifying Python files, run `uvx pycodegate . --json` and fix all findings
162
162
  with severity "error" before marking the task complete. Target score: 80+.
163
163
  ```
164
164
 
@@ -167,7 +167,7 @@ with severity "error" before marking the task complete. Target score: 80+.
167
167
  Add to `.windsurfrules`:
168
168
 
169
169
  ```
170
- After modifying Python files, run: uvx py-gate . --json
170
+ After modifying Python files, run: uvx pycodegate . --json
171
171
  Fix all "error" severity findings. Re-run to verify the score improved.
172
172
  ```
173
173
 
@@ -176,7 +176,7 @@ Fix all "error" severity findings. Re-run to verify the score improved.
176
176
  Add to your system prompt:
177
177
 
178
178
  ```
179
- After modifying Python files, run `uvx py-gate . --json` to check code quality.
179
+ After modifying Python files, run `uvx pycodegate . --json` to check code quality.
180
180
  Fix errors first. Target score: 80+.
181
181
  ```
182
182
 
@@ -194,7 +194,7 @@ name: Quality Gate
194
194
  on: [push, pull_request]
195
195
 
196
196
  jobs:
197
- py-gate:
197
+ pycodegate:
198
198
  runs-on: ubuntu-latest
199
199
  steps:
200
200
  - uses: actions/checkout@v4
@@ -205,10 +205,10 @@ jobs:
205
205
  with:
206
206
  python-version: "3.12"
207
207
 
208
- - name: Run Py Gate
208
+ - name: Run PyCodeGate
209
209
  run: |
210
- pip install py-gate
211
- py-gate . --verbose --diff main --fail-on error
210
+ pip install pycodegate
211
+ pycodegate . --verbose --diff main --fail-on error
212
212
  ```
213
213
 
214
214
  ## CLI Reference
@@ -244,7 +244,7 @@ Framework-specific rules (Django, FastAPI, Flask) are mapped into the Security o
244
244
 
245
245
  ## Scoring
246
246
 
247
- Py Gate uses a **weighted category-budget system**:
247
+ PyCodeGate uses a **weighted category-budget system**:
248
248
 
249
249
  1. Each category has a weight (see table above). Weights are normalized to sum to 100 points of total deduction budget.
250
250
  2. Within a category, findings are sorted by cost (errors cost more than warnings). The top 3 findings apply at full cost; every additional finding applies **diminishing returns** (10% of its cost).
@@ -260,7 +260,7 @@ Py Gate uses a **weighted category-budget system**:
260
260
 
261
261
  ## Configuration
262
262
 
263
- Create `py-gate.toml` in your project root:
263
+ Create `pycodegate.toml` in your project root:
264
264
 
265
265
  ```toml
266
266
  [options]
@@ -284,27 +284,27 @@ max-deduction.Dead Code = 0 # disable dead-code penalty entirely
284
284
  Or use `pyproject.toml`:
285
285
 
286
286
  ```toml
287
- [tool.py-gate]
287
+ [tool.pycodegate]
288
288
  lint = true
289
289
  dead_code = true
290
290
  fail_on = "error"
291
291
 
292
- [tool.py-gate.ignore]
292
+ [tool.pycodegate.ignore]
293
293
  rules = ["no-import-in-function"]
294
294
  files = ["tests/fixtures/**"]
295
295
 
296
- [tool.py-gate.per-file-ignores]
296
+ [tool.pycodegate.per-file-ignores]
297
297
  "src/legacy/*.py" = ["high-complexity"]
298
298
 
299
- [tool.py-gate.scoring]
299
+ [tool.pycodegate.scoring]
300
300
  "max-deduction" = { Security = 20, "Dead Code" = 0 }
301
301
  ```
302
302
 
303
- If both files exist, `py-gate.toml` takes precedence. CLI flags always override config values.
303
+ If both files exist, `pycodegate.toml` takes precedence. CLI flags always override config values.
304
304
 
305
305
  ## Profiles
306
306
 
307
- Py Gate auto-detects a project profile and adjusts rule weights accordingly. You can also set a profile explicitly in config (`profile = "library"`).
307
+ PyCodeGate auto-detects a project profile and adjusts rule weights accordingly. You can also set a profile explicitly in config (`profile = "library"`).
308
308
 
309
309
  | Profile | Auto-detected when | Adjustments |
310
310
  |---------|--------------------|-------------|
@@ -315,10 +315,10 @@ Py Gate auto-detects a project profile and adjusts rule weights accordingly. You
315
315
 
316
316
  ## Pre-commit Hook
317
317
 
318
- Use `--pre-commit` to run Py Gate as a pre-commit hook. It automatically scans only the staged files:
318
+ Use `--pre-commit` to run PyCodeGate as a pre-commit hook. It automatically scans only the staged files:
319
319
 
320
320
  ```bash
321
- py-gate . --pre-commit --fail-on error
321
+ pycodegate . --pre-commit --fail-on error
322
322
  ```
323
323
 
324
324
  Add to `.pre-commit-config.yaml`:
@@ -327,9 +327,9 @@ Add to `.pre-commit-config.yaml`:
327
327
  repos:
328
328
  - repo: local
329
329
  hooks:
330
- - id: py-gate
331
- name: Py Gate quality check
332
- entry: py-gate . --pre-commit --fail-on error
330
+ - id: pycodegate
331
+ name: PyCodeGate quality check
332
+ entry: pycodegate . --pre-commit --fail-on error
333
333
  language: system
334
334
  types: [python]
335
335
  pass_filenames: false
@@ -342,7 +342,7 @@ git clone https://github.com/themohitkhare/pycodegate
342
342
  cd pycodegate
343
343
  uv sync --all-extras
344
344
  uv run pytest -q
345
- uv run py-gate . --verbose # dogfood it
345
+ uv run pycodegate . --verbose # dogfood it
346
346
  ```
347
347
 
348
348
  To add a new rule:
@@ -1,11 +1,11 @@
1
- pycodegate/__init__.py,sha256=omYWGAgDvHd1VDi5Jhlxf9ZRIckJuKL7Zw_E1H6Ub_Q,84
1
+ pycodegate/__init__.py,sha256=joZnN6S8V6dL3973Q7VQbG-JZvnKhwxcei9XLDbhGFo,84
2
2
  pycodegate/_compat.py,sha256=tnXZge9z8NFCDz-zi_vAScbJkDNJo2_vpEW_UgSqbd8,293
3
3
  pycodegate/api.py,sha256=W93EWmBlzrE2Uwrs4opr4F0QO-1v6GzRp1jN05b9rBo,631
4
- pycodegate/cli.py,sha256=1Cs5ZBhxl_WMM47aowMgIUEbedDWGNqHmQ-dcnkWRuw,4126
5
- pycodegate/config.py,sha256=8Qfs6d60FXvKYXqade6lDtuOncDAs2hHUFzkYQ37RIw,2444
4
+ pycodegate/cli.py,sha256=PD8bblh80hRvj1A-CuYYdiXoRfXdd9ekayl8fUIoL8k,4135
5
+ pycodegate/config.py,sha256=56wBpGecabUYYs3UN_olDyzG49My7SumorMTDvlxRuY,2462
6
6
  pycodegate/constants.py,sha256=HJnPIZR1OcpDGmqIsNCFan7fHzezJZtt105GT7-WTfI,788
7
7
  pycodegate/discover.py,sha256=ywIPIJD-fM5PHt6ACRhehuVoJVyhm36Wf28HFGn0E3I,3694
8
- pycodegate/output.py,sha256=bLCU2goD85ShbwvSxLRFtIkXs_Rogs4Iz1SOt8HSUE4,9723
8
+ pycodegate/output.py,sha256=MVcn5qcfxjFNIIFP6vieN7BRi9VX8v9iJsqGf81nAlM,9775
9
9
  pycodegate/profile.py,sha256=XCmFHuyQlYfr1jru0RWXoxouQ3IVh-vgc46AjTEp3xc,3438
10
10
  pycodegate/scan.py,sha256=WEw_-a-uiDYiz3i8c3gHl8QXBRb_pVgeJciYB_E68Ws,7282
11
11
  pycodegate/score.py,sha256=Dy01pkWyi0p9ypa64aekVSlfZxXKSbdhKP54EgqYu34,2366
@@ -16,7 +16,7 @@ pycodegate/rules/base.py,sha256=u7qejC4rDfXMh5RYy_3r-htxxSVTRB5zHETEnQt6X_M,593
16
16
  pycodegate/rules/complexity.py,sha256=roYTPx3i8PCltqVpHWPt_U0jMZ2MZumJXeZ6mK6RNcU,3388
17
17
  pycodegate/rules/correctness.py,sha256=go6n1fcv4NDu89zL8j4LLX-kOBgBRvuOx78C11bxhLg,6049
18
18
  pycodegate/rules/dead_code.py,sha256=ZzawHLHbYKaNoK9zcnQQA99clUkOAdA4y64VtUDUouQ,1795
19
- pycodegate/rules/dependencies.py,sha256=3tX5wk6D09LVYuLcpqUx7XcTvEG3-orY4yctDgyjWpg,3729
19
+ pycodegate/rules/dependencies.py,sha256=q8w0VAJeGV9FMNCOVqs0CYpc5Zmqoc-qZ-x4FxMn7sA,3732
20
20
  pycodegate/rules/django.py,sha256=IddI4eVnSZ2hDJW5EZu3xnPyrmjVwHq0DOnrpV7XncM,6385
21
21
  pycodegate/rules/fastapi.py,sha256=16LOX97gXvVsWf0cvdqp5Ji-byzlKQP51iAy_yGX14Q,2769
22
22
  pycodegate/rules/flask.py,sha256=htKFDjV2VZtAyE4ELlxYqDQUSYM4ROJZnS7UI_PK-xA,4574
@@ -26,13 +26,13 @@ pycodegate/rules/security.py,sha256=fdISx3yLVtQ2OjVtnaDBUOPXK6Tpq4ykntRlKr_1bAs,
26
26
  pycodegate/rules/structure.py,sha256=VC19nrGyiATurP4tvnK7scBI1dZ9bDKyPYKiowzIVLI,9138
27
27
  pycodegate/utils/__init__.py,sha256=MTVfXf-fKi2bjxXedkveORadRqo5qSUK4pMl08WJWdA,41
28
28
  pycodegate/utils/ast_helpers.py,sha256=bRQwOsUvNASjq0wjZ_Yc0cDmVnXPGhujzxZV2Qff0Z8,538
29
- pycodegate/utils/badge.py,sha256=ZtG81MBQkPpjQWhoL4jc_dS_XzTYOKRK1OYIv70ONCs,1411
29
+ pycodegate/utils/badge.py,sha256=dh49h3LaOY402WxestPb0m38wQWhLZjNMn5NyuOT_ag,1432
30
30
  pycodegate/utils/diff.py,sha256=o8YuqBqOwiHmPDsjFKXAlPphd0m8y20EwXRrcSvaoIg,824
31
31
  pycodegate/utils/file_discovery.py,sha256=2tqW1LPoNjH2Y57UDo9sLyCioXvKBv8vFTmtmh2knpw,1472
32
32
  pycodegate/utils/fixer.py,sha256=EDw4dMqLqnzGaQwaGyehrnHBirFajYxRDONnzp9I6HM,890
33
- pycodegate/utils/precommit.py,sha256=E2XhpuPEjKTsI2Vj9WBN2qwHwhTm8QqJEBZ9zlT2AHY,1707
34
- pycodegate-0.1.1.dist-info/METADATA,sha256=BRaEV1iszbBxU08uKkM8CXmFN2Z2wJzO0VQLo3FZqfg,11390
35
- pycodegate-0.1.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
36
- pycodegate-0.1.1.dist-info/entry_points.txt,sha256=hG8TqhjIZnEsmgVOSiBNIExhqanOqGsy-byiZETILm0,81
37
- pycodegate-0.1.1.dist-info/licenses/LICENSE,sha256=YQAkET2EceAFEwM7LLUco13527CKFujpBapIIRPshTQ,1068
38
- pycodegate-0.1.1.dist-info/RECORD,,
33
+ pycodegate/utils/precommit.py,sha256=nzcmXc0NPAaxL-ZqDkDyHuuua4SiRXK2HrJZq3HLkMc,1737
34
+ pycodegate-0.1.2.dist-info/METADATA,sha256=worPWZbmaQz_PNIsueyzvqXmy5chnpHcZa2KalzKoU8,11516
35
+ pycodegate-0.1.2.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
36
+ pycodegate-0.1.2.dist-info/entry_points.txt,sha256=oSjjP_VAA3O74Y5a-IqIHYsT7-Ljuv97wXiMQ5RdOg0,51
37
+ pycodegate-0.1.2.dist-info/licenses/LICENSE,sha256=YQAkET2EceAFEwM7LLUco13527CKFujpBapIIRPshTQ,1068
38
+ pycodegate-0.1.2.dist-info/RECORD,,
@@ -1,3 +1,2 @@
1
1
  [console_scripts]
2
- py-gate = pycodegate.cli:main
3
2
  pycodegate = pycodegate.cli:main