lannotex 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. lannotex-0.1.0/CHANGELOG.md +98 -0
  2. lannotex-0.1.0/LICENSE +21 -0
  3. lannotex-0.1.0/LICENSES/GPL-3.0-only.txt +674 -0
  4. lannotex-0.1.0/LICENSES/LGPL-3.0-only.txt +165 -0
  5. lannotex-0.1.0/LICENSES/Qt-GPL-exception-1.0.txt +22 -0
  6. lannotex-0.1.0/LICENSES/THIRD_PARTY_NOTICES.md +11 -0
  7. lannotex-0.1.0/Lannotex.spec +44 -0
  8. lannotex-0.1.0/MANIFEST.in +9 -0
  9. lannotex-0.1.0/PKG-INFO +204 -0
  10. lannotex-0.1.0/README.md +162 -0
  11. lannotex-0.1.0/docs/MICROSOFT_STORE.md +16 -0
  12. lannotex-0.1.0/docs/PERFORMANCE.md +36 -0
  13. lannotex-0.1.0/docs/ROADMAP.md +42 -0
  14. lannotex-0.1.0/docs/TEAM.md +69 -0
  15. lannotex-0.1.0/docs/VERIFICATION.md +44 -0
  16. lannotex-0.1.0/docs/cli.md +97 -0
  17. lannotex-0.1.0/docs/getting-started/installation.md +95 -0
  18. lannotex-0.1.0/docs/getting-started/quickstart.md +60 -0
  19. lannotex-0.1.0/docs/guide/annotating.md +65 -0
  20. lannotex-0.1.0/docs/guide/import-export.md +69 -0
  21. lannotex-0.1.0/docs/guide/projects.md +52 -0
  22. lannotex-0.1.0/docs/index.md +72 -0
  23. lannotex-0.1.0/docs/migrate-from-labelme.md +62 -0
  24. lannotex-0.1.0/pyproject.toml +81 -0
  25. lannotex-0.1.0/requirements-windows-build.txt +13 -0
  26. lannotex-0.1.0/run_lannotex.py +4 -0
  27. lannotex-0.1.0/scripts/benchmark.py +70 -0
  28. lannotex-0.1.0/scripts/build_linux.sh +8 -0
  29. lannotex-0.1.0/scripts/build_macos.sh +8 -0
  30. lannotex-0.1.0/scripts/build_windows.ps1 +21 -0
  31. lannotex-0.1.0/scripts/collect_notices.py +25 -0
  32. lannotex-0.1.0/scripts/verify_executable.py +27 -0
  33. lannotex-0.1.0/setup.cfg +4 -0
  34. lannotex-0.1.0/src/lannotex/__init__.py +2 -0
  35. lannotex-0.1.0/src/lannotex/__main__.py +4 -0
  36. lannotex-0.1.0/src/lannotex/app.py +924 -0
  37. lannotex-0.1.0/src/lannotex/canvas.py +289 -0
  38. lannotex-0.1.0/src/lannotex/cli.py +97 -0
  39. lannotex-0.1.0/src/lannotex/domain.py +119 -0
  40. lannotex-0.1.0/src/lannotex/exporters.py +212 -0
  41. lannotex-0.1.0/src/lannotex/home.py +130 -0
  42. lannotex-0.1.0/src/lannotex/models.py +51 -0
  43. lannotex-0.1.0/src/lannotex/py.typed +0 -0
  44. lannotex-0.1.0/src/lannotex/storage.py +241 -0
  45. lannotex-0.1.0/src/lannotex/team.py +248 -0
  46. lannotex-0.1.0/src/lannotex/theme.py +58 -0
  47. lannotex-0.1.0/src/lannotex/workers.py +124 -0
  48. lannotex-0.1.0/src/lannotex.egg-info/PKG-INFO +204 -0
  49. lannotex-0.1.0/src/lannotex.egg-info/SOURCES.txt +58 -0
  50. lannotex-0.1.0/src/lannotex.egg-info/dependency_links.txt +1 -0
  51. lannotex-0.1.0/src/lannotex.egg-info/entry_points.txt +3 -0
  52. lannotex-0.1.0/src/lannotex.egg-info/requires.txt +9 -0
  53. lannotex-0.1.0/src/lannotex.egg-info/top_level.txt +1 -0
  54. lannotex-0.1.0/tests/test_cli.py +46 -0
  55. lannotex-0.1.0/tests/test_domain.py +43 -0
  56. lannotex-0.1.0/tests/test_exporters.py +63 -0
  57. lannotex-0.1.0/tests/test_storage.py +69 -0
  58. lannotex-0.1.0/tests/test_team.py +94 -0
  59. lannotex-0.1.0/tests/test_ui.py +148 -0
  60. lannotex-0.1.0/tests/test_workflows.py +55 -0
