Skip to main content

tools for your toolbox , neatly organised

Project description

Toolbox

https://img.shields.io/pypi/v/tool-box.svg https://img.shields.io/travis/jeff-99/toolbox.svg Documentation Status

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!

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tool-box-0.5.1.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

tool_box-0.5.1-py2.py3-none-any.whl (25.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file tool-box-0.5.1.tar.gz.

File metadata

  • Download URL: tool-box-0.5.1.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tool-box-0.5.1.tar.gz
Algorithm Hash digest
SHA256 843929441c2d3d8fc147b44851702437e311e9133e9998614d7757886cd154d1
MD5 05b60b6db6526662617e1913dc4107e9
BLAKE2b-256 ef9a7b28885d5e4c2139f3449ddfa34861bf769a9f7ac56bf48092f23804c626

See more details on using hashes here.

File details

Details for the file tool_box-0.5.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for tool_box-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6ecaeac799c8e42fa436735647d62b60badd032743b6c9eb3f13f754a7a06634
MD5 167a90afa32b511f2dcf65879c996828
BLAKE2b-256 3a946e52769b2b83afad68ccdae70a3394ba6ac59a28d3211ddc1af7824b9232

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page