Lattice
연구를 위한 작업공간
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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 |