Skip to main content

Argument parser based on docopt

install

pip install arguments

usage

Docopt is used for parsing the docstring (doc), arguments bundles the schema parser and returns a OptionParser like object with normalized attributes

For example

arguments test

Usage:
  tests.py <posarg1> <posarg2>

Options:
  -h --help                     Show this screen.
  -o --option=<option1>         An option.
  --option2=<option2>           An option [default: hello].
  -p --parameter=<parameter>    Folder to check the git repos out [default: 77].
  -v --verbose                  Folder from where to run the command [default: .].

called like

python tests.py pval1 pval2

will when called in python return

>>> myargs = Arguments()
>>> print myargs.posarg1
pyval1

>>> print myargs.posarg2
pyval2

Using schema

Assume you are using docopt with the following usage-pattern:

my_program.py [--count=N] <path> <files>

and you would like to validate that <files> are readable, and that <path> exists, and that --count is either integer from 0 to 5, or None.

this is how you validate it using schema:

>>> from arguments import *

>>> s = Schema({'<files>': [Use(open)],
...             '<path>': os.path.exists,
...             '--count': Or(None, And(Use(int), lambda n: 0 < n < 5))})

>>> args = Arguments(validateschema=s)

>>> args.files
[<open file 'LICENSE-MIT', mode 'r' at 0x...>, <open file 'setup.py', mode 'r' at 0x...>]

>>> args.path
'../'

>>> args.count
3

As you can see, it validated data successfully, opened files and converted '3' to int.

Metadata

Release files for arguments 11

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

Source distribution (sdist)

Source distribution for arguments 11
File Size Uploaded
arguments-11.tar.gz 6.2 kB Details

Release files / arguments-11.tar.gz

Download URL arguments-11.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cd2efdef55ea7ea723930993d8e672710640c3127d66a5dd2312e175a0802e91
BLAKE2b-256 checksum
How to use checksums
4f5f800a6ec057eb2ff66ad5b657fae882e9794a72043cebf8434d8bf709da49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

76

1 release file

73

1 release file

72

1 release file

71

1 release file

70

1 release file

68

1 release file

67

1 release file

59

1 release file

58

1 release file

56

1 release file

55

1 release file

54

1 release file

53

1 release file

51

1 release file

49

1 release file

48

1 release file

47

1 release file

46

1 release file

45

1 release file

44

1 release file

43

1 release file

42

1 release file

41

1 release file

40

1 release file

39

1 release file

38

1 release file

37

1 release file

36

1 release file

35

1 release file

33

1 release file

32

1 release file

31

1 release file

30

1 release file

29

1 release file

28

1 release file

27

1 release file

26

1 release file

25

1 release file

24

1 release file

23

1 release file

22

1 release file

20

1 release file

19

1 release file

18

1 release file

16

1 release file

15

1 release file

12

1 release file

This release

11 This release

1 release file

10

1 release file

9

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