Skip to main content

Contributors Forks Stargazers Issues MIT License PyPI Version Maintainability


Plombery

Python task scheduler with a user-friendly web UI
Official website »

GitHub · Report Bug

About The Project

Plombery is a simple task scheduler for Python with a web UI and a REST API, if you need to run and monitor recurring python scripts then it's the right tool for you!

Plombery Screen Shot

This project is at its beginning, so it can be shaped and improved with your feedback and help! If you like it, star it 🌟! If you want a feature or find a bug, open an issue.

Features

  • ⏰ Task scheduling based on APScheduler (supports Interval, Cron and Date triggers)
  • 💻 Built-in Web interface, no HTML/JS/CSS coding required
  • 👩‍💻🐍 Pipelines and tasks are defined in pure Python
  • 🎛️ Pipelines can be parametrized via Pydantic
  • 👉 Pipelines can be run manually from the web UI
  • 🔐 Secured via OAuth2
  • 🔍 Debug each run exploring logs and output data
  • 📩 Monitor the pipelines and get alerted if something goes wrong
  • 💣 Use the REST API for advanced integrations

When you shouldn't use it:

  • you need a lot of scalability and you want to run on a distributed system
  • you want a no-code tool or you don't want to use Python

(back to top)

Built With

Python TypeScript React

(back to top)

🚀 Getting Started

Check the 👉 official website to get started with Plombery.

🎮 Try on GitHub Codespaces

Try Plombery with some demo pipelines on GitHub Codespaces:

Get Started on Codespaces

Codespaces are development environments that run in the cloud so you can run a project without cloning it, installing deps etc, here's an how to:

  • Go to the the lucafaggianelli/plombery GitHub page
  • Click on the green Code button on the top right
  • Choose the Codespaces tab
  • Click on create new codespace from main or reuse an existing one
  • A new page will open at github.dev, wait for the environment build
  • Once your codespace is ready you'll see an interface similar to VSCode
  • Some commands will be run in the terminal to build the frontend etc., wait for their completion
  • If everything went well, Plombery home page will be open in a new browser tab
  • Changes in the Python code will be immediately reflected in the web page, like if you were developing on your laptop

🧐 Show me the code

This is how it looks a minimalist pipeline:

Minimal code
I know you want to see it!

🛣 Roadmap

See the open issues for a full list of proposed features (and known issues).

(back to top)

👩‍💻 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Development

Clone a fork of this repo and start your dev environment.

Create a python virtual environment:

python -m venv .venv
# on Mac/Linux
source .venv/bin/activate
# on Win
.venv/Script/activate

and install the dependencies:

pip install ".[dev]"

for development purposes, it's useful to run the example application:

cd examples/

# Create a venv for the example app
python -m venv .venv
source .venv/bin/activate
pip install -r requirements

./run.sh
# or ./run.ps1 on windows

The React frontend is in the frontend/ folder, enter the folder and install the dependencies:

cd frontend/
# The project uses pnpm as dependency manager, if you don't have
# it, you must install it.
# This command will install the deps:
pnpm

run the development server:

pnpm dev

Documentation

The documentation website is based on MkDocs Material, the source code is in the docs/ folder and the config is in the mkdocs.yml file.

To run a local dev server, run:

mkdocs serve

Testing

Tests are based on pytest, to run the entire suite just run:

pytest

To run tests coverage, run:

coverage run -m pytest
coverage report -m

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/lucafaggianelli/plombery

(back to top)

Acknowledgments

Plombery is built on top of amazing techs:

(back to top)

Star History

Star History Chart

Metadata

Release files for plombery 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plombery 0.5.2
File Size Uploaded
plombery-0.5.2.tar.gz 831.3 kB Details

Built distribution (wheel)

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

Total release size: 1.7 MB

Release files / plombery-0.5.2.tar.gz

Download URL plombery-0.5.2.tar.gz
Size 831.3 kB
Tags Source
SHA-256 checksum
How to use checksums
68c4746c995ad18938b93d58f109f19ad6da65f3bcd6b1d76f23a95f149f89a0
BLAKE2b-256 checksum
How to use checksums
fc339baa5db470b9c77c3181346ce3240db47d460c7dd1e9e38f965b95883729
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 29, 2025.

Transparency log

Release files / plombery-0.5.2-py3-none-any.whl

Download URL plombery-0.5.2-py3-none-any.whl
Size 840.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59f7a75fdb686a9b5f18e8f13016be9758e53f5cb8e11bc7df4f0e794ece5f4b
BLAKE2b-256 checksum
How to use checksums
704b318c0058e3c5052d0c8dbf80615b1a53e7c558c377fd24aa9ab6ff852cbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 29, 2025.

Transparency log
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