Web Based Image Sorter
- Vue 59.8%
- Python 35.1%
- TypeScript 3.4%
- CSS 1%
- HTML 0.5%
- Other 0.2%
| cosszy | ||
| frontend | ||
| specs | ||
| tests | ||
| .gitignore | ||
| AGENT.md | ||
| cosszy.example.yml | ||
| justfile | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Cosszy
A simple web based image sorter. Browse a source folder of images, rate and select them, then bulk-move them into subfolders of a destination set (or to trash). There is no database or saved state — everything is driven by the configuration YAML.
Configuration
Copy cosszy.example.yml to cosszy.yml and edit the folders:
cosszy:
web:
port: 8080
address: 0.0.0.0
folders:
sources:
- /media/storage/phone-photos
- /media/storage/dslr-photos
destination_sets:
- /media/array/photo_storage
- /foo/bar/other_sort_location
trash: /media/storage/sort-trash
The config file is selected with --config (default cosszy.yml).
Running
just run # build the SPA into public/ then start the web server
Other recipes:
just pack— build the Vue single page app intopublic/just dev— run the Vite dev server (proxies/apito the backend on :8080)just test— run the pytest suite
Layout
cosszy/— Python backend (Flask + waitress, served withpython -m cosszy)frontend/— Vue 3 + Vite source for the single page apppublic/— compiled SPA (build output, git-ignored)tests/— pytest unit tests
License
Cosszy is licensed under the GNU Affero General Public License v3.0 or later. See LICENSE for the full text.