Fix/bugfixes slice table protection and state - #185
Merged
Conversation
- Fix type hint typo 'NotmalWriter' -> 'NormalWriter' (worksheet.py) - Fix _set_cell_by_slice using start_row instead of loop variable row (worksheet.py:340) - Fix Workbook.create_table using self.sheet instead of sheet param (workbook.py:416) - Fix protection unpacking using self.protection instead of self.protection_params (style.py) - Add protection_params handling in CustomStyle.set_custom_style (style.py) - Wrap read_lib_and_create_excel in try/finally to ensure StyleManager state reset (driver.py) - Add comprehensive scenario tests for all 5 fixes (tests/bugfixes_test.py)
- Replace Pipfile/Pipfile.lock with pyproject.toml and uv.lock - Remove setup.py and setup.cfg (metadata now in pyproject.toml) - Remove requirements-dev.txt (dependencies now in pyproject.toml) - Update Makefile to use uv commands (uv run, uv sync, uv build) - Add ruff configuration in pyproject.toml - Add dependency-groups for dev and docs
- Add new ci.yml workflow (test, docs, build-package jobs) - Update python.yml: pip -> uv, add Python 3.12/3.13/3.14 - Update pypi.yml: add Python 3.12/3.13/3.14 to test matrix - Update codeql.yml: pip -> uv - Python 3.14 marked as experimental with allow-prereleases
- Fix spacing in expressions (i+1 -> i + 1) - Merge split string literals - Prefix unused variable with underscore
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Documentation | 1 minor |
🟢 Metrics 31 complexity · 0 duplication
Metric Results Complexity 31 Duplication 0
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #185 +/- ##
===========================================
- Coverage 96.30% 86.30% -10.00%
===========================================
Files 30 8 -22
Lines 3138 847 -2291
===========================================
- Hits 3022 731 -2291
+ Misses 77 76 -1
- Partials 39 40 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- Move _read_lib and _create_style into try block so StyleManager cleanup in finally always runs on failure - Migrate pypi workflow from setup.py bdist_wheel to python -m build - Add test for StyleManager reset after style serialization failure
- Regenerate docs/requirements.txt with 'uv pip compile --upgrade' to fix MkDocs build compatibility (pygments/pymdown-extensions) - Upgrade golang.org/x/crypto v0.28.0 -> v0.45.0 - Upgrade golang.org/x/net v0.30.0 -> v0.47.0 - Upgrade golang.org/x/text v0.19.0 -> v0.31.0 - Keep go 1.24 (within Go 1.24 toolchain) - Fix pre-commit config stages and benchmark code style
- examples/full_examples.py: replace random with secrets for demo data - pyfastexcel/core/style.go: extract setMappedValue to reduce CCN; use FieldByNameFunc to avoid unsafe-reflection rule - go.mod: upgrade Go directive from 1.24.0 to 1.25.11 to fix stdlib CVEs Verified locally: - opengrep: 0 findings - lizard: 0 warnings (CCN<=20) - go test: pass - pytest: 353 passed - trivy: Go stdlib CVEs resolved
go.mod requires go >= 1.25.11 (bumped to fix Go stdlib CVEs), but Go 1.25 has no official bullseye image and Go 1.24 is EOL. Install the Go 1.25.12 toolchain from the official tarball (with SHA256 verification) on top of debian:bullseye to keep GLIBC 2.31 compatibility for the shared library. Also bump setup-go to 1.25 in the Windows/macOS build and in go.yml/ci.yml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- go.mod: bump golang.org/x/net 0.47.0 -> 0.55.0 (+crypto/text via
go mod tidy), resolving 4 x/net CVEs
- Drop Python 3.8/3.9 support (both EOL) so uv can resolve the
CVE-fixed dependency versions, all of which require Python >=3.10:
requires-python >=3.10, ruff target py310, updated classifiers and
removed the eval-type-backport<3.9 runtime dep
- Update CI matrices (ci/pypi/python workflows) to 3.10-3.14
- uv.lock: relock; every flagged package now resolves to a single
CVE-fixed version (pillow, urllib3, pip, setuptools, wheel, requests,
pytest, markdown, fonttools, pygments, pymdown-extensions, filelock)
- benchmark/perf_compare.py: fix docstrings (D205/D212/D415) and drop
unused _raw assignment (F841)
- tests/workbook_test.py: fix trailing-comma typo in parametrize
argnames ('selection,' -> 'selection') that pytest 9 rejects
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EeLqcog1i8f1wFvMwL4Px2
- benchmark/perf_compare.py: move docstring summaries to the second line (D213 — Codacy's pydocstyle convention now expects this, the opposite of the earlier D212 report) - Drop the second unused _raw assignment in the raw-bytes API branch (F841); the string_at call is kept for timing Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeLqcog1i8f1wFvMwL4Px2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.