breakscope 0.0.1__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.
breakscope/__init__.py
ADDED
breakscope/__main__.py
ADDED
|
File without changes
|
breakscope/cli/main.py
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from typing import Annotated
|
|
3
|
+
|
|
4
|
+
import typer
|
|
5
|
+
|
|
6
|
+
from breakscope import __version__
|
|
7
|
+
|
|
8
|
+
app = typer.Typer(
|
|
9
|
+
name="breakscope",
|
|
10
|
+
help="See what your API changes will break in your code.",
|
|
11
|
+
no_args_is_help=True,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _version(value: bool) -> None:
|
|
16
|
+
if value:
|
|
17
|
+
typer.echo(f"breakscope {__version__}")
|
|
18
|
+
raise typer.Exit()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@app.callback()
|
|
22
|
+
def main(
|
|
23
|
+
version: Annotated[
|
|
24
|
+
bool, typer.Option("--version", callback=_version, is_eager=True, help="Show version.")
|
|
25
|
+
] = False,
|
|
26
|
+
) -> None:
|
|
27
|
+
pass
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@app.command()
|
|
31
|
+
def diff(
|
|
32
|
+
old: Annotated[Path, typer.Argument(exists=True, dir_okay=False, help="Old OpenAPI spec.")],
|
|
33
|
+
new: Annotated[Path, typer.Argument(exists=True, dir_okay=False, help="New OpenAPI spec.")],
|
|
34
|
+
) -> None:
|
|
35
|
+
"""Show contract changes between two OpenAPI specs."""
|
|
36
|
+
typer.echo("diff: coming in v0.1", err=True)
|
|
37
|
+
raise typer.Exit(2)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@app.command()
|
|
41
|
+
def analyze() -> None:
|
|
42
|
+
"""Trace API changes into your codebase."""
|
|
43
|
+
typer.echo("analyze: coming in v0.4", err=True)
|
|
44
|
+
raise typer.Exit(2)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: breakscope
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: See what your API changes will break in your code.
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Requires-Dist: pydantic>=2
|
|
8
|
+
Requires-Dist: pyyaml>=6
|
|
9
|
+
Requires-Dist: rich>=13
|
|
10
|
+
Requires-Dist: typer>=0.12
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Requires-Dist: mypy>=1.11; extra == 'dev'
|
|
13
|
+
Requires-Dist: pytest>=8; extra == 'dev'
|
|
14
|
+
Requires-Dist: ruff>=0.6; extra == 'dev'
|
|
15
|
+
Requires-Dist: syrupy>=4; extra == 'dev'
|
|
16
|
+
Requires-Dist: types-pyyaml; extra == 'dev'
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# BreakScope
|
|
20
|
+
|
|
21
|
+
> **See what your API changes will break — before they reach production.**
|
|
22
|
+
|
|
23
|
+
API contract changes are easy to detect. Knowing what they break isn't.
|
|
24
|
+
BreakScope diffs your OpenAPI specs and traces each breaking change to the exact `file:line` in your Python and TypeScript code that's likely affected.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install breakscope
|
|
28
|
+
breakscope diff openapi-old.yaml openapi-new.yaml
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Status:** pre-alpha. See [docs/ROADMAP.md](docs/ROADMAP.md) and [docs/ARCHITECTURE-v0.1.md](docs/ARCHITECTURE-v0.1.md).
|
|
32
|
+
|
|
33
|
+
## License
|
|
34
|
+
|
|
35
|
+
MIT
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
breakscope/__init__.py,sha256=vKhOX_IdBorgD7wHaqS_n7mYI_nTO8Tk8O1XiwzeZ5Y,92
|
|
2
|
+
breakscope/__main__.py,sha256=G9vQNALLcEGoh03cuLLF3e7MEZA6u8sSbRRkQJdm8YU,43
|
|
3
|
+
breakscope/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
breakscope/cli/main.py,sha256=bG_bKnCg4-x3AJqpqxbQOqvjPb6XGxORjXI0h1zZViQ,1075
|
|
5
|
+
breakscope-0.0.1.dist-info/METADATA,sha256=Fz8jA3M0lHGKSn9X8dcdOZZmuFLvqr3ptx8JCnIAyzc,1077
|
|
6
|
+
breakscope-0.0.1.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
7
|
+
breakscope-0.0.1.dist-info/entry_points.txt,sha256=_J4ORnRax-bT8AwExgCRDq9wnPdvZcbCsSQJqfc-rDs,55
|
|
8
|
+
breakscope-0.0.1.dist-info/RECORD,,
|