Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build, meta: drop Python 3.7 support, checks, and CI job #2500

Merged
merged 11 commits into from
Aug 9, 2023
Merged

Commits on Aug 2, 2023

  1. Configuration menu
    Copy the full SHA
    45ce17c View commit details
    Browse the repository at this point in the history
  2. docs/docstrings: replace links to Python 3.7 docs w/links to 3.11 pages

    Linking to just `/3/` is admittedly risky, because item/anchor locations
    can change across Python versions. Bumping the links from 3.7 to 3.11
    gives us a few more years of not needing to touch them.
    dgw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    4d2f19c View commit details
    Browse the repository at this point in the history
  3. sopel: importlib_metadata backport -> stdlib importlib.metadata

    Can't drop the `importlib_metadata` requirement yet, though. We use some
    stuff elsewhere that isn't stable in stdlib until py3.10.
    dgw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    a903e5d View commit details
    Browse the repository at this point in the history
  4. plugins.handlers: use TypedDict for get_meta_description() returns

    Played with using intentionally wrong types in the definition of a
    `PluginMetaDescription` and running `mypy` against it, but didn't see
    any (new) errors flagged over that. Maybe I did it wrong, but it took
    enough work shuffling docstrings around that I'm committing this anyway.
    dgw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    de572cd View commit details
    Browse the repository at this point in the history
  5. announce: simplify chunking loop to use walrus operator

    The test covering `_chunks()` still passes, so hooray!
    dgw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    451a36e View commit details
    Browse the repository at this point in the history
  6. irc.isupport: simplify OrderedDict -> dict

    Regular `dict` is promised to maintain insertion order as of Python 3.7
    (which means this could have been done sooner, but it got forgotten, so
    we're doing it at the point of dropping Python <3.8 instead).
    dgw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    8ad45b7 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. plugins.rules: clean up forgotten py2 list-copy holdover

    Not doing exactly as the comment says because different Rule subclasses
    pass aliases as either tuple or list depending on how whoever wrote the
    subclass was feeling that day.
    
    Instead, let's simplify the code to do everything in one step, and
    unpack the `aliases` iterable so its type won't even matter.
    
    Co-authored-by: SnoopJ <[email protected]>
    dgw and SnoopJ committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    2bcddff View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    314c8a2 View commit details
    Browse the repository at this point in the history
  3. plugins.handlers: use stdlib for EntryPointPlugin.get_version()

    `importlib.metadata` officially starts existing in Python 3.8, and we
    are removing support for Python 3.7 before Sopel 8's stable release.
    That means we can use the stdlib approach here to get the version string
    for an entry-point plugin, and drop another `import importlib_metadata`.
    
    I can't wait for Python 3.9's EOL... We can remove `importlib_metadata`
    completely then.
    dgw committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    57b692c View commit details
    Browse the repository at this point in the history
  4. tld: be more specific about JSONDecodeError instead of ValueError

    As of Python 3.5, we can do this. It's overdue.
    dgw committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    c743861 View commit details
    Browse the repository at this point in the history
  5. test: update plugins tests to use importlib.metadata directly

    importlib.metadata.EntryPoint *shouldn't* differ from Python 3.8 onward,
    unless there's something missing from the documentation. If this breaks
    stuff on older Python releases (I'm on 3.10 locally), we will defer this
    change until we drop 3.9 as planned per the code comments.
    dgw committed Aug 3, 2023
    1 Configuration menu
    Copy the full SHA
    2a6d146 View commit details
    Browse the repository at this point in the history