Skip to main content

production / job shop / resource scheduler for Python

Project description

PlanBee 🐝

If Plan A fails, dont worry there is always PlanBee! PlanBee is a Job Shop Scheduling algorithm module buzzing with features. Feed PlanBee with your tasks and resources and it quickly finds a solution. It employs the high-speed computation power of NumPy to achieve fast results. With PlanBee, Plan B becomes your Plan A!

Features 🚀

  • Define your own tasks and resources.
  • Specify available windows for each resource.
  • Indicate priority, duration, and necessary resources for each task.
  • Solve your scheduling problems with a single function call!
  • Get a detailed summary and visualization of the scheduling solution.

Installation 🛠️

pip install planbee

Usage 🐍

First, import the necessary modules:

from PlanBee import Resource, Task, Scheduler

Then, define your resources:

resource1 = Resource(id=1, available_windows=[(0, 10), (15, 20)])
resource2 = Resource(id=2, available_windows=[(5, 20)])

And your tasks:

task1 = Task(id=1, duration=5, priority=1, resources=[resource1, resource2], resource_count=1)
task2 = Task(id=2, duration=3, priority=2, resources=[resource1], predecessors=[task1], resource_count=1)

Finally, use the Scheduler to solve:

scheduler = Scheduler(tasks=[task1, task2])
result = scheduler.schedule()

Visualization 📊

PlanBee provides a function to plot your schedule:

result.plot_resource_plan()

Contributions 💡

Contributions are always welcome! See CONTRIBUTING.md for ways to get started.

License 📄

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

planbee-0.2.1.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

planbee-0.2.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file planbee-0.2.1.tar.gz.

File metadata

  • Download URL: planbee-0.2.1.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for planbee-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a4386f3d87e752bed953cdbfb1e4f4e313c04c38430035cc23d7957372613903
MD5 d89d19a712a913b967063ede438bb2d8
BLAKE2b-256 05d712f1fb0ef3a0cd43014e4cc4446acecf226d3e0f6cf50afb08a9f69b50d8

See more details on using hashes here.

File details

Details for the file planbee-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: planbee-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for planbee-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e08237a14837a81d8aaacf321866896ca9e29ab3731971f7ea8be328a2e2251
MD5 c6be9b6576e5c7cea68696aed8531dcd
BLAKE2b-256 6a2b10eace53153d529358aabec31cab2be4d9cc37342b8bad2d75d970a37488

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page