diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:22:05 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:22:05 +0000 |
commit | 9af2dbb13e538f18687e322bc9ab8fff6f59f0a7 (patch) | |
tree | c2a9868833ac3283095ba4078ec903d7c45b2b93 | |
parent | b86454cc9bc422764cdc2284eb5cb91650cf38e8 (diff) |
automatic import of python-generic-parser
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-generic-parser.spec | 421 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 423 insertions, 0 deletions
@@ -0,0 +1 @@ +/generic_parser-1.1.1.tar.gz diff --git a/python-generic-parser.spec b/python-generic-parser.spec new file mode 100644 index 0000000..48df616 --- /dev/null +++ b/python-generic-parser.spec @@ -0,0 +1,421 @@ +%global _empty_manifest_terminate_build 0 +Name: python-generic-parser +Version: 1.1.1 +Release: 1 +Summary: A parser for arguments and config-files that also allows direct python input. +License: MIT +URL: https://github.com/pylhc/generic_parser +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ba/08/56ca64678aaa2d3ece1abda3147dcbb7a685aebf57cc3f9ca08182cb88ab/generic_parser-1.1.1.tar.gz +BuildArch: noarch + +Requires: python3-sphinx +Requires: python3-travis-sphinx +Requires: python3-sphinx-rtd-theme +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-hypothesis +Requires: python3-attrs + +%description +# Generic Parser +[](https://github.com/pylhc/generic_parser/actions?query=workflow%3A%22Cron+Testing%22) +[](https://codeclimate.com/github/pylhc/generic_parser) +[](https://codeclimate.com/github/pylhc/generic_parser) +<!-- [](https://github.com/pylhc/generic_parser/) --> +[](https://pypi.org/project/generic_parser/) +[](https://github.com/pylhc/generic_parser/) +[](https://anaconda.org/conda-forge/generic_parser) +[](https://zenodo.org/badge/latestdoi/201085116) + +The package provides an all-around parser for arguments and config-files. +The creation of the arguments is similar to the ones from argparse, but the input can then be either from command line, a config file or directly from python. + +See the [API documentation](https://pylhc.github.io/generic_parser/) for details. + +## Installing + +Installation is easily done via `pip`. The package is then used as `generic_parser`. +```bash +python -m pip install generic-parser +``` + +One can also install in a `conda` environment via the `conda-forge` channel with: +```bash +conda install -c conda-forge generic_parser +``` + +## Example Usage: + +Content of `myscript.py` +```python +from generic_parser import entrypoint, EntryPointParameters + + +def get_arguments(): + args = EntryPointParameters() + args.add_parameter(name="first", + flags=["-f", "--first"], + help="First Parameter, an int", + choices=[1, 2, 3], + type=int, + required=True, + ) + args.add_parameter(name="second", + flags=["-s", "--second"], + help="Second Parameter, a string", + type=str, + default="default", + required=False, + ) + return args + + +@entrypoint(get_arguments()) +def main(opt, unknown): + print(opt.first == 1) + print(opt.second == "default") + + +if __name__ == '__main__': + main() +``` + +### Commandline + +Calling that script with ``python myscript.py -f 1 -s "test"`` will result in: +``` +True +False +``` + +It is assumed, that this is the standard mode of operation for your functions. + +#### Config File + +Further, one can also use a config file `config.ini` containing: +``` +[Section] +first = 2 +second = "Hello" +``` + +and run the script with `python myscript.py --entry_cfg config.ini` leading to +``` +False +False +``` + +Config files are very useful if you want to rerun your code with the same or similar parameters. +Especially the declaration of a `[DEFAULT]` section can be helpful. +For further information about config files, check the python [Config Parser](https://docs.python.org/3/library/configparser.html). + +### Python +Or call the function directly from python code: +```python +if __name__ == '__main__': + main(first=1, second="World") +``` + +``` +True +False +``` + +This is incredibly helpful if one wants to write python-wrappers around entrypoint-functions, +and does not want to resort to commandline calls from python. + +Note that also in this case all variables are validated, courtesy of the `dict_parser`. +`dict_parser` provides even multi-level dictionary checking functionality, +which is not used in the `Entrypoint`, but can be handy in other use-cases. + +## License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + + +%package -n python3-generic-parser +Summary: A parser for arguments and config-files that also allows direct python input. +Provides: python-generic-parser +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-generic-parser +# Generic Parser +[](https://github.com/pylhc/generic_parser/actions?query=workflow%3A%22Cron+Testing%22) +[](https://codeclimate.com/github/pylhc/generic_parser) +[](https://codeclimate.com/github/pylhc/generic_parser) +<!-- [](https://github.com/pylhc/generic_parser/) --> +[](https://pypi.org/project/generic_parser/) +[](https://github.com/pylhc/generic_parser/) +[](https://anaconda.org/conda-forge/generic_parser) +[](https://zenodo.org/badge/latestdoi/201085116) + +The package provides an all-around parser for arguments and config-files. +The creation of the arguments is similar to the ones from argparse, but the input can then be either from command line, a config file or directly from python. + +See the [API documentation](https://pylhc.github.io/generic_parser/) for details. + +## Installing + +Installation is easily done via `pip`. The package is then used as `generic_parser`. +```bash +python -m pip install generic-parser +``` + +One can also install in a `conda` environment via the `conda-forge` channel with: +```bash +conda install -c conda-forge generic_parser +``` + +## Example Usage: + +Content of `myscript.py` +```python +from generic_parser import entrypoint, EntryPointParameters + + +def get_arguments(): + args = EntryPointParameters() + args.add_parameter(name="first", + flags=["-f", "--first"], + help="First Parameter, an int", + choices=[1, 2, 3], + type=int, + required=True, + ) + args.add_parameter(name="second", + flags=["-s", "--second"], + help="Second Parameter, a string", + type=str, + default="default", + required=False, + ) + return args + + +@entrypoint(get_arguments()) +def main(opt, unknown): + print(opt.first == 1) + print(opt.second == "default") + + +if __name__ == '__main__': + main() +``` + +### Commandline + +Calling that script with ``python myscript.py -f 1 -s "test"`` will result in: +``` +True +False +``` + +It is assumed, that this is the standard mode of operation for your functions. + +#### Config File + +Further, one can also use a config file `config.ini` containing: +``` +[Section] +first = 2 +second = "Hello" +``` + +and run the script with `python myscript.py --entry_cfg config.ini` leading to +``` +False +False +``` + +Config files are very useful if you want to rerun your code with the same or similar parameters. +Especially the declaration of a `[DEFAULT]` section can be helpful. +For further information about config files, check the python [Config Parser](https://docs.python.org/3/library/configparser.html). + +### Python +Or call the function directly from python code: +```python +if __name__ == '__main__': + main(first=1, second="World") +``` + +``` +True +False +``` + +This is incredibly helpful if one wants to write python-wrappers around entrypoint-functions, +and does not want to resort to commandline calls from python. + +Note that also in this case all variables are validated, courtesy of the `dict_parser`. +`dict_parser` provides even multi-level dictionary checking functionality, +which is not used in the `Entrypoint`, but can be handy in other use-cases. + +## License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + + +%package help +Summary: Development documents and examples for generic-parser +Provides: python3-generic-parser-doc +%description help +# Generic Parser +[](https://github.com/pylhc/generic_parser/actions?query=workflow%3A%22Cron+Testing%22) +[](https://codeclimate.com/github/pylhc/generic_parser) +[](https://codeclimate.com/github/pylhc/generic_parser) +<!-- [](https://github.com/pylhc/generic_parser/) --> +[](https://pypi.org/project/generic_parser/) +[](https://github.com/pylhc/generic_parser/) +[](https://anaconda.org/conda-forge/generic_parser) +[](https://zenodo.org/badge/latestdoi/201085116) + +The package provides an all-around parser for arguments and config-files. +The creation of the arguments is similar to the ones from argparse, but the input can then be either from command line, a config file or directly from python. + +See the [API documentation](https://pylhc.github.io/generic_parser/) for details. + +## Installing + +Installation is easily done via `pip`. The package is then used as `generic_parser`. +```bash +python -m pip install generic-parser +``` + +One can also install in a `conda` environment via the `conda-forge` channel with: +```bash +conda install -c conda-forge generic_parser +``` + +## Example Usage: + +Content of `myscript.py` +```python +from generic_parser import entrypoint, EntryPointParameters + + +def get_arguments(): + args = EntryPointParameters() + args.add_parameter(name="first", + flags=["-f", "--first"], + help="First Parameter, an int", + choices=[1, 2, 3], + type=int, + required=True, + ) + args.add_parameter(name="second", + flags=["-s", "--second"], + help="Second Parameter, a string", + type=str, + default="default", + required=False, + ) + return args + + +@entrypoint(get_arguments()) +def main(opt, unknown): + print(opt.first == 1) + print(opt.second == "default") + + +if __name__ == '__main__': + main() +``` + +### Commandline + +Calling that script with ``python myscript.py -f 1 -s "test"`` will result in: +``` +True +False +``` + +It is assumed, that this is the standard mode of operation for your functions. + +#### Config File + +Further, one can also use a config file `config.ini` containing: +``` +[Section] +first = 2 +second = "Hello" +``` + +and run the script with `python myscript.py --entry_cfg config.ini` leading to +``` +False +False +``` + +Config files are very useful if you want to rerun your code with the same or similar parameters. +Especially the declaration of a `[DEFAULT]` section can be helpful. +For further information about config files, check the python [Config Parser](https://docs.python.org/3/library/configparser.html). + +### Python +Or call the function directly from python code: +```python +if __name__ == '__main__': + main(first=1, second="World") +``` + +``` +True +False +``` + +This is incredibly helpful if one wants to write python-wrappers around entrypoint-functions, +and does not want to resort to commandline calls from python. + +Note that also in this case all variables are validated, courtesy of the `dict_parser`. +`dict_parser` provides even multi-level dictionary checking functionality, +which is not used in the `Entrypoint`, but can be handy in other use-cases. + +## License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + + +%prep +%autosetup -n generic-parser-1.1.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-generic-parser -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.1-1 +- Package Spec generated @@ -0,0 +1 @@ +20554933a4bd317f75eac518dfc766be generic_parser-1.1.1.tar.gz |