diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-twentemilieu.spec | 569 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 571 insertions, 0 deletions
@@ -0,0 +1 @@ +/twentemilieu-1.0.0.tar.gz 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 @@ -0,0 +1 @@ +5e3a0d5d3ed94bc2bc7df701e694035a twentemilieu-1.0.0.tar.gz |
