One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them.

Overview

AwesomeVersion

codecov python version dependencies PyPI Actions

One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them.

Make anything a version object, and compare against a vast section of other version formats.

Installation

python3 -m pip install awesomeversion

Example usage

These are some examples of what you can do, more examples can be found in the tests directory.

from awesomeversion import AwesomeVersion

current = AwesomeVersion("1.2.2")
upstream = AwesomeVersion("1.2.3")

print(upstream > current)
> True
from awesomeversion import AwesomeVersion

version = AwesomeVersion("1.2.3b0")

print(version.beta)
> True
from awesomeversion import AwesomeVersion

current = AwesomeVersion("2021.1.0")
upstream = AwesomeVersion("2021.1.0b2")

print(upstream > current)
> False
from awesomeversion import AwesomeVersion

current = AwesomeVersion("latest")
upstream = AwesomeVersion("2021.1.0")

print(upstream > current)
> False
from awesomeversion import AwesomeVersion

current = AwesomeVersion("latest")
upstream = AwesomeVersion("dev")

print(upstream > current)
> True
from awesomeversion import AwesomeVersion

with AwesomeVersion("20.12.0") as current:
    with AwesomeVersion("20.12.1") as upstream:
        print(upstream > current)
> True
from awesomeversion import AwesomeVersion

with AwesomeVersion("20.12.0") as current:
    print("2020.12.1" > current)
> True

Contribute

All contributions are welcome!

  1. Fork the repository
  2. Clone the repository locally and open the devcontainer or use GitHub codespaces
  3. Do your changes
  4. Lint the files with make black
  5. Ensure all tests passes with make test
  6. Ensure 100% coverage with make coverage
  7. Commit your work, and push it to GitHub
  8. Create a PR against the main branch
