v1.0.7
Chore
-
chore: Ignore security findings in tests/examples (
f18ece4
) -
chore: Switch to Ruff (
6112943
)Use Ruff to replace a variety of linters/formatters.
-
chore: Fix badge URLs (
2c8dda1
)Somehow it looks like some hidden character wound up copy/pasted in the
middle of thehttps
. -
chore: Add PR template (
eb0b3b8
)
Continuous Integration
-
ci: Add OpenSSF Scorecard workflow (
5f8f3cf
) -
ci: auto fixes from pre-commit.com hooks (
2d05e81
)for more information, see https://pre-commit.ci
Documentation
-
docs: Add docstrings to test/example files (
f0b7eb9
) -
docs: Add OpenSSF Scorecard badge to ReadTheDocs (
91c5557
) -
docs: Add CodeFactor badge (
105a394
) -
docs: Adopt Conventional Comments (
9d16c0c
)Try to encourage effective communication via issues/PRs.
-
docs: Update link to latest GMS release (
af2ce45
) -
docs: Move copyright/license text to comments (
b355341
)In all source files, move the copyright and license text from the module
docstring to comments immediately below it. This is to avoid processing
this text when Sphinx is automatically generating documentation from
docstrings. -
docs: Add contributor license agreement (
9531c94
) -
docs: Update copyright text in source files (
4cba3d0
)Per guidance from Sandia Technology Transfer, the recommended text from
the Linux Foundation is insufficient for our purposes. -
docs: Update copyright/license info (
4d1d42a
)Update the copyright years in the
LICENSE.md
file and add copyright
and license information to all source files (part of the Gold level
OpenSSF Best Practices). -
docs: Add coverage job steps (
3b20a84
)Add steps to the CI job to compute the documentation coverage for the
package and archive the results.
Patch
-
patch: Force
prefer_short
to be keyword-only (f02c7f2
)Turning on
flake8-boolean-trap
linting via Ruff resulted in the
following findings:reverse_argparse/reverse_argparse.py:242:31: FBT002 Boolean default positional argument in function definition reverse_argparse/reverse_argparse.py:242:31: FBT001 Boolean-typed positional argument in function definition Found 2 errors.
Switching
prefer_short
from a positional to a keyword-only argument
addresses the problem.Note that this is technically a breaking change, but only for a
"private" method, not in the package's public API. Therefore the change
is not registered as a breaking change via Conventional Commit syntax,
and no major version update will be created. Instead, this commit will
force the creation of a patch release. If users were relying on the
prior behavior of this internal method, they can simply switch to the
keyword syntax when calling it.
Refactor
-
refactor: Address Ruff-specific lint findings (
076e199
) -
refactor: Address Pylint findings (
862bc62
) -
refactor: Ignore particular type error (
9d412dd
) -
refactor: Remove unnecessary shebang lines (
a7ae1f6
) -
refactor: Assign exception messages to variables (
844c71a
)Running
flake8-errmsg
via Ruff yielded the following findings:reverse_argparse/reverse_argparse.py:143:17: EM102 Exception must not use an f-string literal, assign to variable first reverse_argparse/reverse_argparse.py:461:17: EM102 Exception must not use an f-string literal, assign to variable first Found 2 errors.
This changes resolves the issues.
-
refactor: Don't override Python builtins (
9006adb
)
Test
-
test: Use tuples for parametrize variables (
25d9be8
) -
test: Use UTC timezone with datetime (
25ff30f
)Running
flake8-datetimez
via Ruff yielded the following findings:example/test_examples.py:88:25: DTZ005 `datetime.datetime.now()` called without a `tz` argument example/test_examples.py:89:25: DTZ007 Naive datetime constructed using `datetime.datetime.strptime()` without %z example/test_examples.py:125:13: DTZ005 `datetime.datetime.now()` called without a `tz` argument example/test_examples.py:126:25: DTZ007 Naive datetime constructed using `datetime.datetime.strptime()` without %z Found 4 errors.
Specifying timezone info resolves the issues.