尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Jednoduchý PDM pro spolupráci na projektech ve složkách na běžném síťovém úložišti. Nepotřebuje
server, databázový stroj ani uživatelské účty – stačí síťový disk s právy zápisu a SPM.exe
nakopírovaný na počítače uživatelů (bez instalace, plug & play).
Na jednom projektu může pracovat víc lidí současně – zamyká se po jednotlivých souborech. Každý pracuje v místní kopii projektu; změny se na server dostanou odevzdáním (s komentářem a zálohou předchozí verze).
Hlavní akce jsou jen dvě (F3 nebo dvojklik na název projektu podle stavu spustí tu vhodnou):
<projekt>_puvodni_<datum>. Bez vybraného
souboru převzít nejde.Další chování:
( ) & , . ; = ^) se hlásí a takové soubory
nejdou odevzdat.* = cokoliv,
bez ohledu na velikost písmen a diakritiku), rozbalit / sbalit, rozbalit aktivní složky.
Kopírovat / Vyjmout / Vložit a přetahování myší (i do a z Průzkumníka; dočasné kopie se
připraví, až si o soubory řekne jiný program).@uživatel, #projekt,
vyřízení) a Vzkazy mezi uživateli nevázané na projekt; vzkaz zůstává otevřený, dokud ho
autor neoznačí jako dokončený (i když ho adresát už vyřídil), dokončené se po čase archivují.BEFORE / po nahrání):
zrcadlení do projektu jiné záložky (MIRROR), kopie, ZIP, textové soubory, dotazy na
uživatele… Editor s nápovědou, hledáním (Ctrl+F, F3) a zkušebním během. Změny jazyka musí
zůstat zpětně kompatibilní se staršími skripty.<síťová složka>/.spm/archiv (jen oprávnění
uživatelé) a obnova z archivu._puvodni_ / _obnova_ lze přesunout do Koše.<síťová složka>/spm_config.json – pokud existuje, řídí nastavení všech uživatelů dané síťové
složky (zálohy, ignorované soubory, kontrola názvů, archivace, oprávnění…); v aplikaci jsou
taková nastavení zamčená.spm_config.json ("usage_report": false); upozornění na
novou verzi funguje i s vypnutou statistikou. Web statistiky je ve složce web/.Dvojklikem na SPM.bat. Při prvním spuštění skript sám vytvoří .venv a nainstaluje závislosti.
Ručně (Python 3.13):
py -3.13 -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
.venv\Scripts\python.exe -m spm
Testy: .venv\Scripts\python.exe -m pytest -q tests
build.bat vytvoří dist\SPM\SPM.exe a zip dist\SPM-<verze>.zip (~30 MB). Zip stačí na cílovém
PC rozbalit do složky s právem zápisu (např. C:\SPM, ne Program Files) a spustit SPM.exe.
Nastavení se ukládá do settings.json vedle SPM.exe, vlastní skripty do scripts\.
Aktualizace = rozbalit nový zip přes stávající složku (nastavení zůstane).
\\server\projekty\ síťová složka s projekty (jedna záložka)
spm_config.json společné nastavení (volitelné)
.spm_users\<login>.json adresář uživatelů (jméno, přezdívka, počítač, verze SPM)
.spm\vzkazy\... vzkazy mezi uživateli (_archiv = dokončené)
.spm\archiv\*.zip archivované projekty
.spm\scripts\*.spm síťové skripty (CALL SERVER)
ProjektA\
.spm\project.db SQLite – soubory, zámky, sezení, odevzdání, změny, poznámky,
zrcadla, běhy skriptů
.spm\active\*.json kdo má projekt aktivovaný (pro rychlé zobrazení v seznamu)
.spm\write.lock existuje jen během krátkého zápisu do databáze
.spm\comment.json komentář projektu
.spm\backup\... předchozí verze: soubor.backup01, .backup02, … (posledních N)
.spm\trash\<sezení>\ soubory smazané během daného sezení
...soubory projektu...
V místním úložišti: místní kopie projektů (<projekt>\.spm\manifest.json – z jaké verze pochází),
složky <projekt>_puvodni_<datum> (odsunuté při aktivaci) a <projekt>_obnova_<datum>
(obnova ze zálohy), .spm_scripts\ (nedokončené běhy skriptů) a .spm_notes\.
| Modul | Účel |
|---|---|
spm/sync.py | aktivace, převzetí, odevzdání, aktualizace, deaktivace, publikování, zálohy, koš |
spm/db.py | schéma a přístup k databázi projektu |
spm/lock.py | značky aktivních uživatelů a zámek zápisu do databáze (O_CREAT | O_EXCL) |
spm/manifest.py | místní záznam, z jaké verze na serveru pochází místní kopie |
spm/scanner.py | procházení složek, SHA-256, bezpečné kopírování přes dočasný soubor |
spm/matcher.py | detekce přejmenovaných souborů (hash + podobnost názvu/velikosti/složky) |
spm/names.py | nepovolené znaky v názvech |
spm/file_locks.py | které programy mají soubory otevřené (Restart Manager) |
spm/restore.py | obnova projektu ze záloh k zvolenému odevzdání |
spm/archive.py | archivace projektů do zipu a obnova z archivu |
spm/storage.py | místo zabrané zálohami a košem, úklid, zbytky nedokončených operací |
spm/mirror.py | zrcadlení souborů do projektu jiné záložky (příkaz MIRROR) |
spm/notes.py, spm/messages.py, spm/mentions.py | poznámky k projektu, vzkazy, zmínky |
spm/comment.py | komentář projektu |
spm/users.py, spm/identity.py | adresář uživatelů síťové složky, identita uživatele a počítače |
spm/config.py, spm/shared_config.py | místní settings.json a společný spm_config.json |
spm/folder_ops.py, spm/folder_zones.py, spm/zip_ops.py | záložka Složka, chráněné oblasti, ZIP |
spm/recycle.py | mazání do Koše Windows |
spm/usage.py | anonymní statistika a kontrola nové verze |
Copyright © 2026 Ondřej Vopravil, všechna práva vyhrazena. Aplikaci lze bezplatně používat
(i komerčně) a šířit v nezměněné podobě; je poskytována tak, jak je, bez záruk – podmínky
v LICENSE.txt. Licence součástí třetích stran (Qt / PySide6 – LGPL-3.0,
Python, PyInstaller) jsou ve složce licenses\.
spm/scripting/ | jazyk skriptů: rozbor (lang), provádění (runtime), uložení (store), nápověda |
spm/gui/ | PySide6 rozhraní |
tools/make_icon.py | ikona aplikace (--web = ikony webu) |
web/ | PHP web se statistikou používání a stažením aktuální verze |