diff options
Diffstat (limited to 'python-examples.spec')
-rw-r--r-- | python-examples.spec | 295 |
1 files changed, 295 insertions, 0 deletions
diff --git a/python-examples.spec b/python-examples.spec new file mode 100644 index 0000000..bd3e482 --- /dev/null +++ b/python-examples.spec @@ -0,0 +1,295 @@ +%global _empty_manifest_terminate_build 0 +Name: python-examples +Version: 1.0.2 +Release: 1 +Summary: Tests and Documentation Done by Example. +License: MIT +URL: https://pypi.org/project/examples/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/08/1a/1a68ca1db40e06efdd016fcc59863f755f1bceb12b9a7551f52f90fd3253/examples-1.0.2.tar.gz +BuildArch: noarch + +Requires: python3-pydantic + +%description +[](https://timothycrosley.github.io/examples/) +_________________ + +[](http://badge.fury.io/py/examples) +[](https://travis-ci.org/timothycrosley/examples) +[](https://codecov.io/gh/timothycrosley/examples) +[](https://gitter.im/timothycrosley/examples?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[](https://pypi.python.org/pypi/examples/) +[](https://pepy.tech/project/examples) +_________________ + +[Read Latest Documentation](https://timothycrosley.github.io/examples/) - [Browse GitHub Code Repository](https://github.com/timothycrosley/examples/) +_________________ + +**eXamples** (AKA: xamples for SEO) is a Python3 library enabling interactable, self-documenting, and self-verifying examples. These examples are attached directly to Python functions using decorators or via separate `MODULE_examples.py` source files. + +[](https://raw.githubusercontent.com/timothycrosley/examples/master/art/example.gif) + +Key Features: + +* **Simple and Obvious API**: Add `@examples.example(*args, **kwargs)` decorators for each example you want to add to a function. +* **Auto Documenting**: Examples, by default, get added to your functions docstring viewable both in interactive interpreters and when using [portray](https://timothycrosley.github.io/portray/) or [pdocs](https://timothycrosley.github.io/pdocs/). +* **Signature Validating**: All examples can easily be checked to ensure they match the function signature (and type annotations!) with a single call (`examples.verify_all_signatures()`). +* **Act as Tests**: Examples act as additional test cases, that can easily be verified using a single test case in your favorite test runner: (`examples.test_all_examples()`). +* **Async Compatibility**: Examples can be attached and tested as easily against async functions as non-async ones. + +What's Missing: + +* **Class Support**: Currently examples can only be attached to individual functions. Class and method support is planned for a future release. + +## Quick Start + +The following guides should get you up and running using eXamples in no time. + +1. [Installation](https://timothycrosley.github.io/examples/docs/quick_start/1.-installation/) - TL;DR: Run `pip3 install examples` within your projects virtual environment. +2. [Adding Examples](https://timothycrosley.github.io/examples/docs/quick_start/2.-adding-examples/) - + TL;DR: Add example decorators that represent each of your examples: + + # my_module_with_examples.py + from examples import example + + @example(1, number_2=1, _example_returns=2) + def add(number_1: int, number_2: int) -> int: + return number_1 + number_2 + +3. [Verify and Test Examples](https://timothycrosley.github.io/examples/docs/quick_start/3.-testing-examples/) - + TL;DR: run `examples.verify_and_test_examples` within your projects test cases. + + # test_my_module_with_examples.py + from examples import verify_and_test_examples + + import my_module_with_examples + + + def test_examples_verifying_signature(): + verify_and_test_examples(my_module_with_examples) + +4. Introspect Examples - + + import examples + + from my_module_with_examples import add + + + examples.get_examples(add)[0].use() == 2 + +## Why Create Examples? + +I've always wanted a way to attach examples to functions in a way that would be re-useable for documentation, testing, and API proposes. +Just like moving Python parameter types from comments into type annotations has made them more broadly useful, I hope examples can do the same for example calls. + +I hope you too find `eXamples` useful! + +~Timothy Crosley + + +%package -n python3-examples +Summary: Tests and Documentation Done by Example. +Provides: python-examples +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-examples +[](https://timothycrosley.github.io/examples/) +_________________ + +[](http://badge.fury.io/py/examples) +[](https://travis-ci.org/timothycrosley/examples) +[](https://codecov.io/gh/timothycrosley/examples) +[](https://gitter.im/timothycrosley/examples?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[](https://pypi.python.org/pypi/examples/) +[](https://pepy.tech/project/examples) +_________________ + +[Read Latest Documentation](https://timothycrosley.github.io/examples/) - [Browse GitHub Code Repository](https://github.com/timothycrosley/examples/) +_________________ + +**eXamples** (AKA: xamples for SEO) is a Python3 library enabling interactable, self-documenting, and self-verifying examples. These examples are attached directly to Python functions using decorators or via separate `MODULE_examples.py` source files. + +[](https://raw.githubusercontent.com/timothycrosley/examples/master/art/example.gif) + +Key Features: + +* **Simple and Obvious API**: Add `@examples.example(*args, **kwargs)` decorators for each example you want to add to a function. +* **Auto Documenting**: Examples, by default, get added to your functions docstring viewable both in interactive interpreters and when using [portray](https://timothycrosley.github.io/portray/) or [pdocs](https://timothycrosley.github.io/pdocs/). +* **Signature Validating**: All examples can easily be checked to ensure they match the function signature (and type annotations!) with a single call (`examples.verify_all_signatures()`). +* **Act as Tests**: Examples act as additional test cases, that can easily be verified using a single test case in your favorite test runner: (`examples.test_all_examples()`). +* **Async Compatibility**: Examples can be attached and tested as easily against async functions as non-async ones. + +What's Missing: + +* **Class Support**: Currently examples can only be attached to individual functions. Class and method support is planned for a future release. + +## Quick Start + +The following guides should get you up and running using eXamples in no time. + +1. [Installation](https://timothycrosley.github.io/examples/docs/quick_start/1.-installation/) - TL;DR: Run `pip3 install examples` within your projects virtual environment. +2. [Adding Examples](https://timothycrosley.github.io/examples/docs/quick_start/2.-adding-examples/) - + TL;DR: Add example decorators that represent each of your examples: + + # my_module_with_examples.py + from examples import example + + @example(1, number_2=1, _example_returns=2) + def add(number_1: int, number_2: int) -> int: + return number_1 + number_2 + +3. [Verify and Test Examples](https://timothycrosley.github.io/examples/docs/quick_start/3.-testing-examples/) - + TL;DR: run `examples.verify_and_test_examples` within your projects test cases. + + # test_my_module_with_examples.py + from examples import verify_and_test_examples + + import my_module_with_examples + + + def test_examples_verifying_signature(): + verify_and_test_examples(my_module_with_examples) + +4. Introspect Examples - + + import examples + + from my_module_with_examples import add + + + examples.get_examples(add)[0].use() == 2 + +## Why Create Examples? + +I've always wanted a way to attach examples to functions in a way that would be re-useable for documentation, testing, and API proposes. +Just like moving Python parameter types from comments into type annotations has made them more broadly useful, I hope examples can do the same for example calls. + +I hope you too find `eXamples` useful! + +~Timothy Crosley + + +%package help +Summary: Development documents and examples for examples +Provides: python3-examples-doc +%description help +[](https://timothycrosley.github.io/examples/) +_________________ + +[](http://badge.fury.io/py/examples) +[](https://travis-ci.org/timothycrosley/examples) +[](https://codecov.io/gh/timothycrosley/examples) +[](https://gitter.im/timothycrosley/examples?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[](https://pypi.python.org/pypi/examples/) +[](https://pepy.tech/project/examples) +_________________ + +[Read Latest Documentation](https://timothycrosley.github.io/examples/) - [Browse GitHub Code Repository](https://github.com/timothycrosley/examples/) +_________________ + +**eXamples** (AKA: xamples for SEO) is a Python3 library enabling interactable, self-documenting, and self-verifying examples. These examples are attached directly to Python functions using decorators or via separate `MODULE_examples.py` source files. + +[](https://raw.githubusercontent.com/timothycrosley/examples/master/art/example.gif) + +Key Features: + +* **Simple and Obvious API**: Add `@examples.example(*args, **kwargs)` decorators for each example you want to add to a function. +* **Auto Documenting**: Examples, by default, get added to your functions docstring viewable both in interactive interpreters and when using [portray](https://timothycrosley.github.io/portray/) or [pdocs](https://timothycrosley.github.io/pdocs/). +* **Signature Validating**: All examples can easily be checked to ensure they match the function signature (and type annotations!) with a single call (`examples.verify_all_signatures()`). +* **Act as Tests**: Examples act as additional test cases, that can easily be verified using a single test case in your favorite test runner: (`examples.test_all_examples()`). +* **Async Compatibility**: Examples can be attached and tested as easily against async functions as non-async ones. + +What's Missing: + +* **Class Support**: Currently examples can only be attached to individual functions. Class and method support is planned for a future release. + +## Quick Start + +The following guides should get you up and running using eXamples in no time. + +1. [Installation](https://timothycrosley.github.io/examples/docs/quick_start/1.-installation/) - TL;DR: Run `pip3 install examples` within your projects virtual environment. +2. [Adding Examples](https://timothycrosley.github.io/examples/docs/quick_start/2.-adding-examples/) - + TL;DR: Add example decorators that represent each of your examples: + + # my_module_with_examples.py + from examples import example + + @example(1, number_2=1, _example_returns=2) + def add(number_1: int, number_2: int) -> int: + return number_1 + number_2 + +3. [Verify and Test Examples](https://timothycrosley.github.io/examples/docs/quick_start/3.-testing-examples/) - + TL;DR: run `examples.verify_and_test_examples` within your projects test cases. + + # test_my_module_with_examples.py + from examples import verify_and_test_examples + + import my_module_with_examples + + + def test_examples_verifying_signature(): + verify_and_test_examples(my_module_with_examples) + +4. Introspect Examples - + + import examples + + from my_module_with_examples import add + + + examples.get_examples(add)[0].use() == 2 + +## Why Create Examples? + +I've always wanted a way to attach examples to functions in a way that would be re-useable for documentation, testing, and API proposes. +Just like moving Python parameter types from comments into type annotations has made them more broadly useful, I hope examples can do the same for example calls. + +I hope you too find `eXamples` useful! + +~Timothy Crosley + + +%prep +%autosetup -n examples-1.0.2 + +%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-examples -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.2-1 +- Package Spec generated |