Core classes for scheduling problems' definition
Project description
schore
schore is a lightweight Python library providing core classes for scheduling problems.
- Parameter management: Transform tabular or textual input into structured parameters for scheduling problems.
- Schedule management: Abstract base classes for defining and managing schedule data.
โจ Modules
Data Management
from schore.data import DfManager, Table2DManager
DfManager: Base class for managing a DataFrame.Table2DManager: Manages a 2D table represented as a DataFrame.
Parameter Management
from schore.parameters import JobStageProcessingTimeManager, JobMachineProcessingTimeManager
JobStageProcessingTimeManager: Manages a 2D DataFrame with stages as columns and jobs as rows.JobMachineProcessingTimeManager: Manages a 2D DataFrame with machines as columns and jobs as rows.
Schedule Management
from schore.schedule.abstract import Activity, Resource, ResourceGroup, ParallelResourceGroup
Activity: Represents a scheduled operation (in shop environments) or a job (in single/parallel machine environments).Resource: Represents a single resource (e.g., machine or worker).ResourceGroup: Manages a group of resources collectively.ParallelResourceGroup: Manages a group of resources that can operate in parallel.
These abstract base classes help you define, extend, and manage schedule-related data structures for various scheduling problems.
Utility
from schore.util import TextDataParser
TextDataParser: Parses text data from a stream.
Visualization
from schore import GanttPlotter
GanttPlotter: General-purpose Gantt chart plotter for schedule visualization.- Supports group/resource/activity color modes.
- Configurable layout, legend, and figure sizing.
Examples
from schore.parameters_examples.parallel_shop.identical_flow import HybridFlowshopParameters
HybridFlowshopParameters: Parameter class for a hybrid flowshop with identical parallel machines at each stage.
๐งช Testing
To run the tests, use the following command:
pytest tests/
Installation
pip:
pip install schore
If you use uv as your Python package manager:
uv add schore
๐ ๏ธ Repository Structure
โโโ src/
โ โโโ schore/
โ โโโ data/
โ โ โโโ df_manager.py
โ โ โโโ table_2d_manager.py
โ โโโ gantt_plotter.py
โ โโโ parameters/
โ โ โโโ processing_time/
โ โ โโโ job_mc_p.py
โ โ โโโ job_stage_p.py
โ โโโ parameters_examples/
โ โ โโโ parallel/
โ โ โโโ parallel_shop/
โ โ โ โโโ identical_flow/
โ โ โ โโโ hybrid_flowshop.py
โ โ โโโ shop/
โ โ โ โโโ flow/
โ โ โ โโโ flowshop.py
โ โ โ โโโ flowshop_duedate.py
โ โ โโโ single/
โ โโโ schedule/
โ โ โโโ abstract/
โ โ โโโ activity.py
โ โ โโโ resource.py
โ โ โโโ resource_group.py
โ โ โโโ parallel_resource_group.py
โ โโโ schedule_examples/
โ โ โโโ machine.py
โ โ โโโ parallel/
โ โ โโโ parallel_shop/
โ โ โ โโโ identical_flow/
โ โ โ โโโ hybrid_flowshop_operation.py
โ โ โ โโโ hybrid_flowshop_machine.py
โ โ โ โโโ hybrid_flowshop_stage.py
โ โ โ โโโ hybrid_flowshop_schedule.py
โ โ โโโ shop/
โ โ โ โโโ flow/
โ โ โ โโโ flowshop_operation.py
โ โ โ โโโ flowshop_schedule.py
โ โ โ โโโ flowshop_stage.py
โ โ โโโ single/
โ โโโ util/
โ โ โโโ text_data_parser.py
โ โโโ type_aliases.py
โ โโโ type_defs.py
โโโ tests/
โ โโโ data/
โ โ โโโ test_df_manager.py
โ โ โโโ test_table_2d_manager.py
โ โโโ examples/
โ โ โโโ parallel_shop/
โ โ โ โโโ test_hybrid_flowshop.py
โ โ โโโ shop/
โ โ โโโ flow/
โ โ โโโ test_flowshop_duedate.py
โ โโโ manager/
โ โ โโโ test_job_machine_processing_time_manager.py
โ โ โโโ test_job_stage_processing_time_manager.py
โ โโโ schedule/
โ โ โโโ abstract/
โ โ โโโ test_activity.py
โ โ โโโ test_resource.py
โ โโโ schedule_examples/
โ โ โโโ parallel_shop/
โ โ โ โโโ identical_flow/
โ โ โ โโโ test_hybrid_flowshop_schedule.py
โ โ โโโ shop/
โ โ โโโ flow/
โ โ โโโ test_hybrid_flowshop_schedule.py
โ โโโ util/
โ โโโ test_text_data_parser.py
License
This project is licensed under the MIT License. See the LICENSE file for details.
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 schore-0.0.6.tar.gz.
File metadata
- Download URL: schore-0.0.6.tar.gz
- Upload date:
- Size: 85.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be60ff7b427688f788b575c857e0235dbe9d7d8c9493e9916e5e33fafb2d4433
|
|
| MD5 |
84330b1522af219320f9bf51a9fbe073
|
|
| BLAKE2b-256 |
3dd6f89a8d820efc3d510bf538c5a5c16061600c35dd9d73e11ea507b2f790b5
|
File details
Details for the file schore-0.0.6-py3-none-any.whl.
File metadata
- Download URL: schore-0.0.6-py3-none-any.whl
- Upload date:
- Size: 45.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
847cdce5d234be1d341aa2d751a5f048a9c88f75db0c1de37207c1225b05eee4
|
|
| MD5 |
d6945a03abff6d52be45f9dadefb9dc6
|
|
| BLAKE2b-256 |
4eb2b749d2d9f13e7149928219faf7e3dc165052818b23b1f86f74ffee4ed840
|