Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
683 changes: 648 additions & 35 deletions LICENSE

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions LICENSE-MEDIA
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
idGuru — media and dataset licence
Copyright (c) 2025-2026 Kaj Maney / liquidGuru (liquidguru.com)

This file covers the NON-SOFTWARE material in this repository and any material
produced from the author's own footage, specifically:

- the screenshots and images under docs/
- any underwater video, still photography, or frame captures by the author
- any species index, dataset, or CSV export derived from that footage

These are licensed under the Creative Commons Attribution-NonCommercial 4.0
International License (CC BY-NC 4.0).

You are free to share and adapt this material for personal, educational and
non-commercial purposes, provided you give appropriate credit.
Commercial use requires written permission from the author.

Full licence: https://creativecommons.org/licenses/by-nc/4.0/
Contact: kaj@liquidguru.com

The SOFTWARE in this repository is licensed separately, under the GNU Affero
General Public License v3.0. See LICENSE.
21 changes: 19 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,9 +247,26 @@ This contains the SQLite database and thumbnail cache. Your original files are n

## Licence

Copyright (c) 2025 Kaj Maney / liquidGuru
Copyright (c) 2025-2026 Kaj Maney / liquidGuru

Licensed under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) — free for personal, non-commercial use with attribution. See [LICENSE](LICENSE) for full terms.
idGuru uses two licences, because the code and the footage are different things:

| What | Licence |
|---|---|
| **The software** — `underwater_indexer.py`, `idguru_main.py`, `launcher.pyw` | [AGPL-3.0](LICENSE) |
| **The media and datasets** — screenshots under `docs/`, the author's underwater footage, and any species index derived from it | [CC BY-NC 4.0](LICENSE-MEDIA) |

The code is free software: use it, modify it, run it, redistribute it. If you
distribute a modified version — or run one as a network service — the AGPL
requires you to make your source available under the same terms.

The underwater footage is a working videographer's archive and is *not* free
for commercial use. Commercial licensing of the media: kaj@liquidguru.com

> idGuru was previously released under CC BY-NC 4.0. That is not an
> OSI-approved open-source licence, so the software has been relicensed under
> the AGPL. Releases already distributed under CC BY-NC remain available under
> those terms.

---

Expand Down
2 changes: 1 addition & 1 deletion TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,6 @@ West Coast USA, East Coast USA, Australia / New Zealand, Mediterranean, Japan

## Distribution
- GitHub: https://github.com/liquidguru/idguru
- Licence: CC BY-NC 4.0 (free personal use, no commercial use without permission)
- Licence: AGPL-3.0 for the code; CC BY-NC 4.0 for footage/screenshots/datasets (see LICENSE-MEDIA)
- Contact: kaj@liquidguru.com
- Posted on: Wetpixel (March 2026)
21 changes: 21 additions & 0 deletions idguru_main.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
#!/usr/bin/env python3
# =============================================================================
# idGuru — AI-Powered Underwater Species Identifier
# Copyright (c) 2025-2026 Kaj Maney / liquidGuru (liquidguru.com)
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
# for more details. You should have received a copy of the licence along with
# this program. If not, see <https://www.gnu.org/licenses/>.
#
# The author's underwater footage, the screenshots under docs/, and any
# dataset derived from them are NOT covered by the AGPL and remain licensed
# under CC BY-NC 4.0. See LICENSE-MEDIA.
#
# Contact: kaj@liquidguru.com
# =============================================================================
"""
idGuru entry point for PyInstaller build.
Runs Flask server in background and shows a system tray icon.
Expand Down
22 changes: 21 additions & 1 deletion launcher.pyw
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
#!/usr/bin/env python3
# Copyright (c) 2025 Kaj Maney / liquidGuru (liquidguru.com) — CC BY-NC 4.0
# =============================================================================
# idGuru — AI-Powered Underwater Species Identifier
# Copyright (c) 2025-2026 Kaj Maney / liquidGuru (liquidguru.com)
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
# for more details. You should have received a copy of the licence along with
# this program. If not, see <https://www.gnu.org/licenses/>.
#
# The author's underwater footage, the screenshots under docs/, and any
# dataset derived from them are NOT covered by the AGPL and remain licensed
# under CC BY-NC 4.0. See LICENSE-MEDIA.
#
# Contact: kaj@liquidguru.com
# =============================================================================
"""
idGuru — Desktop Launcher
Place in same folder as idguru.py and double-click to run.
Expand Down
21 changes: 13 additions & 8 deletions underwater_indexer.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
#!/usr/bin/env python3
# =============================================================================
# idGuru — AI-Powered Underwater Species Identifier
# Copyright (c) 2025 Kaj Maney / liquidGuru (liquidguru.com)
# Copyright (c) 2025-2026 Kaj Maney / liquidGuru (liquidguru.com)
#
# This software is licensed under the Creative Commons
# Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# You are free to use and share this software for personal, non-commercial
# purposes, provided you give appropriate credit to the original author.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
# for more details. You should have received a copy of the licence along with
# this program. If not, see <https://www.gnu.org/licenses/>.
#
# Commercial use, redistribution as a paid product, or incorporation into
# a commercial service is prohibited without written permission from the author.
# The author's underwater footage, the screenshots under docs/, and any
# dataset derived from them are NOT covered by the AGPL and remain licensed
# under CC BY-NC 4.0. See LICENSE-MEDIA.
#
# Full licence: https://creativecommons.org/licenses/by-nc/4.0/
# Contact: kaj@liquidguru.com
# =============================================================================
import os, sys, json, sqlite3, base64, hashlib, subprocess, time, argparse, threading, queue, webbrowser
Expand Down
Loading