Skip to main content

A user-friendly way to define and process command line scripts.

Usage

example.py:

"""Build commands with switches"""

from switches import command, commandline


@command
def spam(argument1, argument2=None):
    """Print the arguments"""
    print argument1
    if argument2 is not None:
        print argument2


@command
def eggs(argument1=True, argument2=False):
    """Conditionally print the arguments"""
    if argument1:
        print 'argument1 is True'
    if argument2:
        print 'argument2 is True'


if __name__ == '__main__':
    commandline(__doc__)

On the command line:

$ python example.py --help
usage: example.py [-h] {eggs,spam} ...

Build commands with switches

positional arguments:
  {eggs,spam}  commands
    eggs       Conditionally print the arguments
    spam       Print the arguments

optional arguments:
  -h, --help   show this help message and exit

$ python example.py spam --help
usage: example.py spam [-h] [--argument2 ARGUMENT2] argument1

positional arguments:
  argument1

optional arguments:
  -h, --help            show this help message and exit
  --argument2 ARGUMENT2
                        The default value is "None".

$ python example.py eggs --help
usage: example.py eggs [-h] [--argument1 ARGUMENT1] [--argument2 ARGUMENT2]

optional arguments:
  -h, --help            show this help message and exit
  --argument1 ARGUMENT1
                        The default value is "True".
  --argument2 ARGUMENT2
                        The default value is "False".

Full documentation can be found on Read the Docs.

Installation

Installing Switches is easy:

pip install switches

or download the source and run:

python setup.py install

Release files for switches 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for switches 0.1.1
File Size Uploaded
switches-0.1.1.tar.gz 4.2 kB Details

Release files / switches-0.1.1.tar.gz

Download URL switches-0.1.1.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3a05e077fa47f55383bcf76595ecd63c14be301a7b5aea67f95be82939b733e2
BLAKE2b-256 checksum
How to use checksums
b63922232dd2588d26a58073f18175060c2753e6f2c18e168577f632f45e206e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page