Skip to main content

A simple framework to help you build scripts faster!

Project description

Scripto

Build Project linting: pylint Python Version from PEP 621 TOML PyPI - Version PyPI - Downloads

Are you sick of writing long and annoying argparse initialization code? Worry no more - the future is here!

Scripto is a Python package designed to transform your scripts into a powerful CLI tool using decorators. As in the example below, you can use the @script.register() decorator on your main business logic functions to effortlessly generate a feature-rich command-line interface.

Features

  • Seamless integration with argparse.
  • Simple and intuitive syntax inspired by Flask.
  • Automatically generates CLI commands from decorated functions.
  • Ideal for turning scripts into organized and user-friendly command-line tools.

Usage

  1. Install Scripto. You can install Scripto using pip:

    pip install scripto
    
  2. Decorate your main business logic functions with @script.register().

  3. Run your script to enjoy the generated CLI:

    from scripto.app import Scripto
    
    script = Scripto('script')
    
    @script.register()
    def my_command(arg1, arg2):
        """
        Description of your command.
        """
        # Your business logic here
    
    if __name__ == "__main__":
        script.run()
    

Complex Examples

See the example scripts provided.

About the rationale

We all like the simple automations, and nifty little scripts play a vital role in the life of every developer.

Many times, what was a simple 3 line script turned into a slightly larger one, and then all of your friends want to use it too.

Which is when you find out, your user interface sucks.

This framework aims to simplify the creation of the command line interface of such scripts.

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

Scripto-1.0.0.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

Scripto-1.0.0-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file Scripto-1.0.0.tar.gz.

File metadata

  • Download URL: Scripto-1.0.0.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for Scripto-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1a4ca8e53db89123cfb211080df447f803b748383ad8664c1ec57f1dbe384fb4
MD5 fb68fd744b5bc839b75c45b3af239fa5
BLAKE2b-256 f8b14a2981a52d0aa4fca64514443a0a1c213f582b029fd4f4f42f0ac44fbbdb

See more details on using hashes here.

File details

Details for the file Scripto-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: Scripto-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for Scripto-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21749e9426fec2780ed33625ae7f99c6dd0461c0e5a6f9d5822020a3dd2fce3f
MD5 70e7c895eb5e46fc92d92a19f943fb87
BLAKE2b-256 657d910cc5bd4852b6b3ef1ca895c2b7fc8fafe6548f53f60d0b4917417b73e7

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