Skip to content

v1.0.7

Compare
Choose a tag to compare
@jmgate jmgate released this 22 Apr 22:04
· 346 commits to master since this release

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 the https.

  • chore: Add PR template (eb0b3b8)

Continuous Integration

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.