Package: wabisabi
wabisabiPython3 wabisabi. Automatically write boilerplate code for many kinds
of deperecations through python decorators.Free software:BSD licenseDocumentationLink above not working for now:https://deprecation-factory.readthedocs.io/en/latest/?badge=latestMotivationsBreaking things is important! Breaking other's things is just mean!The goal of deprecations is to warn other library writers that their code is
about to break so you can keep making agressive changes to your own.Often when you want to deprecate a feature, you end up following a procedure
similar toMake the useful modification to your code.Decide on when the old behaviour should be switched over.Add warnings INSIDE your function to warn users.Change the function signature to something non-sensical to detect the
default behaviour.Add messages in the documentation (numpydoc compatible)Finally, when the behaviour is official depreprecated, you need to do all these
changes again.Remove the warnings.Remove the documentation messages.Remove the old behaviour.Change the function signature back to something useful.The goal of this library is to allow you to shortcut steps 3-9. You shouldn't
have to revisit the deprecation long after you completed implementing your new
features. You write your code how it issupposed to look, this library,
makes ensures your users have enough time to update their code.This libraryModifies function signatures so to ensure correctness for the current
version. This should help with autocompletions.Adds a warning section to the docstrings. An attempt is made to properly
indent the docstring.Point the user totheirline of code, so that they know where
to make make the appropriate modification.Leaving deprecators in place after the desired threshold results in a noop.
This means that you can be lazy about ripping them out of code.
Deprecations should not have to be blockers for your development.If numpydoc > 0.7 is installed, the "Warns" sections are combined into
a single section allowing you to chain deprecators.InstallationWhile you can depend on this, I strongly recommend you version the files you
need in your project as the API is highly likely to change and break your code.Current deprecatorsDeprecator for change of default values inkwargs. Handleskwargspassed as positional arguments too!Transitionning to keyword only arguments.kwargrenamingFuture deprecatorsSwapping the order of positional argumentsMaking an oldkwarga manditory positionalargFeature requests are welcome!Development LeadMark HarfoucheContributorsCould be you!How to contributeReady to contribute? We use the standard github contribution model.
scikit-image has a greatwriteupon how to setup
your environment. Adapt it for our environment.CookiecutterThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.3.0 (2022.10.30)Use packaging instead of distutils for version comaprison. Note that this
might cause certain versions to fail. Notably,'0.1.dev3'is now older
than'0.1'.Require Python 3.8.New explicit dependency onpackaging.0.2.4 (2018.08.13)Apparently numpydoc 0.6 didn't have a__version__attribute....0.2.3 (2018.08.13)Check for numpydoc 0.7Fix a typo in the docstring message0.2.2 (2018.08.12)API change. change_default_parameter now takes a dictionary for the
old_kwargs so that parameter names don't conflict0.2.1 (2018.08.12)Merge with other numpydocs so that documentation in Sphinx doesn't crash0.2.0 (2018.08.11)Provide a deprecator for changing the number  of keyword only arguments.0.1.1 (2018.08.09)Deprecated arguments appear in order for Python 3.5 as well.0.1.0 (2018.08.09)New deprecator for changing the default value ofkwards. Handles arguments
passed as positional argumnets too.0.0.1 (2018-07-29)First release on PyPi