syntax-symphony 0.4.0__tar.gz → 0.4.2__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 (23) hide show
  1. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/LICENSE +2 -2
  2. {syntax_symphony-0.4.0/src/syntax_symphony.egg-info → syntax_symphony-0.4.2}/PKG-INFO +11 -6
  3. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/README.md +9 -5
  4. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/pyproject.toml +18 -2
  5. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2/src/syntax_symphony.egg-info}/PKG-INFO +11 -6
  6. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/setup.cfg +0 -0
  7. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony/__init__.py +0 -0
  8. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony/cli.py +0 -0
  9. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony/derivation_tree.py +0 -0
  10. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony/fuzzer.py +0 -0
  11. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony/grammar.py +0 -0
  12. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony/py.typed +0 -0
  13. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony.egg-info/SOURCES.txt +0 -0
  14. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony.egg-info/dependency_links.txt +0 -0
  15. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony.egg-info/entry_points.txt +0 -0
  16. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony.egg-info/requires.txt +0 -0
  17. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/src/syntax_symphony.egg-info/top_level.txt +0 -0
  18. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/tests/test_cli.py +0 -0
  19. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/tests/test_derivation_tree.py +0 -0
  20. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/tests/test_fuzzer.py +0 -0
  21. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/tests/test_grammar.py +0 -0
  22. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/tests/test_public_api.py +0 -0
  23. {syntax_symphony-0.4.0 → syntax_symphony-0.4.2}/tests/test_validation.py +0 -0
@@ -1,4 +1,4 @@
1
-
1
+
2
2
  MIT License
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -17,4 +17,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
17
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
18
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
19
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
- SOFTWARE.
20
+ SOFTWARE.
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syntax_symphony
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: Efficient grammar-based fuzzer.
5
5
  Author-email: Stanimir Iglev <iglev.stanimir@gmail.com>
6
6
  Maintainer-email: Stanimir Iglev <iglev.stanimir@gmail.com>
7
- License:
7
+ License:
8
8
  MIT License
9
9
 
10
10
  Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -24,6 +24,7 @@ License:
24
24
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
25
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
26
  SOFTWARE.
27
+
27
28
  Project-URL: Homepage, https://github.com/StanimirIglev/syntax-symphony
28
29
  Project-URL: Documentation, https://github.com/StanimirIglev/syntax-symphony/blob/master/README.md
29
30
  Project-URL: Repository, https://github.com/StanimirIglev/syntax-symphony
@@ -81,7 +82,7 @@ cd syntax-symphony
81
82
  uv sync
82
83
  ```
83
84
 
84
- This creates a `.venv` virtual environment and installs the package in editable mode along with dev tools (pytest, ruff, mypy, build, twine).
85
+ This creates a `.venv` virtual environment and installs the package in editable mode along with dev tools (pytest, pytest-cov, ruff, mypy, pre-commit, build, twine).
85
86
 
86
87
  3. Run the CLI via uv:
87
88
  ```bash
@@ -104,12 +105,16 @@ Artifacts are written to the `dist/` directory.
104
105
 
105
106
  ### Development
106
107
 
108
+ Install git hooks (lint/format/typecheck on commit; tests on push):
109
+
110
+ ```bash
111
+ uv run pre-commit install
112
+ ```
113
+
107
114
  Run the quality checks locally (same as CI):
108
115
 
109
116
  ```bash
110
- uv run ruff check src tests
111
- uv run ruff format --check src tests
112
- uv run mypy src
117
+ uv run pre-commit run --all-files
113
118
  uv run pytest
114
119
  ```
115
120
 
@@ -34,7 +34,7 @@ cd syntax-symphony
34
34
  uv sync
35
35
  ```
36
36
 
37
- This creates a `.venv` virtual environment and installs the package in editable mode along with dev tools (pytest, ruff, mypy, build, twine).
37
+ This creates a `.venv` virtual environment and installs the package in editable mode along with dev tools (pytest, pytest-cov, ruff, mypy, pre-commit, build, twine).
38
38
 
39
39
  3. Run the CLI via uv:
40
40
  ```bash
@@ -57,12 +57,16 @@ Artifacts are written to the `dist/` directory.
57
57
 
58
58
  ### Development
59
59
 
60
+ Install git hooks (lint/format/typecheck on commit; tests on push):
61
+
62
+ ```bash
63
+ uv run pre-commit install
64
+ ```
65
+
60
66
  Run the quality checks locally (same as CI):
