Skip to main content

A simple Command Line Option Processor

Project description

$ pip install clop

$ pydoc clop

$ python -m clop # Run the demo

clop provides minimal command line option specification and processing.

When your command line processing requires the power of a king on a real horse, use argparse in the standard python library.

When banging two coconut halves together on a stick pony is good enough, use clop.

A single class to specify command line options, process a command line against those options, and make the processed results available as a dict. Also provides a simple help string for each option and the calling program.

  """Your program."""

  from clop import Clop

  ...

  # Make a Clop object.
  clp = Clop()

  # Specify acceptable options and their arguments.
  clp.addOptionDef(letter = 'k',
      required = True,
      numArgs = 3,
      help = 'Help for option k')

  ...

  # optArgs is a dictionary of options and arguments
  optArgs = clp.processCmdLine(sys.argv[1:])

  ...

  # Print the help string when you need it.
  helpStr = clp.helpString('clop:\nShort demo of the clop module.')
  print(helpStr)

clop:
Short demo of the clop module.

REQUIRED OPTIONS:
k: Help for option k
  Allowed arguments: Exactly 3
m: Help for option m
  Allowed arguments: Exactly 1
n: Help for option n
  Allowed arguments: 0 or more

OPTIONAL OPTIONS:
o: Help for option o
  Allowed arguments: Exactly 0
p: Help for option p
  Allowed arguments: Exactly 1
q: Help for option q
  Allowed arguments: 0 or more

clop includes a demo in its main() function:

$ python -m clop -k 1 2 3 -m one-two -n 3 4 5 -o -p 1 -q "one two"

{'k': ['1', '2', '3'], 'm': ['one-two'], 'o': [], 'n': ['3', '4', '5'], 'q': ['one two'], 'p': ['1']}

  • Options are a dash and a single letter: -o

  • An option can be followed by zero or more arguments.

  • An option can only be specified with its letter (-o). No –long options.

  • An option letter can be any “letter” where letter.isalpha() is True.

  • Options cannot be composed. Only one character per dash, not -olmp.

  • Options can appear in any order on the command line.

  • Options and arguments on the command line are strings. The calling program does any type and value checking and conversion of arguments after clop’s command line processing. Clop makes no judgments other than allowed options and arguments.

More clop features are unlikely. If you need more, argparse is excellent, and comes with a real horse.

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

clop-0.2.8.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clop-0.2.8-py2.py3-none-any.whl (7.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file clop-0.2.8.tar.gz.

File metadata

  • Download URL: clop-0.2.8.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for clop-0.2.8.tar.gz
Algorithm Hash digest
SHA256 052462315ee31626401cb940f54eb0e097e57dd82800c7583a7ed5479f17410b
MD5 e3d2da5ca7293f18d691bff83f17ae25
BLAKE2b-256 d4b2b0cbc73b2937fdae1e048adcd52b97b4b0ab41d2692bff9918858ec835f3

See more details on using hashes here.

File details

Details for the file clop-0.2.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for clop-0.2.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8dfef36497191ca7787e3a19e36cbed782ab79c16e1e90d103e3720d603f66b9
MD5 c33a5d170d5c0aa1299ca49673df9f3a
BLAKE2b-256 7743250758223795d6b01ce7fec88c20ca0b172febbb0ea1dbf19cd6ed2ae7f9

See more details on using hashes here.

Supported by

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