%global _empty_manifest_terminate_build 0 Name: python-h-matchers Version: 1.2.15 Release: 1 Summary: Test objects which pass equality checks with other objects. License: BSD License URL: https://github.com/hypothesis/h-matchers Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fa/2e/c16f1e3dd9dd56be1139b976bb967fe91ad7361b99f8fcfedd34aebef0fc/h-matchers-1.2.15.tar.gz BuildArch: noarch %description # h-matchers Test objects which pass equality checks with other objects. ## Usage ```python from h_matchers import Any import re assert [1, 2, ValueError(), print, print] == [ Any(), Any.int(), Any.instance_of(ValueError), Any.function(), Any.callable() ] assert ["easy", "string", "matching"] == [ Any.string(), Any.string.containing("in"), Any.string.matching('^.*CHING!', re.IGNORECASE) ] assert "http://www.example.com?a=3&b=2" == Any.url( host='www.example.com', query=Any.mapping.containing({'a': 3})) assert 5 == Any.of([5, None]) assert "foo bar" == All.of([ Any.string.containing('foo'), Any.string.containing('bar') ]) assert user == Any.object.of_type(MyUser).with_attrs({"name": "Username"}) assert "http://example.com/path" == Any.url.with_host("example.com") assert prepared_request == ( Any.request .with_url(Any.url.with_host("example.com")) .containing_headers({'Content-Type': 'application/json'}) ) # ... and lots more ``` For more details see: * [Matching data structures](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-data-structures.md) - For details of matching collections and objects * [Matching web objects](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-web.md) - For details about matching URLs, and web requests * [Matching numbers](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-numbers.md) - For details about matching ints, floats etc. with conditions ## Setting up Your h-matchers Development Environment First you'll need to install: * [Git](https://git-scm.com/). On Ubuntu: `sudo apt install git`, on macOS: `brew install git`. * [GNU Make](https://www.gnu.org/software/make/). This is probably already installed, run `make --version` to check. * [pyenv](https://github.com/pyenv/pyenv). Follow the instructions in pyenv's README to install it. The **Homebrew** method works best on macOS. The **Basic GitHub Checkout** method works best on Ubuntu. You _don't_ need to set up pyenv's shell integration ("shims"), you can [use pyenv without shims](https://github.com/pyenv/pyenv#using-pyenv-without-shims). Then to set up your development environment: ```terminal git clone https://github.com/hypothesis/h-matchers.git cd h_matchers make help ``` ## Releasing a New Version of the Project 1. First, to get PyPI publishing working you need to go to: and add h-matchers to the `PYPI_TOKEN` secret's selected repositories. 2. Now that the h-matchers project has access to the `PYPI_TOKEN` secret you can release a new version by just [creating a new GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository). Publishing a new GitHub release will automatically trigger [a GitHub Actions workflow](.github/workflows/pypi.yml) that will build the new version of your Python package and upload it to . ## Changing the Project's Python Versions To change what versions of Python the project uses: 1. Change the Python versions in the [cookiecutter.json](.cookiecutter/cookiecutter.json) file. For example: ```json "python_versions": "3.10.4, 3.9.12", ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request ## Changing the Project's Python Dependencies To change the production dependencies in the `setup.cfg` file: 1. Change the dependencies in the [`.cookiecutter/includes/setuptools/install_requires`](.cookiecutter/includes/setuptools/install_requires) file. If this file doesn't exist yet create it and add some dependencies to it. For example: ``` pyramid sqlalchemy celery ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request To change the project's formatting, linting and test dependencies: 1. Change the dependencies in the [`.cookiecutter/includes/tox/deps`](.cookiecutter/includes/tox/deps) file. If this file doesn't exist yet create it and add some dependencies to it. Use tox's [factor-conditional settings](https://tox.wiki/en/latest/config.html#factors-and-factor-conditional-settings) to limit which environment(s) each dependency is used in. For example: ``` lint: flake8, format: autopep8, lint,tests: pytest-faker, ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request %package -n python3-h-matchers Summary: Test objects which pass equality checks with other objects. Provides: python-h-matchers BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-h-matchers # h-matchers Test objects which pass equality checks with other objects. ## Usage ```python from h_matchers import Any import re assert [1, 2, ValueError(), print, print] == [ Any(), Any.int(), Any.instance_of(ValueError), Any.function(), Any.callable() ] assert ["easy", "string", "matching"] == [ Any.string(), Any.string.containing("in"), Any.string.matching('^.*CHING!', re.IGNORECASE) ] assert "http://www.example.com?a=3&b=2" == Any.url( host='www.example.com', query=Any.mapping.containing({'a': 3})) assert 5 == Any.of([5, None]) assert "foo bar" == All.of([ Any.string.containing('foo'), Any.string.containing('bar') ]) assert user == Any.object.of_type(MyUser).with_attrs({"name": "Username"}) assert "http://example.com/path" == Any.url.with_host("example.com") assert prepared_request == ( Any.request .with_url(Any.url.with_host("example.com")) .containing_headers({'Content-Type': 'application/json'}) ) # ... and lots more ``` For more details see: * [Matching data structures](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-data-structures.md) - For details of matching collections and objects * [Matching web objects](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-web.md) - For details about matching URLs, and web requests * [Matching numbers](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-numbers.md) - For details about matching ints, floats etc. with conditions ## Setting up Your h-matchers Development Environment First you'll need to install: * [Git](https://git-scm.com/). On Ubuntu: `sudo apt install git`, on macOS: `brew install git`. * [GNU Make](https://www.gnu.org/software/make/). This is probably already installed, run `make --version` to check. * [pyenv](https://github.com/pyenv/pyenv). Follow the instructions in pyenv's README to install it. The **Homebrew** method works best on macOS. The **Basic GitHub Checkout** method works best on Ubuntu. You _don't_ need to set up pyenv's shell integration ("shims"), you can [use pyenv without shims](https://github.com/pyenv/pyenv#using-pyenv-without-shims). Then to set up your development environment: ```terminal git clone https://github.com/hypothesis/h-matchers.git cd h_matchers make help ``` ## Releasing a New Version of the Project 1. First, to get PyPI publishing working you need to go to: and add h-matchers to the `PYPI_TOKEN` secret's selected repositories. 2. Now that the h-matchers project has access to the `PYPI_TOKEN` secret you can release a new version by just [creating a new GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository). Publishing a new GitHub release will automatically trigger [a GitHub Actions workflow](.github/workflows/pypi.yml) that will build the new version of your Python package and upload it to . ## Changing the Project's Python Versions To change what versions of Python the project uses: 1. Change the Python versions in the [cookiecutter.json](.cookiecutter/cookiecutter.json) file. For example: ```json "python_versions": "3.10.4, 3.9.12", ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request ## Changing the Project's Python Dependencies To change the production dependencies in the `setup.cfg` file: 1. Change the dependencies in the [`.cookiecutter/includes/setuptools/install_requires`](.cookiecutter/includes/setuptools/install_requires) file. If this file doesn't exist yet create it and add some dependencies to it. For example: ``` pyramid sqlalchemy celery ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request To change the project's formatting, linting and test dependencies: 1. Change the dependencies in the [`.cookiecutter/includes/tox/deps`](.cookiecutter/includes/tox/deps) file. If this file doesn't exist yet create it and add some dependencies to it. Use tox's [factor-conditional settings](https://tox.wiki/en/latest/config.html#factors-and-factor-conditional-settings) to limit which environment(s) each dependency is used in. For example: ``` lint: flake8, format: autopep8, lint,tests: pytest-faker, ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request %package help Summary: Development documents and examples for h-matchers Provides: python3-h-matchers-doc %description help # h-matchers Test objects which pass equality checks with other objects. ## Usage ```python from h_matchers import Any import re assert [1, 2, ValueError(), print, print] == [ Any(), Any.int(), Any.instance_of(ValueError), Any.function(), Any.callable() ] assert ["easy", "string", "matching"] == [ Any.string(), Any.string.containing("in"), Any.string.matching('^.*CHING!', re.IGNORECASE) ] assert "http://www.example.com?a=3&b=2" == Any.url( host='www.example.com', query=Any.mapping.containing({'a': 3})) assert 5 == Any.of([5, None]) assert "foo bar" == All.of([ Any.string.containing('foo'), Any.string.containing('bar') ]) assert user == Any.object.of_type(MyUser).with_attrs({"name": "Username"}) assert "http://example.com/path" == Any.url.with_host("example.com") assert prepared_request == ( Any.request .with_url(Any.url.with_host("example.com")) .containing_headers({'Content-Type': 'application/json'}) ) # ... and lots more ``` For more details see: * [Matching data structures](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-data-structures.md) - For details of matching collections and objects * [Matching web objects](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-web.md) - For details about matching URLs, and web requests * [Matching numbers](https://github.com/hypothesis/h-matchers/blob/main/docs/matching-numbers.md) - For details about matching ints, floats etc. with conditions ## Setting up Your h-matchers Development Environment First you'll need to install: * [Git](https://git-scm.com/). On Ubuntu: `sudo apt install git`, on macOS: `brew install git`. * [GNU Make](https://www.gnu.org/software/make/). This is probably already installed, run `make --version` to check. * [pyenv](https://github.com/pyenv/pyenv). Follow the instructions in pyenv's README to install it. The **Homebrew** method works best on macOS. The **Basic GitHub Checkout** method works best on Ubuntu. You _don't_ need to set up pyenv's shell integration ("shims"), you can [use pyenv without shims](https://github.com/pyenv/pyenv#using-pyenv-without-shims). Then to set up your development environment: ```terminal git clone https://github.com/hypothesis/h-matchers.git cd h_matchers make help ``` ## Releasing a New Version of the Project 1. First, to get PyPI publishing working you need to go to: and add h-matchers to the `PYPI_TOKEN` secret's selected repositories. 2. Now that the h-matchers project has access to the `PYPI_TOKEN` secret you can release a new version by just [creating a new GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository). Publishing a new GitHub release will automatically trigger [a GitHub Actions workflow](.github/workflows/pypi.yml) that will build the new version of your Python package and upload it to . ## Changing the Project's Python Versions To change what versions of Python the project uses: 1. Change the Python versions in the [cookiecutter.json](.cookiecutter/cookiecutter.json) file. For example: ```json "python_versions": "3.10.4, 3.9.12", ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request ## Changing the Project's Python Dependencies To change the production dependencies in the `setup.cfg` file: 1. Change the dependencies in the [`.cookiecutter/includes/setuptools/install_requires`](.cookiecutter/includes/setuptools/install_requires) file. If this file doesn't exist yet create it and add some dependencies to it. For example: ``` pyramid sqlalchemy celery ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request To change the project's formatting, linting and test dependencies: 1. Change the dependencies in the [`.cookiecutter/includes/tox/deps`](.cookiecutter/includes/tox/deps) file. If this file doesn't exist yet create it and add some dependencies to it. Use tox's [factor-conditional settings](https://tox.wiki/en/latest/config.html#factors-and-factor-conditional-settings) to limit which environment(s) each dependency is used in. For example: ``` lint: flake8, format: autopep8, lint,tests: pytest-faker, ``` 2. Re-run the cookiecutter template: ```terminal make template ``` 3. Commit everything to git and send a pull request %prep %autosetup -n h-matchers-1.2.15 %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-h-matchers -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 1.2.15-1 - Package Spec generated