pypoller
Overview
pypoller is a lightweight and easy-to-use framework for polling a resource at regular intervals and providing notifications on any updates. It is designed to simplify the process of monitoring a remote service for changes and alerting users or systems when relevant updates occur.
Detailed docs available here.
Features
-
Polling: The library allows you to define a polling interval, specifying how frequently the resource should be checked for updates.
-
Notifications: When a change is detected in the service, the library supports customizable notification mechanisms. Currently messaging via Twilio is implemented.
-
Configurability: The library is highly configurable and extensible. Adding support for any notification mechanism or resource should be seamless.
Currently implemented resource checkers:
- US Visa appointments
- Parks Canada campsites
Currently implemented notifier:
- SMS (via Twilio)
- Rocket.Chat
All submodules can be used independently as well. For example, to check for availability of US Visa appointments:
UGANDA_EMBASSY = "en-ug"
SCHEDULE_ID = "50295138"
FACILITY_ID = "106"
USER_EMAIL = "user_email"
PASSWORD = "password"
# Initialize resource checker for US Visa availability
availability_checker = USVisaResourceChecker(
UGANDA_EMBASSY, SCHEDULE_ID, FACILITY_ID, USER_EMAIL, PASSWORD
)
date_range_request = DateRangeRequest(
start_date=dt.datetime(2024, 3, 14),
end_date=dt.datetime(2025, 7, 1),
)
response = availability_checker.check_resource(date_range_request)
Installation
pip install pypoller
For playwrigt (US Visa):
playwright install chromium
Usage
Refer to examples to learn how to use the library.
To provide twilio / rocketchat credentials for the examples, create a .env file by copying the env.sample file, and replace the placeholder twilio parameters to enable notifications via SMS.
Metadata
Release files for pypoller 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pypoller-0.1.6.tar.gz | 12.3 kB | Without provenance | Details for pypoller-0.1.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pypoller-0.1.6-py3-none-any.whl | Python 3 | none | any | Details for pypoller-0.1.6-py3-none-any.whl |
Total release size: 32.5 kB
Release files / pypoller-0.1.6.tar.gz
| Download URL | pypoller-0.1.6.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f0df2e64c8ce5207a1393a815357d327d1d74dfb27834ecdda8f1169bf3a495
|
|
BLAKE2b-256 checksum How to use checksums |
3bc3e24edd79e8d43010fb254cda7a933a09ea508c270a7c72f221a7876462bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Release files / pypoller-0.1.6-py3-none-any.whl
| Download URL | pypoller-0.1.6-py3-none-any.whl |
|---|---|
| Size | 20.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
681b6c9b3bcae1aeb0d9c323b1886f675ca1bfe85beab855e0f44a2555ee6a11
|
|
BLAKE2b-256 checksum How to use checksums |
7a336936206a48350d73ff7ba0c01147a268f8bed0948922da7c2e99797cdea0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Security for pypoller 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.