尚未检测到更新。GitHub 发布版本后会显示在这里。
Lab project: plan a day of shop-floor work from an ERP export, offline.
翻译准备中
正在加载完整 README。
查看完整 README ↗Keep the ERP. Review tomorrow's shop plan offline.
ShopShift is a desktop scheduling workbench for one planner at a small shop. Import a daily CSV/XLSX export, preserve manual starts and locks by stable operation ID, see why a plan conflicts, compare a scenario, and print or export a daily work list. The app has no account, server, telemetry, ERP write access or machine control.
Times read like a shop calendar (Mon 10/05 08:00), with the time zone shown once in the header. Lateness is in minutes and hours, late bars are orange, and the day view opens on working hours. Choose 한국어 in the toolbar and the whole window switches to Korean.
This is a bounded first release, not a replacement ERP. It is useful when fixed machines, fixed operators, precedence and explicit calendars describe your planning problem. See product limits and the evidence behind the scope.
Download an archive for your operating system from Releases. Extract the whole archive before launching. macOS archives contain ShopShift.app; Windows/Linux archives contain a ShopShift folder with its executable and supporting libraries. Binaries are unsigned and not notarized. Requirements, verification and library replacement instructions are in Distribution.
Or install from a source checkout with Python 3.12 or 3.13 (Python 3.14 is not supported). On macOS/Linux:
git clone https://github.com/rad1092/shopshift.git
cd shopshift
python3.12 -m venv .venv
.venv/bin/python -m pip install .
.venv/bin/shopshift --demo
On Windows PowerShell, after cloning and entering the checkout:
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install .
.\.venv\Scripts\shopshift.exe --demo
No shell activation or PowerShell execution-policy change is needed. Substitute 3.13 if that is your installed supported Python. For a first exercise, follow the demo and daily reimport walkthrough.
For reproducible development with uv:
uv sync --locked --extra dev
uv run shopshift --demo
uv run pytest
한국어 빠른 시작 · Import format · Validator API · Privacy
Suggestions use official OR-Tools CP-SAT, one worker and a time budget. Every candidate is checked again by an independent validator. The objective minimizes total per-operation tardiness and makespan, weighted by the two priority sliders (equal by default). Optimality is only for that model and objective. Status and review are explicit; no result becomes a production commitment automatically.
One operation runs continuously through setup and run time and reserves its assigned machine and optional operator for the entire duration. It cannot cross calendar holes or be automatically split. The model excludes material/inventory constraints, alternate machines, employee skills, sequence-dependent setup, subcontracting, live machine state and multiple planners. Uncertain work may still be easier to manage on a whiteboard.
Projects/backups are local, unencrypted JSON. Previous saves are retained as .bak. Read-only CSV/HTML snapshots are intended for sharing or discussion and can become stale. See Privacy.
uv run ruff check .
QT_QPA_PLATFORM=offscreen uv run pytest
uv run shopshift --smoke-test artifacts/smoke
uv run python scripts/comparison_ortools.py
Qt offscreen is optional on a desktop and useful in headless CI. Release builds run tests and launch the extracted packaged app and an installed wheel on Linux, Windows and macOS. Test evidence and measured scope validation are in docs/ and workflow artifacts; see verification notes.
Application source: MIT. Bundled Qt/PySide libraries use their own licenses, including LGPLv3; third-party dependencies are not relicensed by this repository. Runtime notices and corresponding-source archives accompany binary releases. See THIRD_PARTY_NOTICES.