Skip to main content

PyJobShop logo

PyPI License CI DOC Codecov

PyJobShop is a Python library for solving scheduling problems with constraint programming. It currently supports the following scheduling problems:

  • Resource environments: single machines, parallel machines, hybrid flow shops, open shops, job shops, flexible job shops, renewable resources and non-renewable resources.
  • Constraints: release dates, deadlines, due dates, multiple modes, sequence-dependent setup times, no-wait, blocking, and arbitrary precedence constraints.
  • Objective functions: minimizing makespan, total flow time, number of tardy jobs, total tardiness, total earliness, maximum tardiness and maximum lateness.

You can find PyJobShop on the Python Package Index under the name pyjobshop. To install it, simply run:

pip install pyjobshop

The documentation is available here.

[!TIP] If you are new to scheduling or constraint programming, you might benefit from first reading the introduction to scheduling and introduction to constraint programming pages.

Constraint programming solvers

PyJobShop uses OR-Tools' CP-SAT solver as its default constraint programming solver. We also provide support for CP Optimizer. See our documentation for instructions on how to install PyJobShop with CP Optimizer.

Examples

We provide example notebooks that show how PyJobShop may be used to solve scheduling problems.

  • A short tutorial and introduction to PyJobShop's modeling interface, available here. This is a great way to get started with PyJobShop.
  • Notebooks solving the classical machine scheduling problems such as the hybrid flow shop (here) and the flexible job shop problem (here).
  • A notebook showing how to solve different project scheduling problems, here.

Contributing

We are very grateful for any contributions you are willing to make. Please have a look here to get started. If you aim to make a large change, it is helpful to discuss the change first in a new GitHub issue. Feel free to open one!

Getting help

Feel free to open an issue or a new discussion thread here on GitHub. Please do not e-mail us with questions, modeling issues, or code examples. Those are much easier to discuss via GitHub than over e-mail. When writing your issue or discussion, please follow the instructions here.

Release files for pyjobshop 0.0.3

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

Source distribution (sdist)

Source distribution for pyjobshop 0.0.3
File Size Uploaded
pyjobshop-0.0.3.tar.gz 42.6 kB Details

Built distribution (wheel)

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

Total release size: 95.1 kB

Release files / pyjobshop-0.0.3.tar.gz

Download URL pyjobshop-0.0.3.tar.gz
Size 42.6 kB
Tags Source
SHA-256 checksum
How to use checksums
dc49e810d14a5167c978a0618024788214877fb43947fac81f248b8ef5d9a437
BLAKE2b-256 checksum
How to use checksums
40a9874e85f8bcbd88b58581fd2cc478d67c53ab9cf4ab5d5deb1c5bf78e051e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.27

Release files / pyjobshop-0.0.3-py3-none-any.whl

Download URL pyjobshop-0.0.3-py3-none-any.whl
Size 52.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8639d325d2055f23cd5b76827c1cbda763a9d8a7c967c95e5c0ca7ab67a64ab6
BLAKE2b-256 checksum
How to use checksums
72e76c7ab6f2752f07178db26a3585ed64656c3aceac6e5ab8193f71ccc30ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.27
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