Ravenports generated: 03 Feb 2024 15:41
[ravenports.git] / bucket_C8 / python-jsonargparse
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               python-jsonargparse
4 VERSION=                4.27.4
5 KEYWORDS=               python
6 VARIANTS=               v11 v12
7 SDESC[v11]=             JSON argument and config file parser (3.11)
8 SDESC[v12]=             JSON argument and config file parser (3.12)
9 HOMEPAGE=               none
10 CONTACT=                Python_Automaton[python@ironwolf.systems]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            PYPIWHL/fb/ee/a1fbe1eb2502379f731d7255a20fa0b830a3dc4089fe5d07aff028a4c428
14 DISTFILE[1]=            jsonargparse-4.27.4-py3-none-any.whl:main
15 DF_INDEX=               1
16 SPKGS[v11]=             single
17 SPKGS[v12]=             single
18
19 OPTIONS_AVAILABLE=      PY311 PY312
20 OPTIONS_STANDARD=       none
21 VOPTS[v11]=             PY311=ON PY312=OFF
22 VOPTS[v12]=             PY311=OFF PY312=ON
23
24 DISTNAME=               jsonargparse-4.27.4.dist-info
25
26 GENERATED=              yes
27
28 [PY311].RUN_DEPENDS_ON=                 python-PyYAML:single:v11
29 [PY311].USES_ON=                        python:v11,wheel
30
31 [PY312].RUN_DEPENDS_ON=                 python-PyYAML:single:v12
32 [PY312].USES_ON=                        python:v12,wheel
33
34 [FILE:2641:descriptions/desc.single]
35
36
37 jsonargparse
38 ============
39
40 Docs: https://jsonargparse.readthedocs.io/ | Source:
41 https://github.com/omni-us/jsonargparse/
42
43 jsonargparse is a library for creating command-line interfaces (CLIs) and
44 making Python apps easily configurable. It is a well-maintained project
45 with
46 frequent releases, adhering to high standards of development: semantic
47 versioning, deprecation periods, changelog, automated testing, and full
48 test
49 coverage.
50
51 Although jsonargparse might not be widely recognized yet, it already boasts
52 a [substantial user base
53 ]. Most notably,
54 it serves as the framework behind pytorch-lightning's [LightningCLI
55 ].
56
57 Features
58 --------
59
60 jsonargparse is user-friendly and encourages the development of **clean,
61 high-quality code**. It encompasses numerous powerful features, some unique
62 to
63 jsonargparse, while also combining advantages found in similar packages:
64
65 - **Automatic** creation of CLIs, like [Fire
66  ], [Typer
67  ], [Clize
68  ] and [Tyro
69  ].
70
71 - Use **type hints** for argument validation, like [Typer
72  ], [Tap
73  ] and [Tyro
74  ].
75
76 - Use of **docstrings** for automatic generation of help, like [Tap
77  ], [Tyro
78  ] and [SimpleParsing
79  ].
80
81 - Parse from **configuration files** and **environment variables**, like
82   [OmegaConf], [dynaconf
83  ], [confuse
84  ] and [configargparse
85  ].
86
87 - **Dataclasses** support, like [SimpleParsing
88  ] and [Tyro
89  ].
90
91 Other notable features include:
92
93 - **Extensive type hint support:** nested types (union, optional),
94 containers
95   (list, dict, etc.), user-defined generics, restricted types (regex,
96 numbers),
97   paths, URLs, types from stubs (``*.pyi``), future annotations (PEP [563
98  ]), and backports (PEPs [604
99  ]/[585
100  ]).
101
102 - **Keyword arguments introspection:** resolving of parameters used via
103   ``**kwargs``.
104
105 - **Dependency injection:** support types that expect a class instance and
106   callables that return a class instance.
107
108 - **Structured configs:** parse config files with more understandable
109 non-flat
110   hierarchies.
111
112 - **Config file formats:** [json], [yaml
113  ], [jsonnet] and extendible to
114   more formats.
115
116 - **Relative paths:** within config files and parsing of config paths
117 referenced
118   inside other configs.
119
120 - **Argument linking:** directing parsed values to multiple parameters,
121   preventing unnecessary interpolation in configs.
122
123 Design principles
124 -----------------
125
126 - **Non-intrusive/decoupled:**
127
128   There is no requirement for unrelated modifications throughout a
129 codebase,
130   maintaining the [separation of concerns principle
131  ]. In simpler terms,
132   changes should make sense even without the CLI. No need to inherit from a
133   special class, add decorators, or use CLI-specific type hints.
134
135
136
137 [FILE:115:distinfo]
138 15d1d1a19f29e3457147082289e229719698933cfeb3c513568810e1c5fbe87e       190857 jsonargparse-4.27.4-py3-none-any.whl
139