summaryrefslogtreecommitdiff
path: root/python-twentemilieu.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-twentemilieu.spec')
-rw-r--r--python-twentemilieu.spec569
1 files changed, 569 insertions, 0 deletions
diff --git a/python-twentemilieu.spec b/python-twentemilieu.spec
new file mode 100644
index 0000000..09013a8
--- /dev/null
+++ b/python-twentemilieu.spec
@@ -0,0 +1,569 @@
+%global _empty_manifest_terminate_build 0
+Name: python-twentemilieu
+Version: 1.0.0
+Release: 1
+Summary: Asynchronous Python client for Twente Milieu API.
+License: MIT
+URL: https://github.com/frenck/python-twentemilieu
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fa/0d/81cbcd18c64c45a60a026ef69587ee41e2f92a0b85f42e7ff4d180e00334/twentemilieu-1.0.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-aiohttp
+Requires: python3-yarl
+
+%description
+# Python: Twente Milieu
+
+[![GitHub Release][releases-shield]][releases]
+[![Python Versions][python-versions-shield]][pypi]
+![Project Stage][project-stage-shield]
+![Project Maintenance][maintenance-shield]
+[![License][license-shield]](LICENSE.md)
+
+[![Build Status][build-shield]][build]
+[![Code Coverage][codecov-shield]][codecov]
+[![Quality Gate Status][sonarcloud-shield]][sonarcloud]
+
+[![Sponsor Frenck via GitHub Sponsors][github-sponsors-shield]][github-sponsors]
+
+[![Support Frenck on Patreon][patreon-shield]][patreon]
+
+Asynchronous Python client for the Twente Milieu API.
+
+## About
+
+This package allows you to request waste pickup days from Twente Milieu
+programmatically. It is mainly created to allow third-party programs to use
+or respond to this data.
+
+An excellent example of this might be Home Assistant, which allows you to write
+automations, e.g., play a Google Home announcement in the morning when it is
+trash pickup day.
+
+## Installation
+
+```bash
+pip install twentemilieu
+```
+
+## Usage
+
+```python
+import asyncio
+
+from twentemilieu import TwenteMilieu, WasteType
+
+
+async def main() -> None:
+ """Show example on stats from Twente Milieu."""
+ async with TwenteMilieu(post_code="1234AB", house_number=1) as twente:
+ unique_id = await twente.unique_id()
+ print("Unique Address ID:", unique_id)
+ pickups = await twente.update()
+ print("Next pickup for Non-recyclable:", pickup.get(WasteType.NON_RECYCLABLE))
+
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+## Changelog & Releases
+
+This repository keeps a change log using [GitHub's releases][releases]
+functionality. The format of the log is based on
+[Keep a Changelog][keepchangelog].
+
+Releases are based on [Semantic Versioning][semver], and use the format
+of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented
+based on the following:
+
+- ``MAJOR``: Incompatible or major changes.
+- ``MINOR``: Backwards-compatible new features and enhancements.
+- ``PATCH``: Backwards-compatible bugfixes and package updates.
+
+## Contributing
+
+This is an active open-source project. We are always open to people who want to
+use the code or contribute to it.
+
+We've set up a separate document for our
+[contribution guidelines](CONTRIBUTING.md).
+
+Thank you for being involved! :heart_eyes:
+
+## Setting up development environment
+
+This Python project is fully managed using the [Poetry][poetry] dependency manager. But also relies on the use of NodeJS for certain checks during development.
+
+You need at least:
+
+- Python 3.10+
+- [Poetry][poetry-install]
+- NodeJS 18+ (including NPM)
+
+To install all packages, including all development requirements:
+
+```bash
+npm install
+poetry install
+```
+
+As this repository uses the [pre-commit][pre-commit] framework, all changes
+are linted and tested with each commit. You can run all checks and tests
+manually, using the following command:
+
+```bash
+poetry run pre-commit run --all-files
+```
+
+To run just the Python tests:
+
+```bash
+poetry run pytest
+```
+
+## Authors & contributors
+
+The original setup of this repository is by [Franck Nijhof][frenck].
+
+For a full list of all authors and contributors,
+check [the contributor's page][contributors].
+
+## License
+
+MIT License
+
+Copyright (c) 2019-2023 Franck Nijhof
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+[build-shield]: https://github.com/frenck/python-twentemilieu/workflows/Continuous%20Integration/badge.svg
+[build]: https://github.com/frenck/python-twentemilieu/actions
+[codecov-shield]: https://codecov.io/gh/frenck/python-twentemilieu/branch/main/graph/badge.svg
+[codecov]: https://codecov.io/gh/frenck/python-twentemilieu
+[contributors]: https://github.com/frenck/python-twentemilieu/graphs/contributors
+[frenck]: https://github.com/frenck
+[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png
+[github-sponsors]: https://github.com/sponsors/frenck
+[keepchangelog]: http://keepachangelog.com/en/1.0.0/
+[license-shield]: https://img.shields.io/github/license/frenck/python-twentemilieu.svg
+[maintenance-shield]: https://img.shields.io/maintenance/yes/2023.svg
+[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png
+[patreon]: https://www.patreon.com/frenck
+[poetry-install]: https://python-poetry.org/docs/#installation
+[poetry]: https://python-poetry.org
+[pre-commit]: https://pre-commit.com/
+[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg
+[python-versions-shield]: https://img.shields.io/pypi/pyversions/twentemilieu
+[pypi]: https://pypi.org/project/twentemilieu
+[releases-shield]: https://img.shields.io/github/release/frenck/python-twentemilieu.svg
+[releases]: https://github.com/frenck/python-twentemilieu/releases
+[semver]: http://semver.org/spec/v2.0.0.html
+[sonarcloud-shield]: https://sonarcloud.io/api/project_badges/measure?project=frenck_python-twentemilieu&metric=alert_status
+[sonarcloud]: https://sonarcloud.io/summary/new_code?id=frenck_python-twentemilieu
+
+
+%package -n python3-twentemilieu
+Summary: Asynchronous Python client for Twente Milieu API.
+Provides: python-twentemilieu
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-twentemilieu
+# Python: Twente Milieu
+
+[![GitHub Release][releases-shield]][releases]
+[![Python Versions][python-versions-shield]][pypi]
+![Project Stage][project-stage-shield]
+![Project Maintenance][maintenance-shield]
+[![License][license-shield]](LICENSE.md)
+
+[![Build Status][build-shield]][build]
+[![Code Coverage][codecov-shield]][codecov]
+[![Quality Gate Status][sonarcloud-shield]][sonarcloud]
+
+[![Sponsor Frenck via GitHub Sponsors][github-sponsors-shield]][github-sponsors]
+
+[![Support Frenck on Patreon][patreon-shield]][patreon]
+
+Asynchronous Python client for the Twente Milieu API.
+
+## About
+
+This package allows you to request waste pickup days from Twente Milieu
+programmatically. It is mainly created to allow third-party programs to use
+or respond to this data.
+
+An excellent example of this might be Home Assistant, which allows you to write
+automations, e.g., play a Google Home announcement in the morning when it is
+trash pickup day.
+
+## Installation
+
+```bash
+pip install twentemilieu
+```
+
+## Usage
+
+```python
+import asyncio
+
+from twentemilieu import TwenteMilieu, WasteType
+
+
+async def main() -> None:
+ """Show example on stats from Twente Milieu."""
+ async with TwenteMilieu(post_code="1234AB", house_number=1) as twente:
+ unique_id = await twente.unique_id()
+ print("Unique Address ID:", unique_id)
+ pickups = await twente.update()
+ print("Next pickup for Non-recyclable:", pickup.get(WasteType.NON_RECYCLABLE))
+
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+## Changelog & Releases
+
+This repository keeps a change log using [GitHub's releases][releases]
+functionality. The format of the log is based on
+[Keep a Changelog][keepchangelog].
+
+Releases are based on [Semantic Versioning][semver], and use the format
+of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented
+based on the following:
+
+- ``MAJOR``: Incompatible or major changes.
+- ``MINOR``: Backwards-compatible new features and enhancements.
+- ``PATCH``: Backwards-compatible bugfixes and package updates.
+
+## Contributing
+
+This is an active open-source project. We are always open to people who want to
+use the code or contribute to it.
+
+We've set up a separate document for our
+[contribution guidelines](CONTRIBUTING.md).
+
+Thank you for being involved! :heart_eyes:
+
+## Setting up development environment
+
+This Python project is fully managed using the [Poetry][poetry] dependency manager. But also relies on the use of NodeJS for certain checks during development.
+
+You need at least:
+
+- Python 3.10+
+- [Poetry][poetry-install]
+- NodeJS 18+ (including NPM)
+
+To install all packages, including all development requirements:
+
+```bash
+npm install
+poetry install
+```
+
+As this repository uses the [pre-commit][pre-commit] framework, all changes
+are linted and tested with each commit. You can run all checks and tests
+manually, using the following command:
+
+```bash
+poetry run pre-commit run --all-files
+```
+
+To run just the Python tests:
+
+```bash
+poetry run pytest
+```
+
+## Authors & contributors
+
+The original setup of this repository is by [Franck Nijhof][frenck].
+
+For a full list of all authors and contributors,
+check [the contributor's page][contributors].
+
+## License
+
+MIT License
+
+Copyright (c) 2019-2023 Franck Nijhof
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+[build-shield]: https://github.com/frenck/python-twentemilieu/workflows/Continuous%20Integration/badge.svg
+[build]: https://github.com/frenck/python-twentemilieu/actions
+[codecov-shield]: https://codecov.io/gh/frenck/python-twentemilieu/branch/main/graph/badge.svg
+[codecov]: https://codecov.io/gh/frenck/python-twentemilieu
+[contributors]: https://github.com/frenck/python-twentemilieu/graphs/contributors
+[frenck]: https://github.com/frenck
+[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png
+[github-sponsors]: https://github.com/sponsors/frenck
+[keepchangelog]: http://keepachangelog.com/en/1.0.0/
+[license-shield]: https://img.shields.io/github/license/frenck/python-twentemilieu.svg
+[maintenance-shield]: https://img.shields.io/maintenance/yes/2023.svg
+[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png
+[patreon]: https://www.patreon.com/frenck
+[poetry-install]: https://python-poetry.org/docs/#installation
+[poetry]: https://python-poetry.org
+[pre-commit]: https://pre-commit.com/
+[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg
+[python-versions-shield]: https://img.shields.io/pypi/pyversions/twentemilieu
+[pypi]: https://pypi.org/project/twentemilieu
+[releases-shield]: https://img.shields.io/github/release/frenck/python-twentemilieu.svg
+[releases]: https://github.com/frenck/python-twentemilieu/releases
+[semver]: http://semver.org/spec/v2.0.0.html
+[sonarcloud-shield]: https://sonarcloud.io/api/project_badges/measure?project=frenck_python-twentemilieu&metric=alert_status
+[sonarcloud]: https://sonarcloud.io/summary/new_code?id=frenck_python-twentemilieu
+
+
+%package help
+Summary: Development documents and examples for twentemilieu
+Provides: python3-twentemilieu-doc
+%description help
+# Python: Twente Milieu
+
+[![GitHub Release][releases-shield]][releases]
+[![Python Versions][python-versions-shield]][pypi]
+![Project Stage][project-stage-shield]
+![Project Maintenance][maintenance-shield]
+[![License][license-shield]](LICENSE.md)
+
+[![Build Status][build-shield]][build]
+[![Code Coverage][codecov-shield]][codecov]
+[![Quality Gate Status][sonarcloud-shield]][sonarcloud]
+
+[![Sponsor Frenck via GitHub Sponsors][github-sponsors-shield]][github-sponsors]
+
+[![Support Frenck on Patreon][patreon-shield]][patreon]
+
+Asynchronous Python client for the Twente Milieu API.
+
+## About
+
+This package allows you to request waste pickup days from Twente Milieu
+programmatically. It is mainly created to allow third-party programs to use
+or respond to this data.
+
+An excellent example of this might be Home Assistant, which allows you to write
+automations, e.g., play a Google Home announcement in the morning when it is
+trash pickup day.
+
+## Installation
+
+```bash
+pip install twentemilieu
+```
+
+## Usage
+
+```python
+import asyncio
+
+from twentemilieu import TwenteMilieu, WasteType
+
+
+async def main() -> None:
+ """Show example on stats from Twente Milieu."""
+ async with TwenteMilieu(post_code="1234AB", house_number=1) as twente:
+ unique_id = await twente.unique_id()
+ print("Unique Address ID:", unique_id)
+ pickups = await twente.update()
+ print("Next pickup for Non-recyclable:", pickup.get(WasteType.NON_RECYCLABLE))
+
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+## Changelog & Releases
+
+This repository keeps a change log using [GitHub's releases][releases]
+functionality. The format of the log is based on
+[Keep a Changelog][keepchangelog].
+
+Releases are based on [Semantic Versioning][semver], and use the format
+of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented
+based on the following:
+
+- ``MAJOR``: Incompatible or major changes.
+- ``MINOR``: Backwards-compatible new features and enhancements.
+- ``PATCH``: Backwards-compatible bugfixes and package updates.
+
+## Contributing
+
+This is an active open-source project. We are always open to people who want to
+use the code or contribute to it.
+
+We've set up a separate document for our
+[contribution guidelines](CONTRIBUTING.md).
+
+Thank you for being involved! :heart_eyes:
+
+## Setting up development environment
+
+This Python project is fully managed using the [Poetry][poetry] dependency manager. But also relies on the use of NodeJS for certain checks during development.
+
+You need at least:
+
+- Python 3.10+
+- [Poetry][poetry-install]
+- NodeJS 18+ (including NPM)
+
+To install all packages, including all development requirements:
+
+```bash
+npm install
+poetry install
+```
+
+As this repository uses the [pre-commit][pre-commit] framework, all changes
+are linted and tested with each commit. You can run all checks and tests
+manually, using the following command:
+
+```bash
+poetry run pre-commit run --all-files
+```
+
+To run just the Python tests:
+
+```bash
+poetry run pytest
+```
+
+## Authors & contributors
+
+The original setup of this repository is by [Franck Nijhof][frenck].
+
+For a full list of all authors and contributors,
+check [the contributor's page][contributors].
+
+## License
+
+MIT License
+
+Copyright (c) 2019-2023 Franck Nijhof
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+[build-shield]: https://github.com/frenck/python-twentemilieu/workflows/Continuous%20Integration/badge.svg
+[build]: https://github.com/frenck/python-twentemilieu/actions
+[codecov-shield]: https://codecov.io/gh/frenck/python-twentemilieu/branch/main/graph/badge.svg
+[codecov]: https://codecov.io/gh/frenck/python-twentemilieu
+[contributors]: https://github.com/frenck/python-twentemilieu/graphs/contributors
+[frenck]: https://github.com/frenck
+[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png
+[github-sponsors]: https://github.com/sponsors/frenck
+[keepchangelog]: http://keepachangelog.com/en/1.0.0/
+[license-shield]: https://img.shields.io/github/license/frenck/python-twentemilieu.svg
+[maintenance-shield]: https://img.shields.io/maintenance/yes/2023.svg
+[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png
+[patreon]: https://www.patreon.com/frenck
+[poetry-install]: https://python-poetry.org/docs/#installation
+[poetry]: https://python-poetry.org
+[pre-commit]: https://pre-commit.com/
+[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg
+[python-versions-shield]: https://img.shields.io/pypi/pyversions/twentemilieu
+[pypi]: https://pypi.org/project/twentemilieu
+[releases-shield]: https://img.shields.io/github/release/frenck/python-twentemilieu.svg
+[releases]: https://github.com/frenck/python-twentemilieu/releases
+[semver]: http://semver.org/spec/v2.0.0.html
+[sonarcloud-shield]: https://sonarcloud.io/api/project_badges/measure?project=frenck_python-twentemilieu&metric=alert_status
+[sonarcloud]: https://sonarcloud.io/summary/new_code?id=frenck_python-twentemilieu
+
+
+%prep
+%autosetup -n twentemilieu-1.0.0
+
+%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-twentemilieu -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.0-1
+- Package Spec generated