gsppy 3.3.0__tar.gz → 3.5.0__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.
- gsppy-3.5.0/CHANGELOG.md +551 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/CONTRIBUTING.md +9 -3
- {gsppy-3.3.0 → gsppy-3.5.0}/PKG-INFO +199 -16
- {gsppy-3.3.0 → gsppy-3.5.0}/README.md +189 -7
- {gsppy-3.3.0 → gsppy-3.5.0}/gsppy/__init__.py +6 -1
- {gsppy-3.3.0 → gsppy-3.5.0}/gsppy/accelerate.py +5 -2
- gsppy-3.5.0/gsppy/cli.py +358 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/gsppy/gsp.py +200 -17
- gsppy-3.5.0/gsppy/utils.py +384 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/pyproject.toml +45 -9
- {gsppy-3.3.0 → gsppy-3.5.0}/tests/test_cli.py +180 -7
- {gsppy-3.3.0 → gsppy-3.5.0}/tests/test_gsp.py +102 -1
- gsppy-3.5.0/tests/test_gsp_fuzzing.py +322 -0
- gsppy-3.5.0/tests/test_temporal_constraints.py +599 -0
- gsppy-3.3.0/CHANGELOG.md +0 -365
- gsppy-3.3.0/gsppy/cli.py +0 -204
- gsppy-3.3.0/gsppy/utils.py +0 -104
- {gsppy-3.3.0 → gsppy-3.5.0}/.gitignore +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/LICENSE +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/SECURITY.md +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/gsppy/py.typed +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/rust/Cargo.lock +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/rust/Cargo.toml +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/rust/src/lib.rs +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/tests/__init__.py +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/tests/test_utils.py +0 -0
- {gsppy-3.3.0 → gsppy-3.5.0}/tox.ini +0 -0
gsppy-3.5.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## v3.5.0 (2026-01-26)
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
- Address code review feedback
|
|
9
|
+
([`1e7cf86`](https://github.com/jacksonpradolima/gsp-py/commit/1e7cf8681b3cd0432e6d1608187b7d518c27fcc0))
|
|
10
|
+
|
|
11
|
+
- Remove root logger modifications to prevent global side effects - Fix redundant logger
|
|
12
|
+
configuration in CLI - Remove redundant subprocess imports in tests - Revert unrelated formatting
|
|
13
|
+
changes in temporal constraints tests - Replace future dates with YYYY-MM-DD placeholders in
|
|
14
|
+
documentation - Add explanation for not using Loguru in logging documentation
|
|
15
|
+
|
|
16
|
+
All changes address feedback from code review while maintaining backward compatibility and test
|
|
17
|
+
coverage.
|
|
18
|
+
|
|
19
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
20
|
+
|
|
21
|
+
- Specify logger name in caplog for verbose tests
|
|
22
|
+
([`cb477b0`](https://github.com/jacksonpradolima/gsp-py/commit/cb477b0f040ce38b60b6e3d485536e79d6d3ea19))
|
|
23
|
+
|
|
24
|
+
Update test_verbose_initialization, test_non_verbose_initialization, and
|
|
25
|
+
test_verbose_override_in_search to use caplog.at_level(logging.DEBUG, logger='gsppy.gsp') instead
|
|
26
|
+
of just caplog.at_level(logging.DEBUG). This ensures tests only capture logs from the gsppy.gsp
|
|
27
|
+
logger, preventing interference from other loggers and making tests more reliable.
|
|
28
|
+
|
|
29
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
30
|
+
|
|
31
|
+
- Update test_setup_logging_verbose to match refactored logging
|
|
32
|
+
([`ab78c33`](https://github.com/jacksonpradolima/gsp-py/commit/ab78c33ee1c09964773b1af835c9bb133a778824))
|
|
33
|
+
|
|
34
|
+
Update test to verify logging.basicConfig is called with DEBUG level instead of checking the removed
|
|
35
|
+
explicit logger.setLevel call. This aligns with the refactored logging configuration that removed
|
|
36
|
+
redundant logger level setting.
|
|
37
|
+
|
|
38
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
39
|
+
|
|
40
|
+
### Chores
|
|
41
|
+
|
|
42
|
+
- Update uv.lock for version 3.4.3
|
|
43
|
+
([`6a78997`](https://github.com/jacksonpradolima/gsp-py/commit/6a789979fd6a7422c063dbe5b2ff46cd0d2141c6))
|
|
44
|
+
|
|
45
|
+
### Features
|
|
46
|
+
|
|
47
|
+
- Add explicit verbosity control and structured logging
|
|
48
|
+
([`44f56d9`](https://github.com/jacksonpradolima/gsp-py/commit/44f56d947978ddad1b7f2a2cca00f59def0ce4e4))
|
|
49
|
+
|
|
50
|
+
feat: add explicit verbosity control and structured logging
|
|
51
|
+
|
|
52
|
+
### Refactoring
|
|
53
|
+
|
|
54
|
+
- Gsp initialization in tests to handle constraints explicitly and improve verbosity handling
|
|
55
|
+
([`ced0243`](https://github.com/jacksonpradolima/gsp-py/commit/ced0243e58ff444988e37f5ae472f58d4478498e))
|
|
56
|
+
|
|
57
|
+
- Gsp initialization in tests to handle constraints explicitly and improve verbosity handling
|
|
58
|
+
([`479f305`](https://github.com/jacksonpradolima/gsp-py/commit/479f305aae02217ce7b75fede5e0fb249fd1b477))
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## v3.4.3 (2026-01-25)
|
|
62
|
+
|
|
63
|
+
### Bug Fixes
|
|
64
|
+
|
|
65
|
+
- **publish**: Update PyPI publish action version
|
|
66
|
+
([`0f23d45`](https://github.com/jacksonpradolima/gsp-py/commit/0f23d45c8b23d8f2a811934349cb7e020f2e4695))
|
|
67
|
+
|
|
68
|
+
Signed-off-by: Jackson Antonio do Prado Lima <jacksonpradolima@users.noreply.github.com>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## v3.4.2 (2026-01-25)
|
|
72
|
+
|
|
73
|
+
### Bug Fixes
|
|
74
|
+
|
|
75
|
+
- Update PyPI publish action version
|
|
76
|
+
([`eeebf53`](https://github.com/jacksonpradolima/gsp-py/commit/eeebf53fdfd319292d739946f9725dec37a1b6ed))
|
|
77
|
+
|
|
78
|
+
Signed-off-by: Jackson Antonio do Prado Lima <jacksonpradolima@users.noreply.github.com>
|
|
79
|
+
|
|
80
|
+
### Chores
|
|
81
|
+
|
|
82
|
+
- Update uv.lock for version 3.4.1
|
|
83
|
+
([`aac8fc1`](https://github.com/jacksonpradolima/gsp-py/commit/aac8fc118aca8ed2c58f4bf265d2fa45d9fb1f41))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## v3.4.1 (2026-01-25)
|
|
87
|
+
|
|
88
|
+
### Bug Fixes
|
|
89
|
+
|
|
90
|
+
- Update checkout action to use specific tag reference
|
|
91
|
+
([`3a33cb6`](https://github.com/jacksonpradolima/gsp-py/commit/3a33cb6243ae7e9dc46fc4f883662b3c7371ea97))
|
|
92
|
+
|
|
93
|
+
Added ref input to checkout action for specific tag reference.
|
|
94
|
+
|
|
95
|
+
Signed-off-by: Jackson Antonio do Prado Lima <jacksonpradolima@users.noreply.github.com>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## v3.4.0 (2026-01-25)
|
|
99
|
+
|
|
100
|
+
### Bug Fixes
|
|
101
|
+
|
|
102
|
+
- Configure semantic release workflow for branch protection
|
|
103
|
+
([`a01912c`](https://github.com/jacksonpradolima/gsp-py/commit/a01912c9ad63ab0d28eeeb6f21278e76e45d0456))
|
|
104
|
+
|
|
105
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
106
|
+
|
|
107
|
+
- Correct GPG secret condition check in workflow
|
|
108
|
+
([`5f949fe`](https://github.com/jacksonpradolima/gsp-py/commit/5f949fe28bc791b7ac7aa360f7394054f545cfe2))
|
|
109
|
+
|
|
110
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
111
|
+
|
|
112
|
+
- Prevent duplicate asset uploads between workflows
|
|
113
|
+
([`eb80fc5`](https://github.com/jacksonpradolima/gsp-py/commit/eb80fc518e8c58a84adbac594eb3309fcd98d6d6))
|
|
114
|
+
|
|
115
|
+
- Disable semantic-release asset uploads (upload_to_vcs_release = false) - Remove
|
|
116
|
+
[tool.semantic_release.publish] section from pyproject.toml - Update release.yml to only run
|
|
117
|
+
semantic-release version (no publish step) - Update documentation to clarify workflow separation:
|
|
118
|
+
* release.yml: Creates releases with tags (no assets) * publish.yml: Builds and uploads assets to
|
|
119
|
+
releases - This prevents duplicate asset upload failures
|
|
120
|
+
|
|
121
|
+
Addresses feedback from code review about duplicate uploads.
|
|
122
|
+
|
|
123
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
124
|
+
|
|
125
|
+
- Remove duplicate keywords from blocked/on-hold detection
|
|
126
|
+
([`1d1dfa9`](https://github.com/jacksonpradolima/gsp-py/commit/1d1dfa996bdb21a9723976038f3cf44e04c21c9d))
|
|
127
|
+
|
|
128
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
129
|
+
|
|
130
|
+
- Revert to original workflow and update docs with branch protection config
|
|
131
|
+
([`64e092f`](https://github.com/jacksonpradolima/gsp-py/commit/64e092f73bc60c39e5bd87c083233076e91cb8aa))
|
|
132
|
+
|
|
133
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
134
|
+
|
|
135
|
+
- Update action SHAs for pr-size-labeler and merge-conflict labeler
|
|
136
|
+
([`72df80a`](https://github.com/jacksonpradolima/gsp-py/commit/72df80a1480d9f5231d06d542bfdd775017f26a3))
|
|
137
|
+
|
|
138
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
139
|
+
|
|
140
|
+
- Update labeler action SHA, permissions, and improve keyword/review detection
|
|
141
|
+
([`c684c19`](https://github.com/jacksonpradolima/gsp-py/commit/c684c1998facd23243835e34f8b7e57f4d6bb3ec))
|
|
142
|
+
|
|
143
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
144
|
+
|
|
145
|
+
- Update semantic release branch config to master
|
|
146
|
+
([`7558959`](https://github.com/jacksonpradolima/gsp-py/commit/7558959d8aa40410003293e298e0da78b96e9e9c))
|
|
147
|
+
|
|
148
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
149
|
+
|
|
150
|
+
- Update semantic-release config to fix deprecation warning
|
|
151
|
+
([`e9a8d82`](https://github.com/jacksonpradolima/gsp-py/commit/e9a8d8242b8c94a8aae69033c0bda610546faf1c))
|
|
152
|
+
|
|
153
|
+
Move changelog_file configuration to the new location as required by semantic-release v10
|
|
154
|
+
compatibility.
|
|
155
|
+
|
|
156
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
157
|
+
|
|
158
|
+
- Use full commit SHA for action-semantic-pull-request
|
|
159
|
+
([`6c8964f`](https://github.com/jacksonpradolima/gsp-py/commit/6c8964f8748ed40871cc0ee31b581d142b2107eb))
|
|
160
|
+
|
|
161
|
+
Update amannn/action-semantic-pull-request from tag reference v5.5.4 (which doesn't exist) to v6.1.1
|
|
162
|
+
with full commit SHA hash (48f256284bd46cdaab1048c3721360e808335d50) for better security and
|
|
163
|
+
consistency with other workflows.
|
|
164
|
+
|
|
165
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
166
|
+
|
|
167
|
+
- Use proper expression syntax for GPG secret check
|
|
168
|
+
([`81e1fe9`](https://github.com/jacksonpradolima/gsp-py/commit/81e1fe9f0da9761da653b1409dec1478cc896a31))
|
|
169
|
+
|
|
170
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
171
|
+
|
|
172
|
+
### Code Style
|
|
173
|
+
|
|
174
|
+
- Remove trailing whitespace from workflow file
|
|
175
|
+
([`4a7a86d`](https://github.com/jacksonpradolima/gsp-py/commit/4a7a86db4adc375218d1ea050278e853ed19cbf9))
|
|
176
|
+
|
|
177
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
178
|
+
|
|
179
|
+
### Documentation
|
|
180
|
+
|
|
181
|
+
- Add comprehensive implementation summary
|
|
182
|
+
([`f318343`](https://github.com/jacksonpradolima/gsp-py/commit/f3183432cedbf22a84cbcd9c60971f0d31ef7fbe))
|
|
183
|
+
|
|
184
|
+
Add detailed documentation of the automated release management implementation, including: - Overview
|
|
185
|
+
of all components - How the system works - Testing instructions - Migration notes - Examples and
|
|
186
|
+
best practices
|
|
187
|
+
|
|
188
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
189
|
+
|
|
190
|
+
- Fix secret name and permissions in RELEASE_MANAGEMENT.md
|
|
191
|
+
([`a633221`](https://github.com/jacksonpradolima/gsp-py/commit/a633221f9c13442fffeb9ce52441706491493771))
|
|
192
|
+
|
|
193
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
194
|
+
|
|
195
|
+
### Features
|
|
196
|
+
|
|
197
|
+
- Add automated release management with semantic-release
|
|
198
|
+
([`a5b3a05`](https://github.com/jacksonpradolima/gsp-py/commit/a5b3a059b4bf51cef6d431b73d39f8ef499eb7e6))
|
|
199
|
+
|
|
200
|
+
- Add Python Semantic Release configuration in pyproject.toml - Create automated release workflow
|
|
201
|
+
(.github/workflows/release.yml) - Add conventional commit validation to pre-commit hooks - Add
|
|
202
|
+
comprehensive Release Management Guide (docs/RELEASE_MANAGEMENT.md) - Update CONTRIBUTING.md with
|
|
203
|
+
conventional commit requirements - Update README.md with release management section
|
|
204
|
+
|
|
205
|
+
This enables automatic version bumps, changelog updates, Git tags, and GitHub releases based on
|
|
206
|
+
conventional commits.
|
|
207
|
+
|
|
208
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
209
|
+
|
|
210
|
+
- Add comprehensive automated PR labeling workflow
|
|
211
|
+
([`eed5910`](https://github.com/jacksonpradolima/gsp-py/commit/eed59101544013199e102e47a60635569b6315dd))
|
|
212
|
+
|
|
213
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
214
|
+
|
|
215
|
+
- Use ORG_RELEASE_TOKEN with fallback to GITHUB_TOKEN
|
|
216
|
+
([`911defc`](https://github.com/jacksonpradolima/gsp-py/commit/911defce1c276f51727abbc514e8fab1e0ac6928))
|
|
217
|
+
|
|
218
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
219
|
+
|
|
220
|
+
### Performance Improvements
|
|
221
|
+
|
|
222
|
+
- Remove redundant toLowerCase() calls in keyword matching
|
|
223
|
+
([`d4ad61d`](https://github.com/jacksonpradolima/gsp-py/commit/d4ad61d36e7f411b1a798c201fe6b651d9e6d413))
|
|
224
|
+
|
|
225
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
226
|
+
|
|
227
|
+
### Refactoring
|
|
228
|
+
|
|
229
|
+
- Add pagination for comments and improve code clarity
|
|
230
|
+
([`2c2b10b`](https://github.com/jacksonpradolima/gsp-py/commit/2c2b10b49860b5d4de244c683b6745d998bbf0cd))
|
|
231
|
+
|
|
232
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
233
|
+
|
|
234
|
+
- Improve test script security and readability
|
|
235
|
+
([`a03427c`](https://github.com/jacksonpradolima/gsp-py/commit/a03427c56572d3edd0e93270dcdc524e3b8f86f6))
|
|
236
|
+
|
|
237
|
+
- Replace shell=True with list-based subprocess calls for better security - Use regex for version
|
|
238
|
+
parsing instead of shell commands - Improve code readability by using explicit newline characters
|
|
239
|
+
|
|
240
|
+
Addresses code review feedback.
|
|
241
|
+
|
|
242
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
243
|
+
|
|
244
|
+
- Optimize on-hold keyword detection to avoid redundancy
|
|
245
|
+
([`da6b5ac`](https://github.com/jacksonpradolima/gsp-py/commit/da6b5accd24edf198c8752579a4aeb8b740a45b9))
|
|
246
|
+
|
|
247
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
248
|
+
|
|
249
|
+
- Remove unnecessary files and clarify release triggers
|
|
250
|
+
([`ac69207`](https://github.com/jacksonpradolima/gsp-py/commit/ac69207829c207df16e2198b14502e418bf442f0))
|
|
251
|
+
|
|
252
|
+
- Remove test_release_config.py (validation script not needed as proper test) - Remove
|
|
253
|
+
IMPLEMENTATION_SUMMARY.md (redundant with docs/RELEASE_MANAGEMENT.md) - Update README to clearly
|
|
254
|
+
specify which commit types trigger releases - Clarify that docs, refactor, style, test, build, ci,
|
|
255
|
+
chore do NOT trigger releases
|
|
256
|
+
|
|
257
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
258
|
+
|
|
259
|
+
- Scope permissions to job level and remove documentation file
|
|
260
|
+
([`2d69faa`](https://github.com/jacksonpradolima/gsp-py/commit/2d69faa26dfdcf84b7e991532c399b35ffead0ad))
|
|
261
|
+
|
|
262
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
263
|
+
|
|
264
|
+
### Testing
|
|
265
|
+
|
|
266
|
+
- Add release configuration validation script and PR title check
|
|
267
|
+
([`b33335c`](https://github.com/jacksonpradolima/gsp-py/commit/b33335c522731dd02921605b24a2ba7194fcbffa))
|
|
268
|
+
|
|
269
|
+
- Add test script to validate semantic-release configuration - Add GitHub Actions workflow to
|
|
270
|
+
validate PR titles follow conventional commits - Ensures all PRs have properly formatted titles
|
|
271
|
+
for automated releases
|
|
272
|
+
|
|
273
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
## v3.3.1 (2026-01-18)
|
|
277
|
+
|
|
278
|
+
### Continuous Integration
|
|
279
|
+
|
|
280
|
+
- Add pip ecosystem back to Dependabot alongside uv for complete dependency updates
|
|
281
|
+
([`76e9b42`](https://github.com/jacksonpradolima/gsp-py/commit/76e9b429e1879cdc3544ae1fda216d9c2021f041))
|
|
282
|
+
|
|
283
|
+
- Configure Dependabot uv ecosystem and optimize lock check to run on Python 3.12 only
|
|
284
|
+
([`e2e31d1`](https://github.com/jacksonpradolima/gsp-py/commit/e2e31d1a1b8c7b9b37d41dd1c4cfedcaf8783566))
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
## v3.3.0 (2026-01-01)
|
|
288
|
+
|
|
289
|
+
### Bug Fixes
|
|
290
|
+
|
|
291
|
+
- Add explicit contents:read permission to build job
|
|
292
|
+
([`7e30362`](https://github.com/jacksonpradolima/gsp-py/commit/7e303623b4f4279072eb6f98c84c02a4c89b43e5))
|
|
293
|
+
|
|
294
|
+
Add explicit permissions to the build job for clarity and security best practices. The build job
|
|
295
|
+
needs contents:read to check out the repository.
|
|
296
|
+
|
|
297
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
298
|
+
|
|
299
|
+
- Make file pattern explicit and add error handling in hash generation
|
|
300
|
+
([`23cd1a3`](https://github.com/jacksonpradolima/gsp-py/commit/23cd1a3e4f92d8348ce6930079e7200f5ebcedbe))
|
|
301
|
+
|
|
302
|
+
- Use find with explicit patterns (*.whl, *.tar.gz) instead of wildcard - Add check to ensure Python
|
|
303
|
+
package artifacts exist before hashing - Exit with error if no artifacts found in dist directory -
|
|
304
|
+
Sort files for consistent ordering
|
|
305
|
+
|
|
306
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
307
|
+
|
|
308
|
+
- Remove ./ prefix from filenames in hash output
|
|
309
|
+
([`e604e2c`](https://github.com/jacksonpradolima/gsp-py/commit/e604e2c9c75bf55d74ec3c25f6e6845bd4815f65))
|
|
310
|
+
|
|
311
|
+
Use sed to strip the ./ prefix from find command output to ensure clean filenames in sha256sum
|
|
312
|
+
output, matching the format expected by SLSA provenance.
|
|
313
|
+
|
|
314
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
315
|
+
|
|
316
|
+
- Replace build-command with base64-subjects in SLSA provenance workflow
|
|
317
|
+
([`03255b3`](https://github.com/jacksonpradolima/gsp-py/commit/03255b32f8de775dec90f746ae7cdb02f13a85fd))
|
|
318
|
+
|
|
319
|
+
- Restructure workflow to have separate build and provenance jobs - Build job creates Python
|
|
320
|
+
packages and generates SHA256 hashes - Provenance job uses base64-subjects input with generated
|
|
321
|
+
hashes - Remove invalid build-command parameter that doesn't exist in
|
|
322
|
+
generator_generic_slsa3.yml@v1.10.0
|
|
323
|
+
|
|
324
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
325
|
+
|
|
326
|
+
- Update SLSA generator to v2.1.0 to fix deprecated actions
|
|
327
|
+
([`56b04b6`](https://github.com/jacksonpradolima/gsp-py/commit/56b04b65e560e26c81272e457d00ce851ff25199))
|
|
328
|
+
|
|
329
|
+
Update slsa-framework/slsa-github-generator from v1.10.0 to v2.1.0 to resolve the issue with
|
|
330
|
+
deprecated actions/upload-artifact@v3. The v2.1.0 version uses the latest actions and is
|
|
331
|
+
recommended by the SLSA framework documentation.
|
|
332
|
+
|
|
333
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
334
|
+
|
|
335
|
+
### Refactoring
|
|
336
|
+
|
|
337
|
+
- Use -printf '%f\n' for cleaner filename extraction
|
|
338
|
+
([`d02c4be`](https://github.com/jacksonpradolima/gsp-py/commit/d02c4bebea18ab3b710a175f7bac2398f42f9798))
|
|
339
|
+
|
|
340
|
+
Replace sed-based ./ prefix removal with find's -printf option for more robust and direct filename
|
|
341
|
+
extraction without path prefixes.
|
|
342
|
+
|
|
343
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
## v3.2.8 (2026-01-01)
|
|
347
|
+
|
|
348
|
+
### Chores
|
|
349
|
+
|
|
350
|
+
- Updatte uv.lock
|
|
351
|
+
([`4c03dd0`](https://github.com/jacksonpradolima/gsp-py/commit/4c03dd06e8519e618fef28c9fc2a7f2bfe688f9e))
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
## v3.2.7 (2026-01-01)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
## v3.2.6 (2026-01-01)
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
## v3.2.5 (2026-01-01)
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
## v3.2.4 (2026-01-01)
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
## v3.2.2 (2026-01-01)
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
## v3.2.1 (2026-01-01)
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
## v3.2.0 (2026-01-01)
|
|
373
|
+
|
|
374
|
+
### Bug Fixes
|
|
375
|
+
|
|
376
|
+
- Correct syntax errors in benchmarks.yml workflow
|
|
377
|
+
([`a30022d`](https://github.com/jacksonpradolima/gsp-py/commit/a30022d84c6bd8b793a9a315be297ebad1bebac1))
|
|
378
|
+
|
|
379
|
+
Co-authored-by: jacksonpradolima <7774063+jacksonpradolima@users.noreply.github.com>
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
## v3.1.1 (2025-12-21)
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
## v3.0.1 (2025-09-16)
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
## v3.0.0 (2025-09-14)
|
|
389
|
+
|
|
390
|
+
### Build System
|
|
391
|
+
|
|
392
|
+
- Migrate to uv, require Python 3.10+, add pre-commit/Makefile
|
|
393
|
+
([`16a2549`](https://github.com/jacksonpradolima/gsp-py/commit/16a2549d68ef4777ebb1ddf59817cd4b9da5ef98))
|
|
394
|
+
|
|
395
|
+
Replace Rye with uv for dependency management and execution to speed installs and simplify tooling
|
|
396
|
+
across CI and local dev Update GitHub Actions to install/use uv and run ruff/pyright/pytest via
|
|
397
|
+
uv; set Python 3.13 in CI and streamline virtualenv creation Raise minimum supported Python to
|
|
398
|
+
3.10; update pyproject requires-python, classifiers, linter/type checker targets, and README
|
|
399
|
+
badges/docs Add pre-commit configuration (ruff + hygiene hooks) and a Makefile with common tasks
|
|
400
|
+
(setup, install, test, lint, format, typecheck, tox, coverage, pre-commit) Remove Rye-specific
|
|
401
|
+
config and lockfiles; adjust dev dependency pins (e.g., pytest-cov 5.x, pylint 3.2.x) for
|
|
402
|
+
compatibility with the new toolchain Apply minor code style and typing cleanups
|
|
403
|
+
(quotes/formatting, type hints) and align tests; no functional behavior changes
|
|
404
|
+
|
|
405
|
+
BREAKING CHANGE: Drop support for Python 3.8 and 3.9
|
|
406
|
+
|
|
407
|
+
### Documentation
|
|
408
|
+
|
|
409
|
+
- Add committer prompt for conventional commit messages
|
|
410
|
+
([`84e7e63`](https://github.com/jacksonpradolima/gsp-py/commit/84e7e63d226acba629e70896506bc7d7277bbe12))
|
|
411
|
+
|
|
412
|
+
Introduce committer.prompt.md for agent-generated messages Provide clear steps, examples, and a
|
|
413
|
+
shell command template Standardize commit message quality and consistency across the repo
|
|
414
|
+
|
|
415
|
+
### Features
|
|
416
|
+
|
|
417
|
+
- Add optional GPU backend and CLI/API backend selector
|
|
418
|
+
([`972609a`](https://github.com/jacksonpradolima/gsp-py/commit/972609adefbcb2d5900adb88239ed3fac21d6605))
|
|
419
|
+
|
|
420
|
+
Introduce experimental GPU backend using CuPy to accelerate singleton (k=1) support counting;
|
|
421
|
+
non-singleton candidates fall back to Rust (if available) or Python Expose backend selection
|
|
422
|
+
across layers: accelerate.support_counts now accepts backend: Optional[str] (overrides
|
|
423
|
+
GSPPY_BACKEND env when provided) GSP._support and GSP.search accept a backend parameter and
|
|
424
|
+
forward it to the acceleration layer Add --backend option to CLI (choices: auto, python, rust,
|
|
425
|
+
gpu); when non-auto, it sets GSPPY_BACKEND for the run Update README with a new GPU acceleration
|
|
426
|
+
section, installation via optional extra, runtime selection instructions, and revised CLI examples
|
|
427
|
+
including --backend Add gpu extra in pyproject.toml (cupy>=11,<14) to keep GPU dependencies
|
|
428
|
+
optional Maintain default CPU behavior (auto: try Rust, then Python) for backward compatibility
|
|
429
|
+
|
|
430
|
+
- Add optional Rust acceleration, benchmarks, and CI integration
|
|
431
|
+
([`2d98162`](https://github.com/jacksonpradolima/gsp-py/commit/2d981622526b7e2f4dd0572a93826f2472032066))
|
|
432
|
+
|
|
433
|
+
Introduce acceleration layer (gsppy/accelerate.py) that uses a PyO3 Rust extension for support
|
|
434
|
+
counting and gracefully falls back to pure Python; runtime backend selection via GSPPY_BACKEND
|
|
435
|
+
(rust/python/auto). Add bench_support.py (Click CLI) to compare Python vs Rust backends with
|
|
436
|
+
options like --max_k and --warmup for reproducible micro-benchmarks. Extend Makefile with Rust
|
|
437
|
+
helpers: rust-setup, rust-build (idempotent skip when up-to-date by checking the installed .so vs
|
|
438
|
+
Rust sources), bench-small, and bench-big; update help output with a Rust acceleration section.
|
|
439
|
+
Update README.md and CONTRIBUTING.md with instructions to build the Rust extension, choose a
|
|
440
|
+
backend at runtime, and run benchmarks of various sizes. CI: update codecov workflow to optionally
|
|
441
|
+
install Rust and build the extension in tests, and add a dedicated test-rust job that builds the
|
|
442
|
+
extension, runs tests with GSPPY_BACKEND=rust, and uploads coverage/test results flagged as
|
|
443
|
+
"rust".
|
|
444
|
+
|
|
445
|
+
Motivation: improve performance of hot support-counting loops while preserving a zero-dependency
|
|
446
|
+
Python fallback; provide tooling and CI coverage to ensure stability and reproducibility.
|
|
447
|
+
|
|
448
|
+
- **cli**: Migrate to Click-based CLI and improve docs
|
|
449
|
+
([`f9939e6`](https://github.com/jacksonpradolima/gsp-py/commit/f9939e628f0dd0fcf0a61f8f516ad9c9f23f8703))
|
|
450
|
+
|
|
451
|
+
Replaced argparse CLI with Click for better usability and error handling Updated CLI options and
|
|
452
|
+
error handling to use Click conventions Enhanced README with detailed CLI usage instructions,
|
|
453
|
+
examples, and error handling Added Click as a dependency in pyproject.toml Refactored tests to
|
|
454
|
+
handle Click's SystemExit and updated assertions for new CLI behavior Improved logging and exit
|
|
455
|
+
codes for invalid input and errors
|
|
456
|
+
|
|
457
|
+
### BREAKING CHANGES
|
|
458
|
+
|
|
459
|
+
- Drop support for Python 3.8 and 3.9
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
## v2.3.0 (2025-01-05)
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
## v2.2.0 (2024-12-28)
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
## v2.1.0 (2024-12-26)
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
## v2.0.1 (2024-12-25)
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
## v2.0.0 (2024-12-25)
|
|
475
|
+
|
|
476
|
+
### Chores
|
|
477
|
+
|
|
478
|
+
- **project**: Update dependencies, setup configuration, and documentation
|
|
479
|
+
([`9f49f41`](https://github.com/jacksonpradolima/gsp-py/commit/9f49f41249ef6173c6bacba91a85799529b4b593))
|
|
480
|
+
|
|
481
|
+
- **Dependency Updates**: - Updated `requirements.txt` to include necessary package versions for
|
|
482
|
+
compatibility and performance improvements. - Removed unused dependencies to streamline the
|
|
483
|
+
project environment.
|
|
484
|
+
|
|
485
|
+
- **Setup Configuration**: - Enhanced `setup.py` for better packaging and distribution. - Updated
|
|
486
|
+
metadata fields such as author information, project URL, and long description handling using the
|
|
487
|
+
README file. - Improved classifiers for better PyPI categorization.
|
|
488
|
+
|
|
489
|
+
- **Documentation Enhancements**: - Revised `README.md` to reflect the latest project features and
|
|
490
|
+
usage instructions. - Added examples for common use cases and clarified installation steps. -
|
|
491
|
+
Fixed typos and restructured sections for better readability.
|
|
492
|
+
|
|
493
|
+
- **Files Modified**: - `requirements.txt`: Dependency updates and cleanup. - `setup.py`:
|
|
494
|
+
Configuration and metadata improvements. - `README.md`: Documentation updates for features,
|
|
495
|
+
installation, and usage.
|
|
496
|
+
|
|
497
|
+
### Continuous Integration
|
|
498
|
+
|
|
499
|
+
- **config**: Update linting, GitHub workflows, and editor configuration
|
|
500
|
+
([`4fca581`](https://github.com/jacksonpradolima/gsp-py/commit/4fca5811724729c755cd917724e63310b1d7c1ba))
|
|
501
|
+
|
|
502
|
+
- Updated `.pylintrc` for stricter linting rules to enforce consistency. - Modified `.editorconfig`
|
|
503
|
+
for uniform whitespace and indentation. - Adjusted GitHub Actions in `.github` to streamline CI/CD
|
|
504
|
+
pipeline execution.
|
|
505
|
+
|
|
506
|
+
### Documentation
|
|
507
|
+
|
|
508
|
+
- **project**: Update project documentation and guidelines
|
|
509
|
+
([`fbb89dc`](https://github.com/jacksonpradolima/gsp-py/commit/fbb89dccfe08c14da8e5235febdde9c8ee4cc8a8))
|
|
510
|
+
|
|
511
|
+
- Updated `LICENSE` to clarify usage and copyright terms. - Improved `CONTRIBUTING` guidelines to
|
|
512
|
+
provide clear instructions for contributors.
|
|
513
|
+
|
|
514
|
+
### Features
|
|
515
|
+
|
|
516
|
+
- **cli**: Enhance CLI functionality and expand test coverage
|
|
517
|
+
([`fbce510`](https://github.com/jacksonpradolima/gsp-py/commit/fbce5103cb6155da4123fd08fa22fcf233f06160))
|
|
518
|
+
|
|
519
|
+
- **CLI Improvements**: - Refactored the CLI command structure for better usability and
|
|
520
|
+
maintainability. - Improved error handling and added user-friendly messages for invalid inputs. -
|
|
521
|
+
Enhanced logging output for better traceability during execution.
|
|
522
|
+
|
|
523
|
+
- **Test Enhancements**: - Added comprehensive test cases in `test_cli` to ensure full coverage of
|
|
524
|
+
CLI commands. - Validated edge cases, including incorrect parameters and missing configurations. -
|
|
525
|
+
Benchmarked CLI execution to identify and optimize bottlenecks.
|
|
526
|
+
|
|
527
|
+
- **Files Modified**: - `cli`: Improved command parsing and added user-friendly error messages. -
|
|
528
|
+
`test_cli`: Expanded test coverage and introduced new edge case validations.
|
|
529
|
+
|
|
530
|
+
- **core**: Optimize GSP algorithm and enhance test coverage
|
|
531
|
+
([`7865f8c`](https://github.com/jacksonpradolima/gsp-py/commit/7865f8c377e9d3aa8017ad2453a81ca9089ed343))
|
|
532
|
+
|
|
533
|
+
- **Performance Improvements**: - Refactored the GSP algorithm to significantly improve candidate
|
|
534
|
+
generation. - Replaced nested loops with optimized `itertools` usage, reducing computational
|
|
535
|
+
overhead. - Enhanced `generate_candidates_from_previous` to be more efficient and maintainable by
|
|
536
|
+
removing redundant checks. - Performance benchmarks: - Old implementation: ~2,874 ms. - New
|
|
537
|
+
implementation: ~47 ms. - Overall improvement: ~61x (~98.37%).
|
|
538
|
+
|
|
539
|
+
- **Test Enhancements**: - Updated `test_generate_candidates_from_previous` to cover edge cases such
|
|
540
|
+
as disjoint patterns and single-element sequences. - Adjusted test cases in `test_gsp` and
|
|
541
|
+
`test_utils` to validate the new implementation. - Verified backward compatibility to ensure
|
|
542
|
+
correctness with the old GSP logic. - Added benchmarks for comparative analysis of old vs. new
|
|
543
|
+
utility functions.
|
|
544
|
+
|
|
545
|
+
- **Code Refactor**: - Improved the readability and maintainability of core utility functions in
|
|
546
|
+
`utils`. - Simplified the logic for candidate generation using a compressed for-loop approach.
|
|
547
|
+
|
|
548
|
+
- **Files Modified**: - `gsp`: Core GSP algorithm optimization. - `test_gsp`: Adjustments for GSP
|
|
549
|
+
test validation. - `utils`: Refactored candidate generation utilities. - `tests/test_gsp`:
|
|
550
|
+
Enhanced test cases for edge cases and performance benchmarks. - `tests/test_utils`: Improved unit
|
|
551
|
+
tests for utility functions.
|
|
@@ -77,9 +77,15 @@ To maintain consistency and code quality, please follow these coding guidelines:
|
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
2. **Commit Messages**:
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
80
|
+
- Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification.
|
|
81
|
+
- Use the format: `<type>(<scope>): <description>`
|
|
82
|
+
- Common types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`
|
|
83
|
+
- Examples:
|
|
84
|
+
- `feat(cli): add export format option`
|
|
85
|
+
- `fix: correct off-by-one error in pattern matching`
|
|
86
|
+
- `docs: update installation instructions`
|
|
87
|
+
- For breaking changes, add `!` after type/scope or include `BREAKING CHANGE:` in the footer
|
|
88
|
+
- See [Release Management Guide](docs/RELEASE_MANAGEMENT.md) for details
|
|
83
89
|
|
|
84
90
|
3. **Tests**:
|
|
85
91
|
- Write tests for new features or bug fixes.
|