Skip to main content

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.

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)

Source distribution for pypoller 0.1.6
File Size Uploaded
pypoller-0.1.6.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypoller 0.1.6
File Interpreter ABI Platform
pypoller-0.1.6-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page