Releases: neithere/argh
v0.30.0-alpha
What's Changed
- Remove previously deprecated code (closes #184) by @neithere in #188
- Type annotations for existing code (closes #185) by @neithere in #189
- Deprecate
help
command alias and@expects_obj
decorator by @neithere in #192 - Document usage with class methods (closes #138) by @neithere in #194
- Remove pre_call, expose finer control over dispatching (re #63) by @neithere in #193
- Add support for Python 3.12 (closes #196) by @neithere in #195
- Refactor assembling module (closes #197) by @neithere in #198
- Keyword-only arguments as options (closes #191) by @neithere in #199
Full Changelog: v0.29.4...v0.30.0-alpha
v0.29.4
v0.29.3
v0.29.2
v0.29.1
v0.29.0
What's Changed
Backwards incompatible changes:
- Wrapped exceptions now cause
dispatching.dispatch()
to raiseSystemExit(1)
instead of returning without error. For most users, this means failed commands
will now exit with a failure status instead of a success (by @ekimekim in #161).
Deprecated:
-
Renamed arguments in
add_commands()
(#165 / #178):namespace
→group_name
namespace_kwargs
→group_kwargs
The old names are deprecated and will be removed in v.0.30.
Enhancements:
- Can control exit status (see Backwards Incompatible Changes above) when raising
CommandError
using thecode
keyword arg.
Bugs fixed:
- Positional arguments should not lead to removal of short form of keyword argument by @neithere in #181
Other changes:
- Avoid depending on iocapture by using pytest's built-in feature by @mr-c in #177
- chore: publishing to prod PyPI by @neithere in #173
- test: add coverage for action="count" (#127) by @neithere in #183
New Contributors
Full Changelog: v0.28.1...v0.29.0
v0.28.1
What's Changed
- Add Github workflow to publish the release to PyPI by @neithere in #167
- fix: argcomplete-related test by @neithere in #172 (reported in #169 by @kloczek)
- fix: assumed prog name in tests by @neithere in #171 (reported in #170 by @mgorny)
Full Changelog: v0.28.0...v0.28.1
Thanks to everyone who reported
v.0.28.0
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