{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/9"},{"label":"Scientific/Engineering","url":"https://skillfed.io/packages/category/scientific-engineering/8"}],"enrichment":{"capability":"An in-process job scheduler for Python that supports asyncio, threading, and timezone-aware execution with flexible scheduling rules (cyclic intervals, fixed times, weekdays, dates, weights, offsets, and execution counts).","skillfed_tags":["task-scheduling","asyncio-compatible","timezone-aware"],"use_cases":["Schedule periodic background tasks (data cleanup, report generation) within a web application or service without external job queues.","Implement recurring asyncio tasks with timezone support in async applications.","Define complex scheduling rules (e.g., 'run every Monday at 4:30 PM in a specific timezone') with a readable API.","Batch and prioritize multiple jobs, then execute them in a controlled order within your own event loop.","Build lightweight automation scripts that need to run tasks on fixed intervals or specific dates without external dependencies."],"what_it_does":"Scheduler is a lightweight, in-process job scheduling library that lets you define and execute tasks on recurring or one-time schedules without external dependencies like Celery or APScheduler. It supports both asyncio and threading models, making it suitable for embedding directly into Python applications. You define jobs using a fluent API (e.g., `schedule.daily()`, `schedule.weekly()`, `schedule.cyclic()`), then call `exec_jobs()` periodically to run pending tasks. The library handles timezone-aware scheduling, job prioritization, tagging, and batching.\n\nThe package is designed for scenarios where you want scheduling logic inside your own process rather than delegating to a separate service. It depends only on typeguard for runtime type checking and supports Python 3.10 through 3.14. The codebase is actively maintained (latest release in February 2026) and includes high test coverage. It's classified as Beta but has been in development since late 2021.","worth_installing":"Yes, if you need in-process job scheduling without external services and can accept the LGPL-3.0 copyleft license. Low install friction, active maintenance, no known vulnerabilities, and support for modern Python versions make it a solid choice for embedded scheduling. Not suitable if you require a proprietary license or need distributed scheduling across multiple processes."},"id":"scheduler","links":{"html":"https://skillfed.io/packages/scheduler","md":"https://skillfed.io/packages/scheduler.md","pypi":"https://pypi.org/project/scheduler/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-02-15","license_spdx":"LGPL-3.0-only","license_treatment":"copyleft","name":"scheduler","python_support":"supports_current","summary":"A simple in-process python scheduler library with asyncio, threading and timezone support."},"popularity":{"monthly_downloads":104078,"position":12769,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.8.11"}
