Trim template deps; align GitHub Actions and GitLab CI - #15
Merged
Conversation
- pyproject.toml: empty default `dependencies` (template should not pre-pick a stack). Move matplotlib/numpy/pandas/scikit-learn/scipy/seaborn into a new `science` extra with loose floors that match Python 3.13 wheel availability. Drop tqdm/watermark/missingno/wandb entirely — niche enough that users should add them explicitly. - .gitlab-ci.yml: rewrite to mirror python-app.yml — same 3.10–3.13 matrix, same install/pytest commands, plus a pre-commit job and `interruptible: true` to match GitHub's concurrency cancellation. Fix coverage regex so 0% parses. Add per-job timeouts. - python-app.yml + .gitlab-ci.yml: prominent KEEP IN SYNC header pointing at the sibling file. - README: document the new `science` extra and the dual-CI policy.
scripts/personalize.sh: one-shot rewrite of every place the original author's identity is baked in (package name, GitHub username, author, email, ORCID, codecov token) plus directory rename. Required flags --name, --username, --author, --email; optional --orcid (line is removed from CITATION.cff if omitted). README step 2 now references the script instead of an inline sed. Added explicit checklist items for logo and codecov-token replacement (previously easy to miss). mypy: add [tool.mypy] with permissive defaults (ignore_missing_imports, check_untyped_defs, no disallow_untyped_defs) so a fresh checkout passes. Ship a PEP 561 py.typed marker via package-data. Added a mypy step to python-app.yml (3.12 only, alongside test) and a parallel mypy job to the GitLab lint stage. Updated the README Typing section.
- __version__ and CITATION.cff version: 0.0.0 -> 0.0.0.dev0 (PEP 440 pre-release suffix makes the unreleased state explicit and prevents accidentally tagging "0.0.0" on PyPI). - docs/conf.py: hardcode copyright year (was datetime.date.today().year, non-deterministic build artifact); drop sys.path.insert hack and the now-unused os/sys imports — RTD installs the package via the docs extra. - docs/index.rst: remove the empty "Contents:" toctree so RTD's fail_on_warning build is clean. - .readthedocs.yml: fail_on_warning true so dangling refs don't rot. - codeql.yml: queries: security-and-quality (broader than default). - tests/test_example.py: convert from unittest.TestCase to pytest function style — what users should be writing in 2026. The trivial test now actually asserts something (version is a non-empty string) rather than being a literal no-op. - README: note that Dependabot is GH-only and point GitLab users at Renovate.
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.
dependencies(template should not pre-picka stack). Move matplotlib/numpy/pandas/scikit-learn/scipy/seaborn into a
new
scienceextra with loose floors that match Python 3.13 wheelavailability. Drop tqdm/watermark/missingno/wandb entirely — niche enough
that users should add them explicitly.
same install/pytest commands, plus a pre-commit job and
interruptible: trueto match GitHub's concurrency cancellation. Fix coverage regex so 0%parses. Add per-job timeouts.
the sibling file.
scienceextra and the dual-CI policy.