skillfed

sqlalchemy-celery-beat

A Scheduler Based SQLalchemy For Celery

sqlalchemy-celery-beat v0.8.4 91.1K downloads/30d#13,537 on PyPI81
Permissive license MIT AGING released

What it is and what it does

sqlalchemy-celery-beat replaces Celery Beat's in-memory scheduler with a database-backed alternative, storing periodic task definitions in SQLAlchemy-compatible databases like SQLite, MySQL, or PostgreSQL. This allows you to add, modify, and disable scheduled tasks without restarting the beat process—a capability similar to django-celery-beat but for non-Django applications like Flask or FastAPI.

The package provides models for interval-based schedules (every N seconds/minutes/hours/days) and crontab-based schedules, letting you define periodic tasks programmatically through your application code. You configure a database URI in your Celery config, and the scheduler queries that database at runtime to determine which tasks to execute. It depends on celery, sqlalchemy, tzdata for timezone handling, and ephem for astronomical calculations.

Use it for:

  • Store Celery periodic tasks in a database for Flask or FastAPI applications that need Django-like scheduling without Django.
  • Dynamically add or modify scheduled tasks at runtime without restarting the Celery beat process.
  • Run multiple beat instances against the same database to coordinate task scheduling across a distributed system.
  • Use crontab-style schedules with timezone awareness for tasks that must run at specific times across regions.
  • Manage task arguments and expiry times through database records instead of configuration files.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a SQLAlchemy-backed scheduler for Celery that stores periodic task definitions in a relational database instead of configuration files, allowing dynamic task scheduling without restarting the beat process.

Yes, with conditions. Install if you need dynamic Celery task scheduling in a non-Django application and can accept that the project is in Alpha with 451 days since the last release. The low install friction and permissive MIT license are favorable, and there are no known vulnerabilities. However, verify compatibility with your specific celery and sqlalchemy versions before production use, and monitor the repository for updates given the aging maintenance status.

Install

sqlalchemy-celery-beat on PyPI

pip

pip install sqlalchemy-celery-beat

uv

uv add sqlalchemy-celery-beat

poetry

poetry add sqlalchemy-celery-beat

Installing sqlalchemy-celery-beat

Before you install

Low friction install with four straightforward runtime dependencies. Maintenance status is aging—last release was 451 days ago—but the repository remains active and unarchived with recent commits, suggesting the project is maintained but not actively developed.

License in practice

MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.

Quickstart

pip install sqlalchemy-celery-beat

from sqlalchemy_celery_beat.models import PeriodicTask, IntervalSchedule, Period
from sqlalchemy_celery_beat.session import SessionManager

session_manager = SessionManager()
session = session_manager.session_factory('sqlite:///schedule.db')

schedule = IntervalSchedule(every=10, period=Period.SECONDS)
session.add(schedule)
session.commit()

task = PeriodicTask(
    schedule_model=schedule,
    name='my_task',
    task='proj.tasks.my_task'
)
session.add(task)
session.commit()

Requires celery >= 5.0 and sqlalchemy >= 1.4 to be installed separately before use.

Verify before relying

  • Whether the aging maintenance status (451 days since last release) affects compatibility with recent celery or sqlalchemy versions
  • Production readiness and stability guarantees given the Alpha development status classifier

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 4 — celery, sqlalchemy, tzdata, ephem
Maintenance aging — 451 days since the last release
Last repo commit
First released
Downloads 91,145/month — #13,537 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sqlalchemy_celery_beat-0.8.4-py3-none-any.whl

Keywords: celery, scheduler, sqlalchemy, beat

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries

Tags

celery beat database schedulersqlalchemy celery periodic tasksdynamic celery task schedulingcelery beat without djangopersistent celery schedule storagecelery scheduler sqlalchemymanage celery tasks in database
celery-schedulertask-orchestrationdatabase-backed

More Libraries packages