Repository navigation
Sync dev and agentic tooling from python-open-source-template - #558
Merged
Merged
Conversation
Adopt the current dev/CI scaffolding from palewire/python-open-source-template: - Add AGENTS.md, an expanded Makefile (bootstrap/check/verify/test-parallel/ package-verify/etc.), MANIFEST.in, CHANGELOG.md, and RELEASING.md. - Switch project dependency declarations from optional-dependencies to PEP 735 dependency-groups (dev/test/docs). - Replace mypy with ty for static type checking, fixing the ~150 bare `dict` annotations and unsound-return-statement cases it surfaced across the package so `make check` passes clean. - Expand pre-commit hooks (detect-secrets, codespell, actionlint, blacken-docs, zizmor, a pre-push ty hook) and fix the real typos/formatting they caught. - Add deptry, zizmor, check-manifest, check-wheel-contents, twine, and vulture as dev tooling; remove the unused rich and exceptiongroup dependencies that deptry flagged. - Add CodeQL and OpenSSF Scorecard workflows, issue/PR templates, CODEOWNERS, .editorconfig, .gitattributes, .env.example, and .python-version. - Rewrite continuous-deployment.yml around the new Makefile targets; keep PyPI publishing on the existing PYPI_API_TOKEN secret (not Trusted Publishing). - Add a docs.yml workflow that builds and link-checks the Sphinx docs in CI; documentation hosting/theme stays on Read the Docs. All changes validated locally: make check, the full pre-commit suite, and the full pytest suite (1071 passed, 3 skipped) all pass clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reconcile the dev/agentic tooling sync with 56 commits of feature work already on chekos/Datawrapper:main (MultipleColumnPanel, DataChange/ DataChangeList, Line color convenience mapping, deprecation compatibility and public API guardrail tests, etc.). Conflict resolution notes: - .github/workflows/continuous-deployment.yml, .pre-commit-config.yaml: kept this branch's Makefile-driven structure and ty-based type checking, adopted upstream's newer action/tool version pins (checkout@v7, setup-uv@v9.0.0, upload-artifact@v7, download-artifact@v8, ruff v0.16.0, pyupgrade v3.21.2, check-added-large-files maxkb=1024). - AGENTS.md, CONTRIBUTING.md, README.md: merged both versions' guidance (this branch's make targets/workflow plus upstream's testing strategy, AI-agent guardrails, and PR-focus guidance). - datawrapper/__main__.py: kept upstream's `refresh_data`/`post` semantic fix (dict | bool for empty-success responses) with the dict[str, Any] type-argument fix applied on top. - datawrapper/charts/line.py: kept upstream's Line color convenience mapping methods and the broader dict | list deserialize_model signature, with dict[str, Any] applied throughout. - docs/user-guide/charts/multiple-column-charts.md: adopted upstream's MultipleColumnPanel-based example (supersedes the old raw-dict panels). - pyproject.toml: kept dependency-groups/ty; picked up upstream's ruff version pin and switch to `[tool.setuptools.packages.find]`. - uv.lock: regenerated with `uv lock` against the resolved pyproject.toml. - datawrapper/charts/multiple_column.py: fixed a new ty finding this merge surfaced (MultipleColumnPanel(**panel_data) -> .model_validate(panel_data)) in the newly-merged panel-conversion code. Re-validated after merging: make check, full pre-commit suite, and the full pytest suite (1120 passed, 3 skipped) all pass clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
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.
Summary
Syncs this repo's development and agentic tooling with the current state of palewire/python-open-source-template.
AGENTS.md, an expandedMakefile(bootstrap/check/verify/test-parallel/package-verify/etc.),MANIFEST.in,CHANGELOG.md, andRELEASING.md.[project.optional-dependencies]to PEP 735[dependency-groups](dev/test/docs).mypywithtyfor static type checking. This required real fixes, not just config: ~150 baredictannotations neededdict[str, Any], plus a handful ofAny-leak return-type issues and stale# type: ignorecomments..pre-commit-config.yaml(detect-secrets, codespell, actionlint, blacken-docs, zizmor, a pre-pushtyhook), which caught and fixed two real typos (Initalize,resutls).deptry,zizmor,check-manifest,check-wheel-contents,twine, andvultureas dev tooling.deptrycaught two genuinely unused runtime dependencies (rich,exceptiongroup), which are now removed.CODEOWNERS,.editorconfig,.gitattributes,.env.example, and.python-version.continuous-deployment.ymlaround the new Makefile targets. PyPI publishing stays on the existingPYPI_API_TOKENsecret (not Trusted Publishing).docs.ymlworkflow that builds and link-checks the Sphinx docs in CI; documentation hosting/theme stays on Read the Docs (not migrated to the template's S3 + palewire-theme setup).Deliberately not adopted, to keep this a config/tooling sync rather than a large content change:
ANN,S,BLE,PTH, etc.) — would require a separate, large lint-fixing pass across the package.docs-check(-W) in CI — the docs currently have 34 pre-existing Sphinx warnings (duplicateautosectionlabelreferences) that would break CI on day one. CI uses the non-strictmake docsbuild instead.Test plan
make check(ruff lint/format,ty check,deptry,zizmor, diff-check) passes cleanmake manifest-check,make build,make package-verify PACKAGE=datawrapperall passpre-commit run --all-files) passes cleanmake docsbuilds successfully🤖 Generated with Claude Code