Metadata-Version: 2.1
Name: factryengine
Version: 0.2.2
Summary: production / job shop / resource scheduler for Python
Home-page: https://github.com/Yacobolo/factryengine
Author: Jacob Østergaard Nielsen
Author-email: jaoe@oestergaard-as.dk
License: UNKNOWN
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:
        
        ```bash
        pip install factryengine
        ```
        
        ## 🌟 Features
        
        - **Fast Performance**: Built with `numpy` for 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:
        
        ```python
        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, resources=[[resource]])
        task2 = Task(id=2, duration=5, priority=1, resources=[[resource]], predecessors=[task1])
        
        # Creating a Scheduler object and scheduling the tasks
        scheduler = Scheduler(tasks=[task1, task2])
        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](https://yacobolo.github.io/factryengine/).
        
        ## 🤝 Contributing
        
        Contributions, issues, and feature requests are welcome!
        
        ## 📝 License
        
        This project is [MIT](link_to_license) licensed.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: testing
