tools for your toolbox , neatly organised
Project description
Toolbox
What is Toolbox ?
Toolbox is a framework to manage a collection of tools. A tool can be anything from a shell script to a python package.
Basically toolbox extends the python argparse.ArgumentParser to enable importing tools from multiple locations in a single executable. Toolbox provides some easy default tools to create , install, uninstall or list (available) tools.
A custom tool needs to implement 2 methods: * prepare_parser : which prepares an argparse.ArgumentParser * execute : which is the main entry point of your tool
Besides the wrapper around argument parsing toolbox as a framework provides some easy to add extra’s like persisted configuration, usage of tools within tools and no-configuration logging.
An example of a custom tool:
from toolbox.plugin import ToolboxPlugin from toolbox.mixins import RegistryMixin, ConfigMixin, LogMixin class CustomPlugin(RegistryMixin, ConfigMixin, LogMixin, ToolboxPlugin) name = "custom" description = "This is a custom plugin that prints a string" def prepare_parser(self,parser): parser.add_argument('printable', help="string to print") def execute(args): # LogMixin logger = self.get_logger() logger.info("printing {}".format(args.printable) # ConfigMixin config = self.get_config() config['first_print'] = args.printable # RegistryMixin registry = self.get_registry() other_plugin = registry.get_plugin('other') print(args.printable)
For more info on all the tools the toolbox framework provides check the complete documentation!
- Free software: ISC license
- Documentation: https://tool-box.readthedocs.org.
Features
- Integrate your own shell scripts etc. with a single command
- Easily integrate your existing python tools with toolbox by wrapping them in ToolboxPlugin class
- Add persisted configuration to your tools
- Use other tools within your own tools
- search tools in the toolbox
- install other tools from PyPI/github with the toolbox commandline
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.5.0 (2016-01-02)
- added logs tool
- added tests for the registry , scanner and config
0.4.0 (2016-01-01)
- First stable release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size tool_box-0.5.1-py2.py3-none-any.whl (25.5 kB) | File type Wheel | Python version 3.4 | Upload date | Hashes View |
Filename, size tool-box-0.5.1.tar.gz (26.4 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for tool_box-0.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ecaeac799c8e42fa436735647d62b60badd032743b6c9eb3f13f754a7a06634 |
|
MD5 | 167a90afa32b511f2dcf65879c996828 |
|
BLAKE2-256 | 3a946e52769b2b83afad68ccdae70a3394ba6ac59a28d3211ddc1af7824b9232 |