diff --git a/CHANGELOG.md b/CHANGELOG.md index aa3e320..a59419f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ We follow Semantic Versions since the `0.1.0` release. -## Version 0.3.0 WIP +## Version 0.3.0 ### Features @@ -12,6 +12,8 @@ We follow Semantic Versions since the `0.1.0` release. - **Breaking**: now `classes` traverses `mro` of registered types and fallbacks to super-types if some type is not registered - Adds generic typeclasses +- Adds caching to runtime type dispatch, + it allows to call already resolved instances way faster - Adds better typeclass validation during `mypy` typechecking - Adds `.supports()` method to typeclass to check if some instance is supported in runtime diff --git a/poetry.lock b/poetry.lock index d760ed4..65869fd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -384,19 +384,6 @@ python-versions = "*" [package.dependencies] flake8 = "*" -[[package]] -name = "flake8-pyi" -version = "20.10.0" -description = "A plugin for flake8 to enable linting .pyi files." -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -attrs = "*" -flake8 = ">=3.2.1" -pyflakes = ">=2.1.1" - [[package]] name = "flake8-pytest-style" version = "1.4.4" @@ -1281,7 +1268,7 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pyt [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "4a6923ffcb3a09e504db754cfa74a5547a3c5af43a25453dbe39803bdf77f36b" +content-hash = "3a79928259336082fb4f6710ebf73124a1aaef889d34edf284388893e004829b" [metadata.files] alabaster = [ @@ -1469,10 +1456,6 @@ flake8-polyfill = [ {file = "flake8-polyfill-1.0.2.tar.gz", hash = "sha256:e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda"}, {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"}, ] -flake8-pyi = [ - {file = "flake8-pyi-20.10.0.tar.gz", hash = "sha256:cee3b20a5123152c697870e7e800b60e3c95eb89e272a2b63d8cf55cafb0472c"}, - {file = "flake8_pyi-20.10.0-py2.py3-none-any.whl", hash = "sha256:ff5dfc40bffa878f6ce95bcfd9a6ad14c44b85cbe99c4864e729301bf54267f0"}, -] flake8-pytest-style = [ {file = "flake8-pytest-style-1.4.4.tar.gz", hash = "sha256:3e4452be131ed040b5ffa131d53f0b28f3d062916485974c48d73572cae60c41"}, {file = "flake8_pytest_style-1.4.4-py3-none-any.whl", hash = "sha256:0d15b61933a3ee0647bb6b442902247c728e4ec72c4a05a7fe79dc80f38a2f30"}, diff --git a/pyproject.toml b/pyproject.toml index 839a6b5..f5c4629 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] -requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" [tool.nitpick] @@ -9,7 +9,7 @@ style = "https://raw.githubusercontent.com/wemake-services/wemake-python-stylegu [tool.poetry] name = "classes" -version = "0.2.0" +version = "0.3.0" description = "Smart, pythonic, ad-hoc, typed polymorphism for Python" license = "BSD-2-Clause" @@ -36,7 +36,7 @@ keywords = [ ] classifiers = [ - "Development Status :: 3 - Alpha", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Topic :: Software Development :: Libraries :: Python Modules", @@ -52,7 +52,6 @@ mypy = "^0.902" wemake-python-styleguide = "^0.15" flake8-pytest-style = "^1.4" -flake8-pyi = "^20.10" nitpick = "^0.26" safety = "^1.10"