mmu-cli 0.1.0.dev0__tar.gz → 0.1.1__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 (152) hide show
  1. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/.gitignore +301 -269
  2. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/LICENSE +674 -674
  3. mmu_cli-0.1.1/PKG-INFO +217 -0
  4. mmu_cli-0.1.1/README.md +159 -0
  5. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/THIRD-PARTY-NOTICES.md +72 -72
  6. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/pyproject.toml +387 -280
  7. mmu_cli-0.1.1/requirements.txt +55 -0
  8. mmu_cli-0.1.1/src/mixed_media_utility/__init__.py +1 -0
  9. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/cadence_previz.py +1997 -1954
  10. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/cli.py +5325 -5192
  11. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/codec_profiles.py +2373 -2173
  12. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/color_calibration.py +4303 -4250
  13. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/color_metrics.py +1314 -1314
  14. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/color_pipeline.py +387 -387
  15. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/constants.py +5 -5
  16. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/declaration_de_rush.py +1335 -1335
  17. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/detection/__init__.py +35 -35
  18. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/detection/aruco.py +463 -463
  19. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/encode.py +3204 -3202
  20. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/encode_master.py +724 -684
  21. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/encode_previz.py +1976 -1976
  22. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/extraction.py +1723 -1723
  23. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/extraction_previz.py +1002 -1002
  24. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/ffmpeg_utils.py +629 -629
  25. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/frame_selection.py +994 -994
  26. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gamut_map.py +393 -393
  27. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/__init__.py +6 -6
  28. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/__main__.py +102 -102
  29. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/application.py +125 -125
  30. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/atelier_scan.py +639 -639
  31. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/barre_de_vue.py +310 -310
  32. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/cartes_taches.py +214 -214
  33. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/catalogue.py +399 -399
  34. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/chargeur_detections.py +119 -119
  35. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/chutier.py +1153 -1153
  36. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/coquille.py +1384 -1384
  37. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/depot_projets.py +266 -266
  38. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/ecran_projet.py +958 -958
  39. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/executeur.py +193 -193
  40. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/feuille_application.py +257 -257
  41. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/jetons.py +432 -432
  42. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/lecture_detection.py +431 -431
  43. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/modele_chutier.py +680 -680
  44. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/modele_projets.py +279 -279
  45. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/modele_zone_tampon.py +478 -478
  46. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/preferences_projets.py +98 -98
  47. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/raster_de_page.py +153 -153
  48. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/scan_jugement.py +1351 -1351
  49. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/surimpressions.py +520 -520
  50. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/gui/zone_tampon.py +587 -587
  51. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/__init__.py +67 -67
  52. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/calibration_profile.py +1316 -1316
  53. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/encode_manifest.py +940 -940
  54. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/extraction_manifest.py +2018 -2018
  55. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/manifest.py +318 -304
  56. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/metadata_matrix.py +237 -237
  57. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/naming.py +1516 -1516
  58. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/payload.py +1334 -1334
  59. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/pdf_manifest.py +483 -483
  60. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/profile_designation.py +478 -478
  61. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/project_layout.py +660 -660
  62. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/reconstruction.py +1120 -1097
  63. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/scan_manifest.py +2216 -2216
  64. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/io/version_ranks.py +164 -164
  65. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/layout.py +313 -313
  66. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/makepdf.py +1097 -1097
  67. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/numeric_guards.py +44 -44
  68. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/page_payload.py +360 -360
  69. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/page_roles.py +149 -149
  70. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/page_templates.py +2701 -2701
  71. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/patch_presets.py +1599 -1599
  72. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/patch_values.py +1018 -1018
  73. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/pdf_composition.py +2763 -2763
  74. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/pdf_previz.py +1017 -1017
  75. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/pdf_render.py +417 -417
  76. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/previz_common.py +361 -361
  77. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/progression.py +340 -340
  78. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/project_inventory.py +1213 -1213
  79. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/project_maintenance.py +2995 -2805
  80. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/qr_codes.py +920 -920
  81. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/relink.py +634 -634
  82. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_calibrate.py +855 -662
  83. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_chain.py +239 -239
  84. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_corrections.py +1166 -1166
  85. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_crop.py +481 -481
  86. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_detect.py +1395 -1395
  87. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_detection.py +1432 -1432
  88. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_ingest.py +2428 -1974
  89. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_output_frames.py +2238 -2238
  90. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_previz.py +3113 -3113
  91. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_sorting.py +825 -825
  92. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/scan_write.py +2298 -2298
  93. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/source_confirmation.py +1225 -1225
  94. mmu_cli-0.1.1/src/mixed_media_utility/specs/project.schema.json +999 -0
  95. mmu_cli-0.1.1/src/mixed_media_utility/specs/project.schema.legacy.json +52 -0
  96. mmu_cli-0.1.1/src/mixed_media_utility/specs/project.schema.v2-0.json +323 -0
  97. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/__init__.py +14 -14
  98. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/__main__.py +370 -370
  99. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/aide_de_champ.py +492 -492
  100. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/ajout_de_rush.py +1497 -1497
  101. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_confirmation.py +779 -779
  102. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_execution.py +880 -880
  103. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_lot.py +1401 -1401
  104. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_parcours.py +1188 -1188
  105. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_reglages.py +1098 -1098
  106. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_resultat.py +730 -730
  107. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_exports_versions.py +892 -892
  108. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_extraction.py +2810 -2810
  109. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_extraction_ecriture.py +3477 -3477
  110. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf.py +676 -676
  111. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_calibration.py +1980 -1980
  112. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_confirmation.py +845 -845
  113. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_execution.py +997 -997
  114. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_lots.py +761 -761
  115. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_parcours.py +1477 -1477
  116. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_reglages.py +775 -775
  117. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_resultat.py +768 -768
  118. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_pdf_versions.py +1258 -1258
  119. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan.py +1682 -1682
  120. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_calibrate.py +2725 -2705
  121. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_calibration.py +1250 -1250
  122. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_completion.py +1235 -1235
  123. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_confirmation.py +915 -915
  124. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_detection.py +1169 -951
  125. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_ecriture.py +975 -975
  126. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_parcours.py +2297 -2149
  127. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_rapport.py +648 -648
  128. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/atelier_scan_resultat.py +767 -767
  129. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/avancement.py +206 -206
  130. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/cadences.py +937 -937
  131. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/coque.py +1052 -1052
  132. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/ecran_ateliers.py +264 -264
  133. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/ecran_manuel.py +582 -582
  134. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/ecran_projet.py +1245 -1228
  135. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/execution.py +2351 -2351
  136. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/explorateur.py +2119 -1684
  137. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/jetons.py +1082 -1082
  138. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/manuel.py +513 -513
  139. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/noms.py +319 -319
  140. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/palier_profil_defaut.py +1204 -1204
  141. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/palier_projet.py +469 -469
  142. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/panneau.py +393 -393
  143. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/projet_inventaire.py +2522 -2453
  144. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/projet_lecture.py +373 -373
  145. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/projet_medias.py +335 -335
  146. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/projet_suppression.py +2987 -2601
  147. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/projets.py +447 -447
  148. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/tui/rushes.py +1181 -1181
  149. {mmu_cli-0.1.0.dev0 → mmu_cli-0.1.1}/src/mixed_media_utility/video_metadata.py +416 -416
  150. mmu_cli-0.1.0.dev0/PKG-INFO +0 -118
  151. mmu_cli-0.1.0.dev0/README.md +0 -61
  152. mmu_cli-0.1.0.dev0/src/mixed_media_utility/__init__.py +0 -1