@@ -0,0 +1,98 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here. The format is based on
4
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project
5
+ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.1.0] — 2026-10-14
10
+
11
+ First public release on PyPI: `pip install lannotex` or `uv tool install lannotex`.
12
+ Standalone builds for Windows, macOS, and Linux are attached to the GitHub release.
13
+
14
+ ### Added
15
+
16
+ - Documentation site (MkDocs Material) with install, quick start, user guide, CLI
17
+ reference, and a LabelMe migration guide; deployed to GitHub Pages.
18
+ - Issue forms, pull request template, Dependabot, and `CITATION.cff`.
19
+
20
+ ### Fixed
21
+
22
+ - `pip install` / `uv tool install` failed on Python 3.14: runtime dependencies are now
23
+ ranges (`PySide6-Essentials>=6.8.3,<7`, `Pillow>=11.1`) instead of exact pins. The
24
+ smaller `PySide6-Essentials` replaces the full `PySide6` bundle.
25
+ - Buttons and menus showed "Save next" and "Keyboard preferences": `&` is now escaped.
26
+ - Test runs added temporary folders to the real recent-projects list. Settings are now
27
+ stored in an INI file, so tests can isolate them. Earlier preferences are not migrated.
28
+ - Fonts follow the operating system instead of a hard-coded Segoe UI.
29
+ - The class list no longer clips rows on newer Qt versions.
30
+ - Version strings in exports, the team server, and window titles come from one place.
31
+
32
+ ### Changed
33
+
34
+ - CI tests Python 3.11–3.14 and checks a `uv tool install` on every OS.
35
+
36
+ ## [0.0.2] — 2026-10-14
37
+
38
+ ### Desktop workflow refresh (local working tree)
39
+
40
+ - Home screen with Create, Continue, recent projects, and explicit pipeline presets.
41
+ - Monochrome white/black themes; classification, detection and segmentation expose only relevant controls.
42
+ - Optional simultaneous team collaboration: host service, reviewer access tokens, revocation, local outbox, incremental sync, conflict resolution, and saved annotation history.
43
+ - Forward migrations for revision and reviewer data; stale saves cannot silently replace newer work.
44
+ - Native Qt interaction and two-client integration tests, including failed writes, PNG imports, all export formats, and native round trips.
45
+ - Fixed PNG validation after EXIF inspection, trigger-inflated import counts, and backup relocation of relative image references.
46
+ - Added reproducible image-import, decode, metadata-cache and memory benchmark.
47
+
48
+ ### Added
49
+
50
+ - Project renamed **LabelReview → Lannotex** across the codebase, packaging,
51
+ exports, and documentation (`lannotex` PyPI package, `lannotex` console
52
+ script, `Lannotex.spec`, `src/lannotex/`).
53
+ - Real command-line interface (`lannotex` / `python -m lannotex`):
54
+ - `lannotex` — launch the desktop app (default)
55
+ - `lannotex gui --smoke-test` — bounded Qt event-loop smoke test
56
+ - `lannotex export <project> <dest> [--format ...]` — headless export
57
+ - `lannotex analyze <project>` — headless validation report as JSON
58
+ - `lannotex new <folder>` — create an empty project
59
+ - Cross-platform distribution story:
60
+ - `scripts/build_macos.sh` and `scripts/build_linux.sh` alongside the Windows
61
+ PowerShell build.
62
+ - GitHub Actions CI (`ci.yml`) running tests on Windows/macOS/Linux ×
63
+ Python 3.11/3.12.
64
+ - GitHub Actions release workflow building and attaching PyInstaller
65
+ artifacts for all three operating systems on tags.
66
+ - PyPI publishing metadata: classifiers, keywords, license file, project URLs,
67
+ and a `MANIFEST.in` for complete sdists.
68
+ - Ruff linting (pyflakes + syntax errors) wired into `pyproject.toml` and CI.
69
+ - Community files: `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, and
70
+ `docs/ROADMAP.md`.
71
+
72
+ ### Changed
73
+
74
+ - Export metadata renamed from `labelreview`/`labelreview_id` to
75
+ `lannotex`/`lannotex_id`; import still accepts the legacy `labelreview`
76
+ keys so old Labelme files keep working.
77
+ - Window/brand strings, QSettings organization, and the smoke-test
78
+ environment variable now use `Lannotex`/`LANNOTEX_SMOKE_RESULT`.
79
+ - Expanded test coverage (see `tests/`) for domain, storage, exporters, and CLI.
80
+
81
+ ### Fixed
82
+
83
+ - `LICENSE` now contains the MIT text that `pyproject.toml` and the README
84
+ declare (the file previously held the Boost Software License 1.0).
85
+ - Repository URLs, badges, and clone instructions now point at the real
86
+ `Lourdhu02/Lannotex` remote instead of a non-existent `Lannotex/Lannotex`.
87
+ - Removed the broken `docs/screenshot.png` reference from the README.
88
+ - Security and conduct reports now use GitHub channels instead of the
89
+ placeholder `@lannotex.dev` addresses.
90
+ - The release workflow only publishes to PyPI on a manual dispatch with
91
+ `publish` enabled; tag pushes build and attach binaries only.
92
+
93
+ ## [0.0.1] — 2026-10-14
94
+
95
+ - Initial offline PySide6 desktop application.
96
+ - SQLite project persistence with an explicit migration table and transactional annotation saves.
97
+ - Folder import for JPEG, PNG, and WebP; normalized box and polygon annotations.
98
+ - Labelme, YOLO and COCO conversion primitives plus geometry/persistence tests.
lannotex-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Lourdhu Raju
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.