61
67
 
62
68
  ```bash
63
- uv run ruff check src tests
64
- uv run ruff format --check src tests
65
- uv run mypy src
69
+ uv run pre-commit run --all-files
66
70
  uv run pytest
67
71
  ```
68
72
 
@@ -149,4 +153,4 @@ Pass `seed` to get the same sequence of outputs across runs. The fuzzer uses a p
149
153
  We welcome contributions from the community. If you have ideas for improvements, new features, or bug fixes, please submit a pull request or open an issue on our [GitHub repository](https://github.com/StanimirIglev/syntax-symphony).
150
154
 
151
155
  ## License
152
- This project is licensed under the MIT License. See [LICENSE](LICENSE) for more details.
156
+ This project is licensed under the MIT License. See [LICENSE](LICENSE) for more details.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "syntax_symphony"
7
- version = "0.4.0"
7
+ version = "0.4.2"
8
8
  description = "Efficient grammar-based fuzzer."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -27,7 +27,7 @@ classifiers = [
27
27
  dependencies = ["schema >= 0.7.7"]
28
28
 
29
29
  [dependency-groups]
30
- dev = ["build>=1.2", "mypy>=1.10", "pytest>=8", "ruff>=0.5", "twine>=5.0"]
30
+ dev = ["build>=1.2", "mypy>=1.10", "pre-commit>=4", "pytest>=8", "pytest-cov>=6", "ruff>=0.5", "twine>=5.0"]
31
31
 
32
32
  [tool.uv]
33
33
  default-groups = ["dev"]
@@ -47,6 +47,22 @@ where = ["src"]
47
47
  [tool.pytest.ini_options]
48
48
  pythonpath = ["src"]
49
49
  testpaths = ["tests"]
50
+ addopts = "--cov=syntax_symphony --cov-report=term-missing:skip-covered"
51
+
52
+ [tool.coverage.run]
53
+ source = ["syntax_symphony"]
54
+ branch = true
55
+ omit = ["*/tests/*"]
56
+
57
+ [tool.coverage.report]
58
+ fail_under = 85
59
+ show_missing = true
60
+ skip_empty = true
61
+ exclude_lines = [
62
+ "pragma: no cover",
63
+ "if TYPE_CHECKING:",
64
+ "raise NotImplementedError",
65
+ ]
50
66
 
51
67
  [tool.ruff]
52
68
  target-version = "py312"
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syntax_symphony
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: Efficient grammar-based fuzzer.
5
5
  Author-email: Stanimir Iglev <iglev.stanimir@gmail.com>
6
6
  Maintainer-email: Stanimir Iglev <iglev.stanimir@gmail.com>
7
- License:
7
+ License:
8
8
  MIT License
9
9
 
10
10
  Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -24,6 +24,7 @@ License:
24
24
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
25
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
26
  SOFTWARE.
27
+
27
28
  Project-URL: Homepage, https://github.com/StanimirIglev/syntax-symphony
28
29
  Project-URL: Documentation, https://github.com/StanimirIglev/syntax-symphony/blob/master/README.md
29
30
  Project-URL: Repository, https://github.com/StanimirIglev/syntax-symphony
@@ -81,7 +82,7 @@ cd syntax-symphony
81
82
  uv sync
82
83
  ```
83
84
 
84
- This creates a `.venv` virtual environment and installs the package in editable mode along with dev tools (pytest, ruff, mypy, build, twine).
85
+ This creates a `.venv` virtual environment and installs the package in editable mode along with dev tools (pytest, pytest-cov, ruff, mypy, pre-commit, build, twine).
85
86
 
86
87
  3. Run the CLI via uv:
87
88
  ```bash
@@ -104,12 +105,16 @@ Artifacts are written to the `dist/` directory.
104
105
 
105
106
  ### Development
106
107
 
108
+ Install git hooks (lint/format/typecheck on commit; tests on push):
109
+
110
+ ```bash
111
+ uv run pre-commit install
112
+ ```
113
+
107
114
  Run the quality checks locally (same as CI):
108
115
 
109
116
  ```bash
110
- uv run ruff check src tests
111
- uv run ruff format --check src tests
112
- uv run mypy src
117
+ uv run pre-commit run --all-files
113
118
  uv run pytest
114
119
  ```
115
120