@@ -1,269 +1,301 @@
1
- # Byte-compiled / optimized / DLL files
2
- __pycache__/
3
- *.py[codz]
4
- *$py.class
5
-
6
- # C extensions
7
- *.so
8
-
9
- # Distribution / packaging
10
- .Python
11
- build/
12
- develop-eggs/
13
- dist/
14
- downloads/
15
- eggs/
16
- .eggs/
17
- lib/
18
- lib64/
19
- parts/
20
- sdist/
21
- var/
22
- wheels/
23
- share/python-wheels/
24
- *.egg-info/
25
- .installed.cfg
26
- *.egg
27
- MANIFEST
28
-
29
- # PyInstaller
30
- # Usually these files are written by a python script from a template
31
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
- *.manifest
33
- *.spec
34
-
35
- # Installer logs
36
- pip-log.txt
37
- pip-delete-this-directory.txt
38
-
39
- # Unit test / coverage reports
40
- htmlcov/
41
- .tox/
42
- .nox/
43
- .coverage
44
- .coverage.*
45
- .cache
46
- nosetests.xml
47
- coverage.xml
48
- *.cover
49
- *.py.cover
50
- .hypothesis/
51
- .pytest_cache/
52
- cover/
53
-
54
- # mutmut (mutation testing) : bac a sable et cache de campagne, jamais commites
55
- mutants/
56
- .mutmut-cache*
57
-
58
- # Translations
59
- *.mo
60
- *.pot
61
-
62
- # Django stuff:
63
- *.log
64
- local_settings.py
65
- db.sqlite3
66
- db.sqlite3-journal
67
-
68
- # Flask stuff:
69
- instance/
70
- .webassets-cache
71
-
72
- # Scrapy stuff:
73
- .scrapy
74
-
75
- # Sphinx documentation
76
- docs/_build/
77
-
78
- # PyBuilder
79
- .pybuilder/
80
- target/
81
-
82
- # Jupyter Notebook
83
- .ipynb_checkpoints
84
-
85
- # IPython
86
- profile_default/
87
- ipython_config.py
88
-
89
- # pyenv
90
- # For a library or package, you might want to ignore these files since the code is
91
- # intended to run in multiple environments; otherwise, check them in:
92
- # .python-version
93
-
94
- # pipenv
95
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
97
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
98
- # install all needed dependencies.
99
- # Pipfile.lock
100
-
101
- # UV
102
- # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
103
- # This is especially recommended for binary packages to ensure reproducibility, and is more
104
- # commonly ignored for libraries.
105
- # uv.lock
106
-
107
- # poetry
108
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
109
- # This is especially recommended for binary packages to ensure reproducibility, and is more
110
- # commonly ignored for libraries.
111
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
112
- # poetry.lock
113
- # poetry.toml
114
-
115
- # pdm
116
- # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
117
- # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
118
- # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
119
- # pdm.lock
120
- # pdm.toml
121
- .pdm-python
122
- .pdm-build/
123
-
124
- # pixi
125
- # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
126
- # pixi.lock
127
- # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
128
- # in the .venv directory. It is recommended not to include this directory in version control.
129
- .pixi
130
-
131
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
132
- __pypackages__/
133
-
134
- # Celery stuff
135
- celerybeat-schedule
136
- celerybeat.pid
137
-
138
- # Redis
139
- *.rdb
140
- *.aof
141
- *.pid
142
-
143
- # RabbitMQ
144
- mnesia/
145
- rabbitmq/
146
- rabbitmq-data/
147
-
148
- # ActiveMQ
149
- activemq-data/
150
-
151
- # SageMath parsed files
152
- *.sage.py
153
-
154
- # Environments
155
- .env
156
- .envrc
157
- .venv
158
- env/
159
- venv/
160
- ENV/
161
- env.bak/
162
- venv.bak/
163
-
164
- # Spyder project settings
165
- .spyderproject
166
- .spyproject
167
-
168
- # Rope project settings
169
- .ropeproject
170
-
171
- # mkdocs documentation
172
- /site
173
-
174
- # mypy
175
- .mypy_cache/
176
- .dmypy.json
177
- dmypy.json
178
-
179
- # Pyre type checker
180
- .pyre/
181
-
182
- # pytype static type analyzer
183
- .pytype/
184
-
185
- # Cython debug symbols
186
- cython_debug/
187
-
188
- # PyCharm
189
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
190
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
191
- # and can be added to the global gitignore or merged into this file. For a more nuclear
192
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
193
- # .idea/
194
-
195
- # Abstra
196
- # Abstra is an AI-powered process automation framework.
197
- # Ignore directories containing user credentials, local state, and settings.
198
- # Learn more at https://abstra.io/docs
199
- .abstra/
200
-
201
- # Visual Studio Code
202
- # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
203
- # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
204
- # and can be added to the global gitignore or merged into this file. However, if you prefer,
205
- # you could uncomment the following to ignore the entire vscode folder
206
- # .vscode/
207
- # Temporary file for partial code execution
208
- tempCodeRunnerFile.py
209
-
210
- # Ruff stuff:
211
- .ruff_cache/
212
-
213
- # PyPI configuration file
214
- .pypirc
215
-
216
- # Marimo
217
- marimo/_static/
218
- marimo/_lsp/
219
- __marimo__/
220
-
221
- # Streamlit
222
- .streamlit/secrets.toml
223
-
224
- # .claude/skills/ etait ignore ici (jonction locale vers .agents/skills, deja
225
- # versionnes la-bas). Reversé le 2026-08-05, sur decision d'Egan: dans un
226
- # environnement distant (claude.ai/code), chaque session repart d'un clone
227
- # frais du depot, donc un dossier non suivi disparaissait a chaque nouvelle
228
- # session. Les liens symboliques commites ici sont legers (le blob ne porte
229
- # que la cible du lien, jamais une copie de SKILL.md): .agents/skills/ reste
230
- # la seule source de contenu, .claude/skills/ n'est qu'un index de decouverte
231
- # que Claude Code sait scanner nativement.
232
-
233
- # Etat local de Claude Code, propre a la machine et jamais partageable:
234
- # settings.local.json porte des chemins absolus Windows et l'URL du proxy
235
- # headroom; .headroom_wrap_marker.json est un marqueur de session vivante
236
- # (pid + port), reecrit a chaque demarrage. La config partagee du depot reste
237
- # .claude/settings.json, qui lui est versionne.
238
- .claude/settings.local.json
239
- .claude/.headroom_wrap_marker.json
240
-
241
- # Apercus de correction couleur: 35 Mo regenerables en une commande
242
- # (scripts/research/preview_color_correction.py --images)
243
- _bmad-output/test-artifacts/apercu-correction/
244
- mixed_media_utility.code-workspace
245
-
246
- # Captures de l'interface (scripts/gui/capturer_ecrans.py). Elles se
247
- # regenerent en une commande et changent a chaque passe de chrome : les
248
- # versionner ferait un diff binaire a chaque commit de design.
249
- captures-gui/
250
-
251
- # Journal de la sonde clavier jetable (vague 1 bis) : une sortie de mesure,
252
- # regeneree a chaque lancement, jamais un livrable.
253
- _bmad-output/planning-artifacts/ux-designs/*/trace_clavier.log
254
-
255
- # Bancs de mesure des agents (revues, campagnes de mutation). Regeneres a
256
- # chaque campagne, et une copie d arbre y pese jusqu a 4,5 Go : une couche de
257
- # revue en a laisse 5309 fichiers non suivis le 2026-08-28, que git status
258
- # rendait illisible. Les mesures vivent dans les rapports, pas ici.
259
- scratchpad/
260
- # Les courses de scripts/mesure/mesure.py : des mesures, pas des sources.
261
- .mesures/
262
-
263
- # --- Dossier de travail local, JAMAIS versionne (arbitrage Egan, 2026-09-03) ---
264
- # `projects/` porte les rushes, scans et planches reels. Il portait 97 % du volume
265
- # Git LFS du depot (2 217 Mo) et AUCUN test ne le lisait -- les occurrences de
266
- # `projects/` dans `tests/` sont toutes dans des commentaires. Verbatim d Egan :
267
- # << c est un dossier qui a vocation a rester local, tout fichier qui devra etre
268
- # partage devra passer par tests/ >>.
269
- projects/
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[codz]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py.cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # mutmut (mutation testing) : bac a sable et cache de campagne, jamais commites
55
+ mutants/
56
+ .mutmut-cache*
57
+
58
+ # Translations
59
+ *.mo
60
+ *.pot
61
+
62
+ # Django stuff:
63
+ *.log
64
+ local_settings.py
65
+ db.sqlite3
66
+ db.sqlite3-journal
67
+
68
+ # Flask stuff:
69
+ instance/
70
+ .webassets-cache
71
+
72
+ # Scrapy stuff:
73
+ .scrapy
74
+
75
+ # Sphinx documentation
76
+ docs/_build/
77
+
78
+ # PyBuilder
79
+ .pybuilder/
80
+ target/
81
+
82
+ # Jupyter Notebook
83
+ .ipynb_checkpoints
84
+
85
+ # IPython
86
+ profile_default/
87
+ ipython_config.py
88
+
89
+ # pyenv
90
+ # For a library or package, you might want to ignore these files since the code is
91
+ # intended to run in multiple environments; otherwise, check them in:
92
+ # .python-version
93
+
94
+ # pipenv
95
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
97
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
98
+ # install all needed dependencies.
99
+ # Pipfile.lock
100
+
101
+ # UV
102
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
103
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
104
+ # commonly ignored for libraries.
105
+ # TRANCHE ICI le 2026-09-10 : ce depot declare ses dependances dans
106
+ # `requirements.txt` et `pyproject.toml`, et `uv` n'apparait dans AUCUN
107
+ # workflow, AUCUNE page de documentation et AUCUN script. Le `uv.lock`
108
+ # versionne jusque-la portait TROIS lignes et verrouillait ZERO paquet :
109
+ # il annoncait une chaine d'outillage qui n'existe pas.
110
+ uv.lock
111
+
112
+ # poetry
113
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
114
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
115
+ # commonly ignored for libraries.
116
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
117
+ # poetry.lock
118
+ # poetry.toml
119
+
120
+ # pdm
121
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
122
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
123
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
124
+ # pdm.lock
125
+ # pdm.toml
126
+ .pdm-python
127
+ .pdm-build/
128
+
129
+ # pixi
130
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
131
+ # pixi.lock
132
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
133
+ # in the .venv directory. It is recommended not to include this directory in version control.
134
+ .pixi
135
+
136
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
137
+ __pypackages__/
138
+
139
+ # Celery stuff
140
+ celerybeat-schedule
141
+ celerybeat.pid
142
+
143
+ # Redis
144
+ *.rdb
145
+ *.aof
146
+ *.pid
147
+
148
+ # RabbitMQ
149
+ mnesia/
150
+ rabbitmq/
151
+ rabbitmq-data/
152
+
153
+ # ActiveMQ
154
+ activemq-data/
155
+
156
+ # SageMath parsed files
157
+ *.sage.py
158
+
159
+ # Environments
160
+ .env
161
+ .envrc
162
+ .venv
163
+ env/
164
+ venv/
165
+ ENV/
166
+ env.bak/
167
+ venv.bak/
168
+
169
+ # Spyder project settings
170
+ .spyderproject
171
+ .spyproject
172
+
173
+ # Rope project settings
174
+ .ropeproject
175
+
176
+ # mkdocs documentation
177
+ /site
178
+
179
+ # mypy
180
+ .mypy_cache/
181
+ .dmypy.json
182
+ dmypy.json
183
+
184
+ # Pyre type checker
185
+ .pyre/
186
+
187
+ # pytype static type analyzer
188
+ .pytype/
189
+
190
+ # Cython debug symbols
191
+ cython_debug/
192
+
193
+ # PyCharm
194
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
195
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
196
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
197
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
198
+ # .idea/
199
+
200
+ # Abstra
201
+ # Abstra is an AI-powered process automation framework.
202
+ # Ignore directories containing user credentials, local state, and settings.
203
+ # Learn more at https://abstra.io/docs
204
+ .abstra/
205
+
206
+ # Visual Studio Code
207
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
208
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
209
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
210
+ # you could uncomment the following to ignore the entire vscode folder
211
+ # .vscode/
212
+ # Temporary file for partial code execution
213
+ tempCodeRunnerFile.py
214
+
215
+ # Ruff stuff:
216
+ .ruff_cache/
217
+
218
+ # PyPI configuration file
219
+ .pypirc
220
+
221
+ # Marimo
222
+ marimo/_static/
223
+ marimo/_lsp/
224
+ __marimo__/
225
+
226
+ # Streamlit
227
+ .streamlit/secrets.toml
228
+
229
+ # .claude/skills/ etait ignore ici (jonction locale vers .agents/skills, deja
230
+ # versionnes la-bas). Reversé le 2026-08-05, sur decision d'Egan: dans un
231
+ # environnement distant (claude.ai/code), chaque session repart d'un clone
232
+ # frais du depot, donc un dossier non suivi disparaissait a chaque nouvelle
233
+ # session. Les liens symboliques commites ici sont legers (le blob ne porte
234
+ # que la cible du lien, jamais une copie de SKILL.md): .agents/skills/ reste
235
+ # la seule source de contenu, .claude/skills/ n'est qu'un index de decouverte
236
+ # que Claude Code sait scanner nativement.
237
+
238
+ # Etat local de Claude Code, propre a la machine et jamais partageable:
239
+ # settings.local.json porte des chemins absolus Windows et l'URL du proxy
240
+ # headroom; .headroom_wrap_marker.json est un marqueur de session vivante
241
+ # (pid + port), reecrit a chaque demarrage. La config partagee du depot reste
242
+ # .claude/settings.json, qui lui est versionne.
243
+ .claude/settings.local.json
244
+ .claude/.headroom_wrap_marker.json
245
+
246
+ # Apercus de correction couleur: 35 Mo regenerables en une commande
247
+ # (scripts/research/preview_color_correction.py --images)
248
+ _bmad-output/test-artifacts/apercu-correction/
249
+ mixed_media_utility.code-workspace
250
+
251
+ # Captures de l'interface (scripts/gui/capturer_ecrans.py). Elles se
252
+ # regenerent en une commande et changent a chaque passe de chrome : les
253
+ # versionner ferait un diff binaire a chaque commit de design.
254
+ captures-gui/
255
+
256
+ # Journal de la sonde clavier jetable (vague 1 bis) : une sortie de mesure,
257
+ # regeneree a chaque lancement, jamais un livrable.
258
+ _bmad-output/planning-artifacts/ux-designs/*/trace_clavier.log
259
+
260
+ # Bancs de mesure des agents (revues, campagnes de mutation). Regeneres a
261
+ # chaque campagne, et une copie d arbre y pese jusqu a 4,5 Go : une couche de
262
+ # revue en a laisse 5309 fichiers non suivis le 2026-08-28, que git status
263
+ # rendait illisible. Les mesures vivent dans les rapports, pas ici.
264
+ scratchpad/
265
+ # Les courses de scripts/mesure/mesure.py : des mesures, pas des sources.
266
+ .mesures/
267
+ # Les worktrees que le harnais cree pour isoler un agent (`isolation: worktree`).
268
+ # Meme motif que `scratchpad/` juste au-dessus, et le meme ordre de grandeur :
269
+ # une revue en trois couches en ouvre TROIS, chacune etant une copie complete de
270
+ # l arbre. Ils sont deja des arbres git a part entiere -- les versionner
271
+ # reviendrait a commiter le depot dans le depot. Pose le 2026-09-08, quand la
272
+ # revue de la story 8.10 les a fait apparaitre en non suivis.
273
+ .claude/worktrees/
274
+
275
+ # --- Dossier de travail local, JAMAIS versionne (arbitrage Egan, 2026-09-03) ---
276
+ # `projects/` porte les rushes, scans et planches reels. Il portait 97 % du volume
277
+ # Git LFS du depot (2 217 Mo) et AUCUN test ne le lisait -- les occurrences de
278
+ # `projects/` dans `tests/` sont toutes dans des commentaires. Verbatim d Egan :
279
+ # << c est un dossier qui a vocation a rester local, tout fichier qui devra etre
280
+ # partage devra passer par tests/ >>.
281
+ projects/
282
+
283
+ # --- Residus de racine retires le 2026-09-10 (LOT 4A du nettoyage) ---
284
+ # Trois familles mesurees SANS LECTEUR -- zero construction de chemin sur l AST
285
+ # de `tests/`, `src/` et `scripts/`, et zero lecture ailleurs.
286
+ #
287
+ # `temp/` : quatre comptes rendus d experience d aout 2026 plus un brief. Ils
288
+ # ne sont LUS par rien ; ils sont ECRITS par quatre bancs de recherche
289
+ # (`scripts/research/{qr_feasibility_experiment,codec_metadata_experiment,
290
+ # encode_robustness_bench}.py` et la cible de mesure de
291
+ # `build_measurement_target.py`), qui les REGENERENT a la demande. C est donc
292
+ # exactement le cas de `projects/` : une sortie locale, pas une source. Les
293
+ # stories qui les citent (4.3, 4.6, 6.0, 6.3) citent une PROVENANCE, et leurs
294
+ # chiffres sont deja repris dans les stories elles-memes.
295
+ temp/
296
+ #
297
+ # `.serena/` : configuration d un serveur LSP tiers, entree le 2026-08-17 par
298
+ # un commit tiers, hors perimetre de la story 5.22 qui l a subie (finding
299
+ # `[Review][Defer]` de cette story, et question ouverte de `deferred-work.md`).
300
+ # Le retrait tranche cette question : outillage d un poste, pas du depot.
301
+ .serena/