Comments
  • Bump black from 21.12b0 to 22.1.0

    Bump black from 21.12b0 to 22.1.0

    Bumps black from 21.12b0 to 22.1.0.

    Release notes

    Sourced from black's releases.

    22.1.0

    At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.

    Highlights

    • Remove Python 2 support (#2740)
    • Introduce the --preview flag (#2752)

    Style

    • Deprecate --experimental-string-processing and move the functionality under --preview (#2789)
    • For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
    • Black now normalizes string prefix order (#2297)
    • Remove spaces around power operators if both operands are simple (#2726)
    • Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
    • Use parentheses for attribute access on decimal float and int literals (#2799)
    • Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
    • Treat blank lines in stubs the same inside top-level if statements (#2820)
    • Fix unstable formatting with semicolons and arithmetic expressions (#2817)
    • Fix unstable formatting around magic trailing comma (#2572)

    Parser

    • Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password} (#2686)
    • Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b (#2716)
    • Fix call patterns that contain as-expressions with keyword arguments, like case Foo(bar=baz as quux) (#2749)
    • Tuple unpacking on return and yield constructs now implies 3.8+ (#2700)
    • Unparenthesized tuples on annotated assignments (e.g values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)
    • Fix handling of standalone match() or case() when there is a trailing newline or a comment inside of the parentheses. (#2760)
    • from __future__ import annotations statement now implies Python 3.7+ (#2690)

    Performance

    • Speed-up the new backtracking parser about 4X in general (enabled when --target-version is set to 3.10 and higher). (#2728)
    • Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)

    Configuration

    • Do not accept bare carriage return line endings in pyproject.toml (#2408)
    • Add configuration option (python-cell-magics) to format cells with custom magics in Jupyter Notebooks (#2744)
    • Allow setting custom cache directory on all platforms with environment variable BLACK_CACHE_DIR (#2739).
    • Enable Python 3.10+ by default, without any extra need to specify --target-version=py310. (#2758)
    • Make passing SRC or --code mandatory and mutually exclusive (#2804)

    Output

    • Improve error message for invalid regular expression (#2678)
    • Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
    • No longer color diff headers white as it's unreadable in light themed terminals (#2691)
    • Text coloring added in the final statistics (#2712)
    • Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)

    Packaging

    • All upper version bounds on dependencies have been removed (#2718)
    • typing-extensions is no longer a required dependency in Python 3.10+ (#2772)
    • Set click lower bound to 8.0.0 as Black crashes on 7.1.2 (#2791)

    ... (truncated)

    Changelog

    Sourced from black's changelog.

    22.1.0

    At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.

    Highlights

    • Remove Python 2 support (#2740)
    • Introduce the --preview flag (#2752)

    Style

    • Deprecate --experimental-string-processing and move the functionality under --preview (#2789)
    • For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
    • Black now normalizes string prefix order (#2297)
    • Remove spaces around power operators if both operands are simple (#2726)
    • Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
    • Use parentheses for attribute access on decimal float and int literals (#2799)
    • Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
    • Treat blank lines in stubs the same inside top-level if statements (#2820)
    • Fix unstable formatting with semicolons and arithmetic expressions (#2817)
    • Fix unstable formatting around magic trailing comma (#2572)

    Parser

    • Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password} (#2686)
    • Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b (#2716)
    • Fix call patterns that contain as-expressions with keyword arguments, like case Foo(bar=baz as quux) (#2749)
    • Tuple unpacking on return and yield constructs now implies 3.8+ (#2700)
    • Unparenthesized tuples on annotated assignments (e.g values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)
    • Fix handling of standalone match() or case() when there is a trailing newline or a comment inside of the parentheses. (#2760)
    • from __future__ import annotations statement now implies Python 3.7+ (#2690)

    Performance

    • Speed-up the new backtracking parser about 4X in general (enabled when --target-version is set to 3.10 and higher). (#2728)
    • Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 4
  • Bump pytest from 6.2.5 to 7.0.1

    Bump pytest from 6.2.5 to 7.0.1

    Bumps pytest from 6.2.5 to 7.0.1.

    Release notes

    Sourced from pytest's releases.

    7.0.1

    pytest 7.0.1 (2022-02-11)

    Bug Fixes

    • #9608: Fix invalid importing of importlib.readers in Python 3.9.
    • #9610: Restore [UnitTestFunction.obj]{.title-ref} to return unbound rather than bound method. Fixes a crash during a failed teardown in unittest TestCases with non-default [__init__]{.title-ref}. Regressed in pytest 7.0.0.
    • #9636: The pythonpath plugin was renamed to python_path. This avoids a conflict with the pytest-pythonpath plugin.
    • #9642: Fix running tests by id with :: in the parametrize portion.
    • #9643: Delay issuing a ~pytest.PytestWarning{.interpreted-text role="class"} about diamond inheritance involving ~pytest.Item{.interpreted-text role="class"} and ~pytest.Collector{.interpreted-text role="class"} so it can be filtered using standard warning filters <warnings>{.interpreted-text role="ref"}.

    7.0.0

    pytest 7.0.0 (2022-02-03)

    (Please see the full set of changes for this release also in the 7.0.0rc1 notes below)

    Deprecations

    • #9488: If custom subclasses of nodes like pytest.Item{.interpreted-text role="class"} override the __init__ method, they should take **kwargs. See uncooperative-constructors-deprecated{.interpreted-text role="ref"} for details.

      Note that a deprection warning is only emitted when there is a conflict in the arguments pytest expected to pass. This deprecation was already part of pytest 7.0.0rc1 but wasn't documented.

    Bug Fixes

    • #9355: Fixed error message prints function decorators when using assert in Python 3.8 and above.
    • #9396: Ensure pytest.Config.inifile{.interpreted-text role="attr"} is available during the pytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>{.interpreted-text role="func"} hook (regression during 7.0.0rc1).

    Improved Documentation

    • #9404: Added extra documentation on alternatives to common misuses of [pytest.warns(None)]{.title-ref} ahead of its deprecation.
    • #9505: Clarify where the configuration files are located. To avoid confusions documentation mentions that configuration file is located in the root of the repository.

    Trivial/Internal Changes

    • #9521: Add test coverage to assertion rewrite path.

    ... (truncated)

    Commits
    • 3f12087 [pre-commit.ci] auto fixes from pre-commit.com hooks
    • bc3021c Prepare release version 7.0.1
    • 591d476 Merge pull request #9673 from nicoddemus/backport-9511
    • 6ca733e Enable testing with Python 3.11 (#9511)
    • ac37b1b Merge pull request #9671 from nicoddemus/backport-9668
    • c891e40 Merge pull request #9672 from nicoddemus/backport-9669
    • e2753a2 Merge pull request #9669 from hugovk/ci-only-update-plugin-list-for-upstream
    • b5a154c Merge pull request #9668 from hugovk/test-me-latest-3.10
    • 0fae45b Merge pull request #9660 from pytest-dev/backport-9646-to-7.0.x
    • 37d434f [7.0.x] Delay warning about collector/item diamond inheritance
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 3
  • Bump actions/setup-python from 2.3.1 to 2.3.2

    Bump actions/setup-python from 2.3.1 to 2.3.2

    Bumps actions/setup-python from 2.3.1 to 2.3.2.

    Release notes

    Sourced from actions/setup-python's releases.

    Update primary and restore keys for pip

    In scope of this release we include a version of python in restore and primary cache keys for pip. Besides, we add temporary fix for Windows caching issue, that the pip cache dir command returns non zero exit code or writes to stderr. Moreover we updated node-fetch dependency.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 3
  • Enable strict mypy checks

    Enable strict mypy checks

    Proposed change

    Enable strict mypy checks replaces #53

    Type of change

    • [ ] Dependency upgrade
    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (which adds functionalit)
    • [ ] Breaking change (fix/feature causing existing functionality to break)
    • [x] Code quality improvements to existing code or addition of tests

    Additional information

    • This PR fixes or closes issue: fixes #
    • This PR is related to issue:
    • Link to documentation pull request:

    Checklist

    • [x] The code change is tested and works locally.
    • [x] Local tests pass.
    • [x] There is no commented out code in this PR.
    • [x] The code has been formatted using Black (make black)
    • [x] Tests have been added to verify that the new code works.
    opened by ludeeus 3
  • Fix some mypy warnings

    Fix some mypy warnings

    Proposed change

    Even though there are type hints, mypy is not run to check them. I fixed some issue but there are many more, please help me to fix them.

    Also isort wasn't run in CI and it was missing configuration, added that.

    Type of change

    • [ ] Dependency upgrade
    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (which adds functionalit)
    • [ ] Breaking change (fix/feature causing existing functionality to break)
    • [x] Code quality improvements to existing code or addition of tests

    Additional information

    • This PR fixes or closes issue: fixes #
    • This PR is related to issue:
    • Link to documentation pull request:

    Checklist

    • [x] The code change is tested and works locally.
    • [x] Local tests pass.
    • [ ] There is no commented out code in this PR.
    • [x] The code has been formatted using Black (make black)
    • [x] Tests have been added to verify that the new code works.
    opened by KapJI 3
  • Version is not set in pyproject.toml

    Version is not set in pyproject.toml

    The problem

    Hi! The pyproject.toml of this project declares the version of this project as 0, which is wrong. The correct version of the python project needs to be declared there (see relevant poetry documentation)

    Operating system

    Arch Linux

    Python version

    3.10

    Problem-relevant code

    https://github.com/ludeeus/awesomeversion/blob/736f1fce7a80042124c71100fc4bcdaff6d5543d/pyproject.toml#L21

    Traceback/Error logs

    No response

    Additional information

    If the project's version is not set, sdist tarballs and wheels built from it will have wrong metadata set. This means that other projects will not be able to rely on it without the built package being patched beforehand (they will not be able to use the version information).

    This is problematic in general version resolution as well as in system's packaging.

    bug 
    opened by dvzrv 2
  • Use explicit reexport

    Use explicit reexport

    Proposed change

    This fixes mypy error about implicit reexport:

    Module 'awesomeversion' does not explicitly export attribute 'AwesomeVersion'; implicit reexport disabled
    

    Type of change

    • [ ] Dependency upgrade
    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (which adds functionalit)
    • [ ] Breaking change (fix/feature causing existing functionality to break)
    • [x] Code quality improvements to existing code or addition of tests

    Additional information

    • This PR fixes or closes issue: fixes #
    • This PR is related to issue:
    • Link to documentation pull request:

    Checklist

    • [x] The code change is tested and works locally.
    • [x] Local tests pass.
    • [x] There is no commented out code in this PR.
    • [x] The code has been formatted using Black (make black)
    • [ ] Tests have been added to verify that the new code works.
    opened by KapJI 2
  • "YYYY.MM.PP.dev20201230" is not marked as dev, and is of type unknown

    The problem

    2021.1.0.dev20201230 should be marked as dev, and should be of type CalVer / SemVer

    Environment

    • Operating system:
    • Python version:

    Problem-relevant code

    from awesomeversion.strategy import AwesomeVersionStrategy
    from awesomeversion import AwesomeVersion
    
    version = AwesomeVersion("2021.1.0.dev20201230")
    assert version.dev
    assert version.strategy != AwesomeVersionStrategy.UNKNOWN
    

    Traceback/Error logs

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AssertionError
    

    Additional information

    reproduced 
    opened by ludeeus 2
  • Bump isort from 5.10.1 to 5.11.1

    Bump isort from 5.10.1 to 5.11.1

    Bumps isort from 5.10.1 to 5.11.1.

    Release notes

    Sourced from isort's releases.

    5.11.1

    Changes December 12 2022

    :beetle: Fixes

    5.11.0

    Changes December 12 2022

    :construction_worker: Continuous Integration

    :package: Dependencies

    Changelog

    Sourced from isort's changelog.

    5.11.1 December 12 2022

    5.11.0 December 12 2022

    Commits
    • f8146c5 Merge pull request #2033 from PyCQA/hotfix/5.11.1
    • dd01cfe Hotfix 5.11.1
    • 68f0a25 Merge pull request #2032 from tomaarsen/hotfix/colorama_nameerror
    • c752a6c Only call colorama.init if colorama is available
    • 6525008 Merge pull request #2030 from PyCQA/example/update-formatting-pluging-isort-5...
    • 6c5a36c Bump formatting plugin to 0.1.1
    • 657ed81 Merge pull request #2029 from PyCQA/example/update-formatting-pluging-isort-5...
    • 84e3687 Update isort on formatting pluging to 5.11.0
    • 3e99c22 Merge pull request #2028 from PyCQA/prepare-release-5.11.0
    • 8af078c Upgrade poetry to 1.3.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump setuptools from 65.6.0 to 65.6.3

    Bump setuptools from 65.6.0 to 65.6.3

    Bumps setuptools from 65.6.0 to 65.6.3.

    Changelog

    Sourced from setuptools's changelog.

    v65.6.3

    Misc ^^^^

    • #3709: Fix condition to patch distutils.dist.log to only apply when using distutils from the stdlib.

    v65.6.2

    No significant changes.

    v65.6.1

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3689: Documented that distutils.cfg might be ignored unless SETUPTOOLS_USE_DISTUTILS=stdlib.

    Misc ^^^^

    • #3678: Improve clib builds reproducibility by sorting sources -- by :user:danigm
    • #3684: Improved exception/traceback when invalid entry-points are specified.
    • #3690: Fixed logging errors: 'underlying buffer has been detached' (issue #1631).
    • #3693: Merge pypa/[email protected] with compatibility fix for distutils.log.Log.
    • #3695, #3697, #3698, #3699: Changed minor text details (spelling, spaces ...)
    • #3696: Removed unnecessary coding: utf-8 annotations
    • #3704: Fixed temporary build directories interference with auto-discovery.
    Commits
    • 6f7dd7c Bump version: 65.6.2 → 65.6.3
    • 0f513c1 Merge pull request #3709 from abravalheri/issue-3707
    • a4db65f Remove wrong comment
    • 5801753 Add news fragment
    • 4c267c7 Replace condition to patch distutils.dist.log
    • 7049c73 Add simple regression test for logging patches
    • e515641 Bump version: 65.6.1 → 65.6.2
    • bd60014 Minor adjustments in changelog
    • 00f59ef Bump version: 65.6.0 → 65.6.1
    • b0f42b9 Adequate news fragment file names
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump setuptools from 65.6.0 to 65.6.2

    Bump setuptools from 65.6.0 to 65.6.2

    Bumps setuptools from 65.6.0 to 65.6.2.

    Changelog

    Sourced from setuptools's changelog.

    v65.6.2

    No significant changes.

    v65.6.1

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3689: Documented that distutils.cfg might be ignored unless SETUPTOOLS_USE_DISTUTILS=stdlib.

    Misc ^^^^

    • #3678: Improve clib builds reproducibility by sorting sources -- by :user:danigm
    • #3684: Improved exception/traceback when invalid entry-points are specified.
    • #3690: Fixed logging errors: 'underlying buffer has been detached' (issue #1631).
    • #3693: Merge pypa/[email protected] with compatibility fix for distutils.log.Log.
    • #3695, #3697, #3698, #3699: Changed minor text details (spelling, spaces ...)
    • #3696: Removed unnecessary coding: utf-8 annotations
    • #3704: Fixed temporary build directories interference with auto-discovery.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump isort from 5.11.3 to 5.11.4

    Bump isort from 5.11.3 to 5.11.4

    Bumps isort from 5.11.3 to 5.11.4.

    Release notes

    Sourced from isort's releases.

    5.11.4

    Changes

    :package: Dependencies

    Changelog

    Sourced from isort's changelog.

    5.11.4 December 21 2022

    Commits
    • 98390f5 Merge pull request #2059 from PyCQA/version/5.11.4
    • df69a05 Bump version 5.11.4
    • f9add58 Merge pull request #2058 from PyCQA/deps/poetry-1.3.1
    • 36caa91 Bump Poetry 1.3.1
    • 3c2e2d0 Merge pull request #1978 from mgorny/toml-test
    • 45d6abd Remove obsolete toml import from the test suite
    • 3020e0b Merge pull request #2057 from mgorny/poetry-install
    • a6fdbfd Stop installing documentation files to top-level site-packages
    • ff306f8 Fix tag template to match old standard
    • 227c4ae Merge pull request #2052 from hugovk/main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
Releases(22.9.0)
  • 22.9.0(Sep 15, 2022)

    What's Changed

    • Allow and add named sections for CalVer by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/184
    • Add diff method to AwesomeVersion to list out changes between 2 objects by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/185

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.8.0...22.9.0

    Source code(tar.gz)
    Source code(zip)
  • 22.8.0(Aug 18, 2022)

    What's Changed

    • ⚠️ Deprecate positional arguments by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/170
    • Change devcontainer by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/172
    • Do not allow find_first_match without ensure_strategy by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/173
    • Warn instead of raise for missing ensure_strategy by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/174
    • Correct spelling mistakes by @EdwardBetts in https://github.com/ludeeus/awesomeversion/pull/175
    • Handle KeyError by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/178
    • _compare_versions takes AwesomeVersion not str by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/179

    New Contributors

    • @EdwardBetts made their first contribution in https://github.com/ludeeus/awesomeversion/pull/175

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.6.0...22.8.0 Discussion: https://github.com/ludeeus/awesomeversion/discussions/181

    Source code(tar.gz)
    Source code(zip)
  • 22.6.0(Jun 27, 2022)

    What's Changed

    • Handle ValueError for possible blank values when casting to int by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/168
    • Remove deprecated method AwesomeVersion.ensure_strategy by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/169

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.5.2...22.6.0

    Source code(tar.gz)
    Source code(zip)
  • 22.5.2(May 27, 2022)

    What's Changed

    • Add better semver support by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/165

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.5.1...22.5.2

    Source code(tar.gz)
    Source code(zip)
  • 22.5.1(May 11, 2022)

    What's Changed

    • Allow more strategies for major,minor,patch by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/162

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.4.2...22.5.1

    Source code(tar.gz)
    Source code(zip)
  • 22.4.2(Apr 28, 2022)

    What's Changed

    • Removes the special rc_dev handler in favor of the more structured modifier handler by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/159

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.4.1...22.4.2

    Source code(tar.gz)
    Source code(zip)
  • 22.4.1(Apr 27, 2022)

    What's Changed

    • Return early for string match by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/150
    • Do section compare before modifier by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/156
    • Replace release-drafter with native config by @ludeeus in https://github.com/ludeeus/awesomeversion/pull/157

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.4.0...22.4.1

    Source code(tar.gz)
    Source code(zip)
  • 22.4.0(Apr 3, 2022)

    What’s Changed

    • #149 Handle comparing known modifiers @ludeeus
    Development/test dependency updates
    • #137 Bump actions/setup-python from 2.3.2 to 3 @dependabot
    • #138 Bump actions/checkout from 2 to 3 @dependabot
    • #146 Bump black from 22.1.0 to 22.3.0 @dependabot
    • #142 Bump pytest from 7.0.1 to 7.1.1 @dependabot
    • #143 Bump mypy from 0.931 to 0.942 @dependabot
    • #145 Bump pylint from 2.12.2 to 2.13.2 @dependabot
    • #147 Bump pylint from 2.13.2 to 2.13.3 @dependabot
    • #148 Bump pylint from 2.13.3 to 2.13.4 @dependabot

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.2.0...22.4.0

    Source code(tar.gz)
    Source code(zip)
  • 22.2.0(Feb 19, 2022)

    What’s Changed

    Special Note!: Python 3.6 is no longer supported.

    • #125 Remove python 3.6 support @ludeeus
    • #132 Remove python 3.11-dev testing @ludeeus
    • #126 Move to poetry and pyproject @ludeeus
    • #133 Import and use annotations @ludeeus
    • #135 Add .mypy_cache to .gitignore @ludeeus
    Development/test dependency updates
    • #124 Bump mypy from 0.930 to 0.931 @dependabot
    • #127 Bump pre-commit from 2.16.0 to 2.17.0 @dependabot
    • #129 Bump actions/setup-python from 2.3.1 to 2.3.2 @dependabot
    • #131 Bump pytest from 6.2.5 to 7.0.1 @dependabot
    • #134 Bump black from 21.12b0 to 22.1.0 @ludeeus

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/22.1.0...22.2.0

    Source code(tar.gz)
    Source code(zip)
  • 22.1.0(Jan 8, 2022)

    What’s Changed

    • #122 Add valid property to indicate that the version is not unknown @ludeeus
    • #123 Show the version tried when raising AwesomeVersionCompareException @ludeeus

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/21.12.0...22.1.0

    Source code(tar.gz)
    Source code(zip)
  • 21.12.0(Dec 24, 2021)

    What’s Changed

    • #118 Create codeql-analysis.yml @ludeeus
    • #119 Add more examples to README @ludeeus
    • #117 General speedup @ludeeus
    Development/test dependency updates
    • #112 Bump actions/setup-python from 2.2.2 to 2.3.1 @dependabot
    • #110 Bump black from 21.10b0 to 21.11b1 @dependabot
    • #111 Bump pylint from 2.11.1 to 2.12.1 @dependabot
    • #113 Bump pre-commit from 2.15.0 to 2.16.0 @dependabot
    • #115 Bump pylint from 2.12.1 to 2.12.2 @dependabot
    • #114 Bump black from 21.11b1 to 21.12b0 @dependabot
    • #116 Bump mypy from 0.910 to 0.920 @dependabot
    • #120 Bump mypy from 0.920 to 0.921 @dependabot
    • #121 Bump mypy from 0.921 to 0.930 @dependabot

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/21.11.0...21.12.0

    Source code(tar.gz)
    Source code(zip)
  • 21.11.0(Nov 16, 2021)

    What’s Changed

    • #101 Use parametrize in compare hendler tests @ludeeus
    • #102 Bump black from 21.9b0 to 21.10b0 @dependabot
    • #103 Bump isort from 5.9.3 to 5.10.0 @dependabot
    • #104 Bump isort from 5.10.0 to 5.10.1 @dependabot
    • #105 Improve performance by avoiding gt/lt check when versions are equal @bdraco
    • #107 Use Enum values in f strings @ludeeus
    • #106 Add testing for Python 3.11-dev @ludeeus

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/21.10.1...21.11.0

    Source code(tar.gz)
    Source code(zip)
  • 21.10.1(Oct 22, 2021)

    What’s Changed

    • #100 Fix mix between build and simple strategies @ludeeus

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/21.10.0...21.10.1

    Source code(tar.gz)
    Source code(zip)
  • 21.10.0(Oct 22, 2021)

    What’s Changed

    • #84 Bump black from 21.7b0 to 21.8b0 @dependabot
    • #83 Bump pre-commit from 2.14.0 to 2.14.1 @dependabot
    • #85 Bump pytest from 6.2.4 to 6.2.5 @dependabot
    • #86 Bump pre-commit from 2.14.1 to 2.15.0 @dependabot
    • #87 Bump black from 21.8b0 to 21.9b0 @dependabot
    • #89 Adjustments for pylint R1714 @ludeeus
    • #88 Bump pylint from 2.10.2 to 2.11.1 @dependabot
    • #90 Bump pytest-cov from 2.12.1 to 3.0.0 @dependabot
    • #91 Use explicit reexport @KapJI
    • #92 Lint test files @ludeeus
    • #93 Rename AwesomeVersionCompare to AwesomeVersionCompareException @ludeeus
    • #95 Fix TypeError when passing "ensure_strategy" @ludeeus
    • #97 Prefer strategies passed with ensure_strategy @ludeeus
    • #98 Add find_first_match argument @ludeeus
    • #99 Add COMPARABLE_STRATEGIES @ludeeus

    Full Changelog: https://github.com/ludeeus/awesomeversion/compare/21.8.1...21.10.0

    Source code(tar.gz)
    Source code(zip)
  • 21.8.1(Aug 24, 2021)

  • 21.8.0(Aug 11, 2021)

    What’s Changed

    • #72 Enable 3.10.0-beta @ludeeus
    • #64 Bump actions/setup-python from 2 to 2.2.2 @dependabot
    • #66 Bump pre-commit from 2.12.1 to 2.13.0 @dependabot
    • #70 Bump black from 21.5b0 to 21.6b0 @dependabot
    • #68 Bump pytest-cov from 2.11.1 to 2.12.1 @dependabot
    • #74 Bump black from 21.6b0 to 21.7b0 @dependabot
    • #77 Fix codecov uploads @ludeeus
    • #76 Enable strict mypy checks @ludeeus
    • #78 Add pylint checks @ludeeus
    • #79 Move regex to utils and match to strategies @ludeeus
    Source code(tar.gz)
    Source code(zip)
  • 21.6.0(Jun 9, 2021)

  • 21.5.0(May 7, 2021)

    What’s Changed

    • #60 Add support for X.X.rcX @ludeeus
    • #59 Bump black from 20.8b1 to 21.5b0 @dependabot
    • #58 Bump pytest from 6.2.2 to 6.2.4 @dependabot
    • #61 Remove Python 3.10 @ludeeus
    • #54 Bump pre-commit from 2.11.1 to 2.12.1 @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 21.4.0(Apr 4, 2021)

    What’s Changed

    • #49 Bump pre-commit from 2.10.1 to 2.11.1 @dependabot
    • #50 Deprecate staticmethod ensure_strategy @ludeeus

    Migration path if you used AwesomeVersion.ensure_strategy before this version:

    Change your code from:

    AwesomeVersion.ensure_strategy("1.0.0", AwesomeVersionStrategy.SEMVER)
    

    To:

    AwesomeVersion("1.0.0", AwesomeVersionStrategy.SEMVER)
    
    Source code(tar.gz)
    Source code(zip)
  • 21.2.3(Feb 24, 2021)

    What’s Changed

    • #45 Bump pre-commit from 2.10.0 to 2.10.1 @dependabot
    • #46 Fix issue with compare SemVer modifier with 10 @ludeeus
    • #47 Fix SemVer modifier compare logic @ludeeus
    Source code(tar.gz)
    Source code(zip)
  • 21.2.2(Feb 4, 2021)

  • 21.2.1(Feb 4, 2021)

  • 21.2.0(Feb 1, 2021)

  • 21.1.8(Jan 30, 2021)

  • 21.1.7(Jan 30, 2021)

  • 21.1.6(Jan 30, 2021)

  • 21.1.5(Jan 29, 2021)

  • 21.1.4(Jan 28, 2021)

    What’s Changed

    • #31 Bump pytest-cov from 2.10.1 to 2.11.1 @dependabot
    • #32 Bump pytest from 6.2.1 to 6.2.2 @dependabot
    • #34 Bump pre-commit from 2.9.3 to 2.10.0 @dependabot
    • #33 Fix issue with comparing with .devXXX modifier @ludeeus
    Source code(tar.gz)
    Source code(zip)
  • 21.1.3(Jan 17, 2021)

  • 21.1.2(Jan 17, 2021)

    What’s Changed

    • #28 Adjust AwesomeVersion to represent the value @pvizeli
      • This changes the string representation of the object, look ad the PR for more details.
    Source code(tar.gz)
    Source code(zip)
Owner
Joakim Sørensen
Trying my best to make things easier for others.
Joakim Sørensen
Information about the weather in a city written using Python

Information about the weather in a city Enter the desired city Climate information of the target city This program is written using Python programming

Amir Hussein Sharifnezhad 4 Nov 17, 2021
Robust and blazing fast open-redirect vulnerability scanner with ability of recursevely crawling all of web-forms, entry points, or links with data.

After Golismero project got dead there is no more any up to date open-source tool that can collect links with parametrs and web-forms and then test th

railway zeppelin 34 Aug 25, 2022
Automatically scrape all of your artifacts in Genshin Impact.

Genshin Artifact Scraper Automatically scrape all of your artifacts in Genshin Impact. Features: Simple recalibration (2 steps). GUI to select OCR reg

21 Dec 17, 2022
对hermit 的API进行简单的封装,做成了这个python moudle

hermit-py 对hermit 的API进行简单的封装,做成了这个Python Moudle,推荐通过wheel的方式安装。 目前对点击、滑动、模拟输入、找组件、等支持较好,支持查看页面的实时布局信息,再通过布局信息进行点击滑动等操作。 支持剪贴板相关的操作,支持设置剪贴的任意语言内容。

LookCos 40 Jun 25, 2022
A robust, low-level connector for the Discord API

Bauxite Bauxite is a robust, low-level connector for the Discord API. What is Bauxite for? Bauxite is made for two main purposes: Creating higher-leve

1 Dec 04, 2021
this is an op music pyrogram music bot.

amanrajputpytgcallmusic this is an op music pyrogram music bot..... this bot user music bot can play music without being admin...... TG-MusicPlayer A

2 Dec 27, 2021
Automation that uses Github Actions, Google Drive API, YouTube Data API and youtube-dl together to feed BackJam app with new music

Automation that uses Github Actions, Google Drive API, YouTube Data API and youtube-dl together to feed BackJam app with new music

Antônio Oliveira 1 Nov 21, 2021
Collection of script to manage WLED devices

Collection of script to manage WLED devices

Daniel Poelzleithner 4 Sep 26, 2022
A python library built on the API of the coderHub.sa, which helps you to fetch the challenges and more

coderHub A python library built on the API of the coderHub.sa, which helps you to fetch the challenges and more Installation • Features • Usage • Lice

TheAwiteb 5 Nov 04, 2022
Centralized whale instance using github actions, sourcing metadata from bigquery-public-data.

Whale Demo Instance: Bigquery Public Data This is a fully-functioning demo instance of the whale data catalog, actively scraping data from Bigquery's

Hyperquery 17 Dec 14, 2022
A Powerful Telethon Based Telegram Spam Bot.

Yukki Multi Spam Bot 🚀 Deploy on Heroku You can Use these API ID and API HASH while deploying String Session No Requirement of API ID and API HASH Ge

46 Dec 23, 2022
The Official Dropbox API V2 SDK for Python

The offical Dropbox SDK for Python. Documentation can be found on Read The Docs. Installation Create an app via the Developer Console. Install via pip

Dropbox 828 Jan 05, 2023
SEP Finder Bot

SEP Finder Bot This is a Telegram bot that will help you find the correct SEP and Baseband files to use for your device with futurerestore. Usage A ho

6 Dec 03, 2022
A Python Library to interface with LinkedIn API, OAuth and JSON responses

#Overview Here's another library based on the LinkedIn API, OAuth and JSON responses. Hope this documentation explains everything you need to get star

Mike Helmick 69 Dec 11, 2022
𝐀 𝐔𝐥𝐭𝐢𝐦𝐚𝐭𝐞 𝐓𝐞𝐥𝐞𝐠𝐫𝐚𝐦 𝐁𝐨𝐭 𝐅𝐨𝐫 𝐅𝐨𝐫𝐜𝐢𝐧𝐠 𝐘𝐨𝐮𝐫 𝐆𝐫𝐨𝐮𝐩 𝐌𝐞𝐦𝐛𝐞𝐫𝐬 𝐓𝐨 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞 𝐘𝐨𝐮𝐫 𝐓𝐞𝐥𝐞𝐠𝐫𝐚𝐦 𝐂𝐡𝐚𝐧𝐧𝐞𝐥

𝐇𝐨𝐰 𝐓𝐨 𝐃𝐞𝐩𝐥𝐨𝐲 For easiest way to deploy this Bot click on the below button 𝐌𝐚𝐝𝐞 𝐁𝐲 𝐒𝐮𝐩𝐩𝐨𝐫𝐭 𝐆𝐫𝐨𝐮𝐩 𝐒𝐨𝐮𝐫𝐜𝐞𝐬 𝐅𝐢𝐧𝐝

Mukesh Solanki 2 Jan 05, 2022
Repository containing the project files for CEN4020's Team Utah.

inCollege-Team-Utah Repository containing the project files for CEN4020's Team Utah. Contributors: Deepak Putta Jose Ramirez Fuentes Jaason Raudales C

Keylin Sanchez 3 Jul 12, 2022
A simple Discord bot that notifies users of new Abitti versions

A simple Discord bot that notifies users of new Abitti versions. New features might be added later on. If you have good ideas, feel free to do a PR.

1 Feb 11, 2022
Github repository started notify 💕

Github repository started notify 💕

4 Aug 06, 2022
Provide discord buttons feature for discord.py

dpy_buttons wrapper library for discord.py, providing discord buttons feature. Future of the library Will be merged into discord interaction api libra

Minjun Kim (Lapis0875) 17 Feb 02, 2022
Whatsapp-APi Wrapper From rzawapi.my.id

Whatsapp-APi Wrapper From rzawapi.my.id

Rezza Priatna 2 Apr 19, 2022