A major modernisation and cleanup.
Backward incompatible changes:
- Dropped support for Python 2.7 and 3.7.
Deprecated features, to be removed in v.0.30:
-
argh.assembling.SUPPORTS_ALIASES
.- Always
True
for recent versions of Python.
- Always
-
argh.io.safe_input()
AKAargh.interaction.safe_input()
.- Not relevant anymore. Please use the built-in
input()
instead.
- Not relevant anymore. Please use the built-in
-
argument
pre_call
indispatch()
.Even though this hack seems to have been used in some projects, it was never part of the official API and never recommended.
Describing your use case in the discussion about shared arguments (#63) can help improve the library to accomodate it in a proper way.
-
Argument help as annotations.
- Annotations will only be used for types after v.0.30.
- Please replace any instance of:
with the following::def func(foo: "Foobar"):
It will be decided later how to keep this functionality "DRY" (don't repeat yourself) without conflicts with modern conventions and tools.@arg('-f', '--foo', help="Foobar") def func(foo):
-
Added deprecation warnings for some arguments deprecated back in v.0.26.
Full Changelog: v0.27.2...v0.28.0