production / job shop / resource scheduler for Python
Project description
📅 factryengine
factryengine is a high-speed Python package for effortless and efficient task scheduling, specifically tailored for production scheduling. Built with numpy, it ensures tasks are executed in the correct order while considering their priorities, resources, and dependencies.
🛠 Installation
Install factryengine with a simple pip command:
pip install factryengine
🌟 Features
- ⚡ Fast Performance: Built with
numpyfor high-speed task scheduling. - 🏭 Production Scheduling: Specifically designed for seamless production scheduling.
- 📝 Simple Task Creation: Easily define tasks with attributes like duration, priority, and resources.
- 🛠️ Resource Management: Assign resources with availability windows to tasks.
- 🔄 Task Dependencies: Ensure tasks that depend on others are scheduled in the correct order.
- 📅 Efficient Scheduling: Automatically schedule tasks while considering their priorities and dependencies.
🚀 Quick Start
Get started with factryengine with this basic example:
from factryengine import Task, Resource, Scheduler
# Creating a Resource object
resource = Resource(id=1, available_windows=[(0,10)])
# Creating Task objects
task1 = Task(id=1, duration=3, priority=2, constraints=[resource])
task2 = Task(id=2, duration=5, priority=1, constraints=[resource], predecessor_ids=[1])
# Creating a Scheduler object and scheduling the tasks
scheduler = Scheduler(tasks=[task1, task2], resources=[resource])
scheduler_result = scheduler.schedule()
In this example, task1 is scheduled before task2 as task2 depends on task1, despite its lower priority.
📖 Documentation
For more detailed information, check out the documentation.
🤝 Contributing
Contributions, issues, and feature requests are welcome!
📝 License
This project is MIT licensed.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file factryengine-0.3.3.tar.gz.
File metadata
- Download URL: factryengine-0.3.3.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e98cb0921fa299542146df241124a005ed63f2820623a22352250fed8841c511
|
|
| MD5 |
2700ffc5f284b21ad2a2474c2b92be1d
|
|
| BLAKE2b-256 |
9d1b905d1e692f6d5458fb0f7fc90d55c7d22453d353219449512000ab2f20e4
|
File details
Details for the file factryengine-0.3.3-py3-none-any.whl.
File metadata
- Download URL: factryengine-0.3.3-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dccf5c86852509fad29c34c96756281ce4c58d1f969a54900a1e193083a2afe3
|
|
| MD5 |
875d05812339454b429ec3e1aadc3378
|
|
| BLAKE2b-256 |
79a91a843c2199667184a73bb29ed7a4267732384a4facc46ec61a2c4ce091ee
|