Multicommand

Latest version: v1.0.0

Safety actively analyzes 702100 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.0.0

0.1.1

- 🎉 Create documentation [website](https://multicommand.vercel.app/) 🎉
- Migrate package to use `src/` layout
- Add `pre-commit` as a dev dependency
- Update black to newer version

0.1.0

- Make sure to always initialize a root index parser (if one doesn't already exist) so that `multicommand.create_parser(...)` always returns a useable ArgumentParser (instead of raising an exception).

This way `multicommand.create_parser(...)` can be called on a package that has no parsers, and will still behave sensibly.
- Check that found parsers are actually (sub-classes of) `ArgumentParser`, skip them if they aren't.
- Fix bug in `_requires_subparsers`
- Improve help for subcommands

0.0.8

* **Fix**: Fix `prog=...` for intermediate index parsers. Prior to this these parsers would only show the command name (`sys.argv[0]`) and the last parser's name, but none of the intermediate parser's names, which meant the usage string was wrong.
* **Update**: Add a license (MIT)
* **Update**: Change registry data structure from `List[Tuple[PurePath, ArgumentParser]] -> OrderedDict[PurePath, Dict[str, ArgumentParser]]`

0.0.7

Documentation release

0.0.6

* **Update:** Refactored `multicommand.py` to simplify the structure of the `create_parser(...)` function. Moreover, the keys in the parser registry (OrderedDict) are now `pathlib.PurePath` objects instead of tuples. The motivation for this change was because the registry keys (`Tuple[str, ...]` objects) were already basically being treated like `pathlib.Path` objects and it made the registry key manipulation easier to read and understand.
* **Update:** `pyproject.toml` (added keywords)

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.