igs-slm 0.1.5b1__tar.gz → 0.1.5b3__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 (563) hide show
  1. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/PKG-INFO +5 -1
  2. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/changelog.rst +16 -2
  3. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/conf.py +17 -3
  4. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/configuration.rst +25 -1
  5. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/index.rst +5 -4
  6. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/installation.rst +204 -48
  7. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/upgrading.rst +1 -0
  8. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/pyproject.toml +6 -1
  9. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/__init__.py +1 -1
  10. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/root.py +1 -1
  11. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/slm.py +15 -12
  12. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/signals.py +30 -19
  13. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templatetags/slm.py +2 -2
  14. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/uv.lock +10 -2
  15. igs_slm-0.1.5b1/doc/source/operations/configuration.rst +0 -11
  16. igs_slm-0.1.5b1/doc/source/operations/index.rst +0 -18
  17. igs_slm-0.1.5b1/doc/source/operations/serving.rst +0 -9
  18. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/dependabot.yml +0 -0
  19. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/workflows/lint.yml +0 -0
  20. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/workflows/release.yml +0 -0
  21. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/workflows/safety.yml +0 -0
  22. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/workflows/scorecard.yml +0 -0
  23. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/workflows/test.yml +0 -0
  24. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.github/workflows/zizmor.yml +0 -0
  25. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.gitignore +0 -0
  26. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.pre-commit-config.yaml +0 -0
  27. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/.safety-policy.yml +0 -0
  28. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/CONTRIBUTING.md +0 -0
  29. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/LICENSE +0 -0
  30. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/README.md +0 -0
  31. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/SECURITY.md +0 -0
  32. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/data_model_refactor.txt +0 -0
  33. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/deploy/.env.example +0 -0
  34. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/deploy/Dockerfile +0 -0
  35. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/deploy/README.md +0 -0
  36. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/deploy/docker-compose.dev.yml +0 -0
  37. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/deploy/docker-compose.yml +0 -0
  38. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/deploy/nginx/nginx.conf +0 -0
  39. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/.readthedocs.yaml +0 -0
  40. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/APIs.rst +0 -0
  41. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/_static/img/Django.svg +0 -0
  42. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/_static/img/slm-logo.svg +0 -0
  43. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/_static/style.css +0 -0
  44. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/architecture/data_model.rst +0 -0
  45. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/architecture/extensions.rst +0 -0
  46. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/architecture/index.rst +0 -0
  47. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/architecture/signals.rst +0 -0
  48. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/commands.rst +0 -0
  49. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/dependencies.rst +0 -0
  50. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/ignored_spellings.txt +0 -0
  51. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/manual/howto.rst +0 -0
  52. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/manual/index.rst +0 -0
  53. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/manual/organization.rst +0 -0
  54. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/manual/permissions.rst +0 -0
  55. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/overview.rst +0 -0
  56. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/alertlevel.rst +0 -0
  57. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/antennacalibration.rst +0 -0
  58. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/antennafeatures.rst +0 -0
  59. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/antennareferencepoint.rst +0 -0
  60. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/aspiration.rst +0 -0
  61. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/cardinaldirection.rst +0 -0
  62. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/collocationstatus.rst +0 -0
  63. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/equipmentstate.rst +0 -0
  64. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/flagseverity.rst +0 -0
  65. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/fracturespacing.rst +0 -0
  66. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/frequencystandardtype.rst +0 -0
  67. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/geodesymlversion.rst +0 -0
  68. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/index.rst +0 -0
  69. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/instrumentation.rst +0 -0
  70. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/isocountry.rst +0 -0
  71. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/logentrytype.rst +0 -0
  72. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/sitefileuploadstatus.rst +0 -0
  73. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/sitelogformat.rst +0 -0
  74. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/sitelogstatus.rst +0 -0
  75. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/slmfiletype.rst +0 -0
  76. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/defines/tectonicplates.rst +0 -0
  77. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/index.rst +0 -0
  78. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/settings.rst +0 -0
  79. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/signals.rst +0 -0
  80. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/reference/validators.rst +0 -0
  81. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/doc/source/refs.rst +0 -0
  82. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/justfile +0 -0
  83. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/manage.py +0 -0
  84. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/requirements.txt +0 -0
  85. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/__init__.py +0 -0
  86. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/connection.py +0 -0
  87. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/defines/__init__.py +0 -0
  88. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/defines/constellation.py +0 -0
  89. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/defines/data_center.py +0 -0
  90. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/defines/rinex.py +0 -0
  91. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/directory.py +0 -0
  92. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/igs_tools/utils.py +0 -0
  93. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/admin.py +0 -0
  94. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/edit/__init__.py +0 -0
  95. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/edit/serializers.py +0 -0
  96. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/edit/views.py +0 -0
  97. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/fields.py +0 -0
  98. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/filter.py +0 -0
  99. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/pagination.py +0 -0
  100. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/permissions.py +0 -0
  101. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/public/__init__.py +0 -0
  102. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/public/serializers.py +0 -0
  103. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/public/views.py +0 -0
  104. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/serializers.py +0 -0
  105. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/api/views.py +0 -0
  106. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/apps.py +0 -0
  107. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/authentication.py +0 -0
  108. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/__init__.py +0 -0
  109. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/startproject.py +0 -0
  110. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/pyproject.toml +0 -0
  111. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/__init__.py +0 -0
  112. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/__init__.py +0 -0
  113. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/base.py +0 -0
  114. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/develop/__init__.py +0 -0
  115. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/develop/local.py +0 -0
  116. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/develop/wsgi.py +0 -0
  117. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/manage.py +0 -0
  118. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/production/__init__.py +0 -0
  119. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/production/wsgi.py +0 -0
  120. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/urls.py +0 -0
  121. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/validation.py +0 -0
  122. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/__init__.py +0 -0
  123. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/admin.py +0 -0
  124. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/apps.py +0 -0
  125. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/management/__init__.py +0 -0
  126. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/management/commands/__init__.py +0 -0
  127. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/management/commands/import_archive.py +0 -0
  128. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/migrations/__init__.py +0 -0
  129. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/models.py +0 -0
  130. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/templates/slm/base.html +0 -0
  131. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/urls.py +0 -0
  132. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/views.py +0 -0
  133. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/context.py +0 -0
  134. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/AlertLevel.py +0 -0
  135. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/AntennaCalibration.py +0 -0
  136. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/AntennaFeatures.py +0 -0
  137. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/AntennaReferencePoint.py +0 -0
  138. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/Aspiration.py +0 -0
  139. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/CardinalDirection.py +0 -0
  140. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/CollocationStatus.py +0 -0
  141. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/EquipmentState.py +0 -0
  142. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/FlagSeverity.py +0 -0
  143. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/FractureSpacing.py +0 -0
  144. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/FrequencyStandardType.py +0 -0
  145. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/GeodesyMLVersion.py +0 -0
  146. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/ISOCountry.py +0 -0
  147. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/Instrumentation.py +0 -0
  148. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/LogEntryType.py +0 -0
  149. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/SLMFileType.py +0 -0
  150. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/SiteFileUploadStatus.py +0 -0
  151. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/SiteLogFormat.py +0 -0
  152. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/SiteLogStatus.py +0 -0
  153. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/TectonicPlates.py +0 -0
  154. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/defines/__init__.py +0 -0
  155. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/forms.py +0 -0
  156. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/ascii_9char.log +0 -0
  157. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/legacy.log +0 -0
  158. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/collocationInformation.xml +0 -0
  159. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/condition.xml +0 -0
  160. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/contact.xml +0 -0
  161. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/formInformation.xml +0 -0
  162. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/frequencyStandard.xml +0 -0
  163. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/gnssAntenna.xml +0 -0
  164. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/gnssReceiver.xml +0 -0
  165. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/humiditySensor.xml +0 -0
  166. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/localEpisodicEffect.xml +0 -0
  167. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/moreInformation.xml +0 -0
  168. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/multipathSource.xml +0 -0
  169. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/otherInstrumentation.xml +0 -0
  170. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/pressureSensor.xml +0 -0
  171. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/radioInterference.xml +0 -0
  172. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/sensor.xml +0 -0
  173. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/signalObstruction.xml +0 -0
  174. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/siteIdentification.xml +0 -0
  175. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/siteLocation.xml +0 -0
  176. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/surveyedLocalTie.xml +0 -0
  177. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/temperatureSensor.xml +0 -0
  178. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.4/waterVaporSensor.xml +0 -0
  179. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/0.5/document.xml +0 -0
  180. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/geodesyml_0.4.xml +0 -0
  181. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/jinja2/slm/sitelog/xsd/geodesyml_0.5.xml +0 -0
  182. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/manage.py +0 -0
  183. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/__init__.py +0 -0
  184. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/__init__.py +0 -0
  185. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/build_index.py +0 -0
  186. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/check_upgrade.py +0 -0
  187. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/generate_sinex.py +0 -0
  188. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/head_from_index.py +0 -0
  189. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/import_archive.py +0 -0
  190. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/import_equipment.py +0 -0
  191. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/set_site.py +0 -0
  192. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/sitelog.py +0 -0
  193. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/synchronize.py +0 -0
  194. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/update_data_availability.py +0 -0
  195. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/validate_db.py +0 -0
  196. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/management/commands/validate_gml.py +0 -0
  197. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/__init__.py +0 -0
  198. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/admin.py +0 -0
  199. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/__init__.py +0 -0
  200. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/edit/__init__.py +0 -0
  201. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/edit/serializers.py +0 -0
  202. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/edit/views.py +0 -0
  203. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/public/__init__.py +0 -0
  204. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/public/serializers.py +0 -0
  205. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/api/public/views.py +0 -0
  206. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/apps.py +0 -0
  207. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/defines.py +0 -0
  208. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/migrations/0001_initial.py +0 -0
  209. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/migrations/__init__.py +0 -0
  210. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/models.py +0 -0
  211. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/static/slm/css/map.css +0 -0
  212. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/static/slm/js/map.js +0 -0
  213. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/templates/slm/map.html +0 -0
  214. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/templates/slm/station/base.html +0 -0
  215. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/templates/slm/station/edit.html +0 -0
  216. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/templates/slm/top_nav.html +0 -0
  217. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/templatetags/__init__.py +0 -0
  218. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/templatetags/slm_map.py +0 -0
  219. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/urls.py +0 -0
  220. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/map/views.py +0 -0
  221. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/middleware.py +0 -0
  222. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0001_alter_siteantenna_marker_enu_alter_sitelocation_llh_and_more.py +0 -0
  223. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0001_initial.py +0 -0
  224. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0001_remove_archiveindex_no_overlapping_ranges_per_site_and_more.py +0 -0
  225. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0002_alter_archivedsitelog_file_and_more.py +0 -0
  226. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0002_alter_dataavailability_site.py +0 -0
  227. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0003_alter_archivedsitelog_name_and_more.py +0 -0
  228. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0003_remove_logentry_slm_logentr_site_lo_7a2af7_idx_and_more.py +0 -0
  229. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0004_alter_logentry_timestamp_and_more.py +0 -0
  230. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0004_alter_site_name.py +0 -0
  231. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0005_alter_logentry_options_alter_logentry_section_and_more.py +0 -0
  232. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0005_slmversion.py +0 -0
  233. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0006_alter_logentry_options_alter_logentry_index_together.py +0 -0
  234. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0007_alter_dataavailability_rate.py +0 -0
  235. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0008_alter_archiveindex_options_and_more.py +0 -0
  236. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0009_alter_archiveindex_end.py +0 -0
  237. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0010_alter_dataavailability_rinex_version_and_more.py +0 -0
  238. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0011_alter_siteidentification_fracture_spacing.py +0 -0
  239. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0012_alter_logentry_type.py +0 -0
  240. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0013_unpublishedfilesalert.py +0 -0
  241. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0014_sitelogpublished.py +0 -0
  242. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0015_alter_siteantenna_options_and_more.py +0 -0
  243. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0016_alter_antenna_description_alter_radome_description_and_more.py +0 -0
  244. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0017_alter_logentry_unique_together_and_more.py +0 -0
  245. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0018_afix_deleted.py +0 -0
  246. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0018_alter_siteantenna_options_and_more.py +0 -0
  247. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0019_remove_siteantenna_marker_enu_siteantenna_marker_une_and_more.py +0 -0
  248. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0020_alter_manufacturer_options.py +0 -0
  249. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0021_alter_siteform_report_type.py +0 -0
  250. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0022_rename_antcal_antenna_radome_slm_antcal_antenna_20827a_idx_and_more.py +0 -0
  251. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0023_archivedsitelog_gml_version_and_more.py +0 -0
  252. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0024_alter_agency_name_alter_agency_shortname.py +0 -0
  253. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0025_alter_archivedsitelog_log_format_and_more.py +0 -0
  254. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0026_alter_archivedsitelog_log_format_and_more.py +0 -0
  255. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0027_importalert_file_contents_importalert_findings_and_more.py +0 -0
  256. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0028_antenna_replaced_manufacturer_url_radome_replaced_and_more.py +0 -0
  257. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0029_manufacturer_full_name.py +0 -0
  258. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0030_alter_antenna_state_alter_radome_state_and_more.py +0 -0
  259. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0031_alter_antenna_features.py +0 -0
  260. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/0032_archiveindex_valid_range_and_more.py +0 -0
  261. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/__init__.py +0 -0
  262. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/add_index_order_index.py +0 -0
  263. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/load_satellitesystems.py +0 -0
  264. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/normalize_index.py +0 -0
  265. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/simplify_index.py +0 -0
  266. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/migrations/verify_index.py +0 -0
  267. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/__init__.py +0 -0
  268. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/about.py +0 -0
  269. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/alerts.py +0 -0
  270. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/data.py +0 -0
  271. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/equipment.py +0 -0
  272. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/fields.py +0 -0
  273. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/help.py +0 -0
  274. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/index.py +0 -0
  275. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/sitelog.py +0 -0
  276. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/system.py +0 -0
  277. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/models/user.py +0 -0
  278. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/__init__.py +0 -0
  279. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/legacy/__init__.py +0 -0
  280. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/legacy/binding.py +0 -0
  281. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/legacy/parser.py +0 -0
  282. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/__init__.py +0 -0
  283. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/binding.py +0 -0
  284. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/commonTypes.xsd +0 -0
  285. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/contact.xsd +0 -0
  286. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/dataStreams.xsd +0 -0
  287. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/document.xsd +0 -0
  288. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/equipment.xsd +0 -0
  289. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/fieldMeasurement.xsd +0 -0
  290. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/geodesyML.xsd +0 -0
  291. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/geodeticEquipment.xsd +0 -0
  292. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/geodeticMonument.xsd +0 -0
  293. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/lineage.xsd +0 -0
  294. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/localInterferences.xsd +0 -0
  295. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/measurement.xsd +0 -0
  296. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/monumentInfo.xsd +0 -0
  297. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/observationSystem.xsd +0 -0
  298. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/project.xsd +0 -0
  299. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/quality.xsd +0 -0
  300. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/referenceFrame.xsd +0 -0
  301. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.4/siteLog.xsd +0 -0
  302. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/commonTypes.xsd +0 -0
  303. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/contact.xsd +0 -0
  304. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/dataStreams.xsd +0 -0
  305. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/document.xsd +0 -0
  306. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/equipment.xsd +0 -0
  307. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/fieldMeasurement.xsd +0 -0
  308. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/geodesyML.xsd +0 -0
  309. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/geodeticEquipment.xsd +0 -0
  310. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/geodeticMonument.xsd +0 -0
  311. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/lineage.xsd +0 -0
  312. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/localInterferences.xsd +0 -0
  313. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/measurement.xsd +0 -0
  314. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/monumentInfo.xsd +0 -0
  315. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/observationSystem.xsd +0 -0
  316. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/project.xsd +0 -0
  317. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/quality.xsd +0 -0
  318. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/referenceFrame.xsd +0 -0
  319. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/geodesyml/0.5/siteLog.xsd +0 -0
  320. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/parser.py +0 -0
  321. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/parsing/xsd/resolver.py +0 -0
  322. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/receivers/__init__.py +0 -0
  323. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/receivers/alerts.py +0 -0
  324. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/receivers/cleanup.py +0 -0
  325. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/receivers/event_loggers.py +0 -0
  326. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/receivers/index.py +0 -0
  327. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/receivers/migration.py +0 -0
  328. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/__init__.py +0 -0
  329. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/assets.py +0 -0
  330. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/auth.py +0 -0
  331. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/ckeditor.py +0 -0
  332. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/debug.py +0 -0
  333. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/emails.py +0 -0
  334. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/internationalization.py +0 -0
  335. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/logging.py +0 -0
  336. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/platform/__init__.py +0 -0
  337. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/platform/darwin.py +0 -0
  338. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/rest.py +0 -0
  339. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/routines.py +0 -0
  340. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/secrets.py +0 -0
  341. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/security.py +0 -0
  342. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/static_templates.py +0 -0
  343. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/templates.py +0 -0
  344. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/uploads.py +0 -0
  345. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/urls.py +0 -0
  346. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/settings/validation.py +0 -0
  347. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/singleton.py +0 -0
  348. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/css/bootstrap-tweaks.css +0 -0
  349. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/css/bootstrap.min.css +0 -0
  350. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/css/bootstrap.min.css.map +0 -0
  351. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/css/default.css +0 -0
  352. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/css/prettify.css +0 -0
  353. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/css/base.css +0 -0
  354. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/css/highlight.css +0 -0
  355. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/css/jquery.json-view.min.css +0 -0
  356. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/img/favicon.ico +0 -0
  357. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/img/grid.png +0 -0
  358. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/js/api.js +0 -0
  359. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/js/highlight.pack.js +0 -0
  360. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/docs/js/jquery.json-view.min.js +0 -0
  361. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/img/grid.png +0 -0
  362. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/ajax-form.js +0 -0
  363. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/bootstrap.bundle.min.js +0 -0
  364. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/bootstrap.bundle.min.js.map +0 -0
  365. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/bootstrap.min.js.map +0 -0
  366. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/coreapi-0.1.1.js +0 -0
  367. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/csrf.js +0 -0
  368. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/default.js +0 -0
  369. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/jquery-3.5.1.min.js +0 -0
  370. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/rest_framework/js/prettify-min.js +0 -0
  371. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/css/admin.css +0 -0
  372. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/css/defines.css +0 -0
  373. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/css/forms.css +0 -0
  374. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/css/style.css +0 -0
  375. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/img/email-branding.png +0 -0
  376. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/img/favicon.ico +0 -0
  377. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/img/login-bg.jpg +0 -0
  378. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/img/slm-logo.svg +0 -0
  379. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/autocomplete.js +0 -0
  380. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/enums.js +0 -0
  381. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/fileIcons.js +0 -0
  382. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/file_modal.js +0 -0
  383. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/form.js +0 -0
  384. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/formWidget.js +0 -0
  385. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/persistable.js +0 -0
  386. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/slm.js +0 -0
  387. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static/slm/js/time24.js +0 -0
  388. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static_templates/slm/css/defines.css +0 -0
  389. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static_templates/slm/js/enums.js +0 -0
  390. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static_templates/slm/js/fileIcons.js +0 -0
  391. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/static_templates/slm/js/urls.js +0 -0
  392. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/base.html +0 -0
  393. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/base.html +0 -0
  394. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/base_message.txt +0 -0
  395. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/email_confirmation_message.html +0 -0
  396. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/email_confirmation_message.txt +0 -0
  397. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/email_confirmation_signup_message.html +0 -0
  398. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/email_confirmation_signup_message.txt +0 -0
  399. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/email_confirmation_signup_subject.txt +0 -0
  400. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/email_confirmation_subject.txt +0 -0
  401. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/password_reset_key_message.html +0 -0
  402. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/password_reset_key_message.txt +0 -0
  403. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/password_reset_key_subject.txt +0 -0
  404. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/unknown_account_message.html +0 -0
  405. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/unknown_account_message.txt +0 -0
  406. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/email/unknown_account_subject.txt +0 -0
  407. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/login.html +0 -0
  408. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/logout.html +0 -0
  409. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/password_change.html +0 -0
  410. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/password_reset.html +0 -0
  411. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/password_reset_done.html +0 -0
  412. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/password_reset_from_key.html +0 -0
  413. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/account/password_reset_from_key_done.html +0 -0
  414. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/admin/base.html +0 -0
  415. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/messages.html +0 -0
  416. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/README +0 -0
  417. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/admin/detail.html +0 -0
  418. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/admin/dict_value.html +0 -0
  419. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/admin/list.html +0 -0
  420. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/admin/list_value.html +0 -0
  421. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/admin/simple_list_value.html +0 -0
  422. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/admin.html +0 -0
  423. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/api.html +0 -0
  424. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/base.html +0 -0
  425. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/auth/basic.html +0 -0
  426. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/auth/session.html +0 -0
  427. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/auth/token.html +0 -0
  428. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/document.html +0 -0
  429. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/error.html +0 -0
  430. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/index.html +0 -0
  431. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/interact.html +0 -0
  432. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/langs/javascript-intro.html +0 -0
  433. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/langs/javascript.html +0 -0
  434. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/langs/python-intro.html +0 -0
  435. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/langs/python.html +0 -0
  436. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/langs/shell-intro.html +0 -0
  437. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/langs/shell.html +0 -0
  438. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/link.html +0 -0
  439. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/docs/sidebar.html +0 -0
  440. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/filters/base.html +0 -0
  441. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/filters/ordering.html +0 -0
  442. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/filters/search.html +0 -0
  443. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/checkbox.html +0 -0
  444. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/checkbox_multiple.html +0 -0
  445. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/dict_field.html +0 -0
  446. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/fieldset.html +0 -0
  447. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/form.html +0 -0
  448. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/input.html +0 -0
  449. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/list_field.html +0 -0
  450. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/list_fieldset.html +0 -0
  451. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/radio.html +0 -0
  452. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/select.html +0 -0
  453. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/select_multiple.html +0 -0
  454. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/horizontal/textarea.html +0 -0
  455. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/checkbox.html +0 -0
  456. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/checkbox_multiple.html +0 -0
  457. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/dict_field.html +0 -0
  458. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/fieldset.html +0 -0
  459. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/form.html +0 -0
  460. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/input.html +0 -0
  461. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/list_field.html +0 -0
  462. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/list_fieldset.html +0 -0
  463. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/radio.html +0 -0
  464. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/select.html +0 -0
  465. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/select_multiple.html +0 -0
  466. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/inline/textarea.html +0 -0
  467. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/login.html +0 -0
  468. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/login_base.html +0 -0
  469. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/pagination/numbers.html +0 -0
  470. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/pagination/previous_and_next.html +0 -0
  471. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/raw_data_form.html +0 -0
  472. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/schema.js +0 -0
  473. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/checkbox.html +0 -0
  474. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/checkbox_multiple.html +0 -0
  475. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/dict_field.html +0 -0
  476. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/fieldset.html +0 -0
  477. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/form.html +0 -0
  478. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/input.html +0 -0
  479. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/list_field.html +0 -0
  480. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/list_fieldset.html +0 -0
  481. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/radio.html +0 -0
  482. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/select.html +0 -0
  483. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/select_multiple.html +0 -0
  484. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/rest_framework/vertical/textarea.html +0 -0
  485. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/about.html +0 -0
  486. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/alerts/alert.html +0 -0
  487. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/alerts/geodesymlinvalid.html +0 -0
  488. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/alerts/importalert.html +0 -0
  489. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/alerts.html +0 -0
  490. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/auth_menu.html +0 -0
  491. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/base.html +0 -0
  492. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/emails/alert_issued.html +0 -0
  493. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/emails/alert_issued.txt +0 -0
  494. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/emails/base.html +0 -0
  495. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/emails/changes_rejected.txt +0 -0
  496. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/emails/review_requested.txt +0 -0
  497. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/forms/widgets/auto_complete.html +0 -0
  498. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/forms/widgets/auto_complete_multiple.html +0 -0
  499. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/forms/widgets/checkbox_multiple.html +0 -0
  500. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/forms/widgets/inline_multi.html +0 -0
  501. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/forms/widgets/splitdatetime.html +0 -0
  502. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/forms/widgets/time24.html +0 -0
  503. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/help.html +0 -0
  504. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/messages.html +0 -0
  505. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/new_site.html +0 -0
  506. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/profile.html +0 -0
  507. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/register.html +0 -0
  508. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/reports/file_log.html +0 -0
  509. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/reports/head_log.html +0 -0
  510. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/reports/head_report.html +0 -0
  511. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/reports/index_log.html +0 -0
  512. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/reports/index_report.html +0 -0
  513. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/alert.html +0 -0
  514. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/alerts.html +0 -0
  515. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/base.html +0 -0
  516. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/download.html +0 -0
  517. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/edit.html +0 -0
  518. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/form.html +0 -0
  519. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/log.html +0 -0
  520. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/review.html +0 -0
  521. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/upload.html +0 -0
  522. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/uploads/attachment.html +0 -0
  523. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/uploads/geodesyml.html +0 -0
  524. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/uploads/image.html +0 -0
  525. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/uploads/json.html +0 -0
  526. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/station/uploads/legacy.html +0 -0
  527. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/top_nav.html +0 -0
  528. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/user_activity.html +0 -0
  529. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/widgets/alert_scroll.html +0 -0
  530. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/widgets/filelist.html +0 -0
  531. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/widgets/legend.html +0 -0
  532. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/widgets/log_scroll.html +0 -0
  533. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templates/slm/widgets/stationlist.html +0 -0
  534. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templatetags/__init__.py +0 -0
  535. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/templatetags/jinja2.py +0 -0
  536. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/urls.py +0 -0
  537. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/utils.py +0 -0
  538. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/validators.py +0 -0
  539. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/views.py +0 -0
  540. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/widgets.py +0 -0
  541. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/src/slm/wsgi.py +0 -0
  542. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/__init__.py +0 -0
  543. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/commands/__init__.py +0 -0
  544. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/commands/archive.tar.bz2 +0 -0
  545. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/commands/test_import_archive.py +0 -0
  546. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/defines/ISOCountry.py +0 -0
  547. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/defines/SiteLogStatus.py +0 -0
  548. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/defines/__init__.py +0 -0
  549. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/parsing/__init__.py +0 -0
  550. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/parsing/files/0.4/20na_20161027.xml +0 -0
  551. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/parsing/files/0.5/20na_20161027.xml +0 -0
  552. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/parsing/files/AAA200USA_20220909.log +0 -0
  553. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/parsing/legacy.py +0 -0
  554. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/parsing/xsd.py +0 -0
  555. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/settings.py +0 -0
  556. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/test_settings.py +0 -0
  557. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/tests.py +0 -0
  558. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/uploads/__init__.py +0 -0
  559. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/uploads/files/AAA600USA_20240418.log +0 -0
  560. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/uploads/files/jplm.jpg +0 -0
  561. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/uploads/tests.py +0 -0
  562. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/tests/wsgi.py +0 -0
  563. {igs_slm-0.1.5b1 → igs_slm-0.1.5b3}/todo.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: igs-slm
3
- Version: 0.1.5b1
3
+ Version: 0.1.5b3
4
4
  Summary: IGS Site Log Manager
5
5
  Project-URL: Homepage, https://igs-slm.readthedocs.io
6
6
  Project-URL: Documentation, https://igs-slm.readthedocs.io
@@ -64,6 +64,10 @@ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
64
64
  Requires-Dist: requests<3.0.0,>=2.32.4
65
65
  Requires-Dist: rich<14.0.0,>=13.7.1
66
66
  Requires-Dist: tqdm<5.0.0,>=4.64.1
67
+ Provides-Extra: debug
68
+ Requires-Dist: django-debug-toolbar<5.0.0,>=4.1.0; extra == 'debug'
69
+ Requires-Dist: django-extensions<4.0.0,>=3.1.5; extra == 'debug'
70
+ Requires-Dist: ipdb<1.0.0,>=0.13.13; extra == 'debug'
67
71
  Provides-Extra: gunicorn
68
72
  Requires-Dist: gunicorn>=22.0.0; extra == 'gunicorn'
69
73
  Description-Content-Type: text/markdown
@@ -6,13 +6,27 @@
6
6
  Change Log
7
7
  ==========
8
8
 
9
- v0.1.5b1 (2024-07-15)
9
+ v0.1.5b3 (2025-07-25)
10
+ =====================
11
+
12
+ * Fixed `Provide SLM IGS station naming validation toggle. <https://github.com/International-GNSS-Service/SLM/issues/153>`_
13
+ * Fixed `Sometimes the javascript diffing/site log error renderer inserts extra newlines. <https://github.com/International-GNSS-Service/SLM/issues/151>`_
14
+
15
+
16
+ v0.1.5b2 (2025-07-15)
17
+ =====================
18
+
19
+ * Beta Bug Fix
20
+ * Added `Add debug dependency group <https://github.com/International-GNSS-Service/SLM/issues/155>`_
21
+ * Fixed `WSGI_APPLICATION default is wrong <https://github.com/International-GNSS-Service/SLM/issues/154>`_
22
+
23
+ v0.1.5b1 (2025-07-15)
10
24
  =====================
11
25
 
12
26
  * Beta Bug Fix
13
27
  * Fixed `SLM_INCLUDE url inclusion is not working to spec <https://github.com/International-GNSS-Service/SLM/issues/152>`_
14
28
 
15
- v0.1.5b0 (2024-07-15)
29
+ v0.1.5b0 (2025-07-15)
16
30
  =====================
17
31
 
18
32
  * Beta Increment
@@ -13,6 +13,7 @@ from sphinx.ext.autodoc import between
13
13
  import warnings
14
14
  import os
15
15
  import django
16
+ from django.utils.version import get_docs_version
16
17
  import re
17
18
 
18
19
  sys.path.append(str(Path(__file__).parent.parent.parent / "src"))
@@ -20,6 +21,7 @@ sys.path.append(str(Path(__file__).parent.parent.parent))
20
21
  os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tests.settings')
21
22
  django.setup()
22
23
 
24
+
23
25
  # -- Path setup --------------------------------------------------------------
24
26
 
25
27
  # If extensions (or modules to document with autodoc) are in another directory,
@@ -106,13 +108,22 @@ django_show_db_tables = True # Boolean, default: False
106
108
  # Add abstract database tables names (only takes effect if django_show_db_tables is True)
107
109
  django_show_db_tables_abstract = True # Boolean, default: False
108
110
 
111
+ autodoc_default_options = {
112
+ 'show-inheritance': True,
113
+ # Add other autodoc options here if desired, e.g.:
114
+ # 'members': True,
115
+ # 'inherited-members': True,
116
+ }
117
+ # In your Sphinx conf.py
118
+ autodoc_typehints = "description"
119
+ autodoc_typehints_format = "short"
120
+ autodoc_class_signature = "separated"
109
121
  autodoc_member_order = 'bysource'
110
122
 
111
- # TODO - ALWAYS POINT THE DJANGO DOCS AT OUR CURRENT DJANGO VERSION, NOT STABLE
112
123
  intersphinx_mapping = {
113
124
  "django": (
114
- "https://docs.djangoproject.com/en/4.2",
115
- "https://docs.djangoproject.com/en/4.2/_objects/",
125
+ f"https://docs.djangoproject.com/en/{get_docs_version()}/",
126
+ f"https://docs.djangoproject.com/en/{get_docs_version()}/_objects/",
116
127
  ),
117
128
  "click": ("https://click.palletsprojects.com/en/stable", None),
118
129
  "rich": ("https://rich.readthedocs.io/en/stable", None),
@@ -139,6 +150,7 @@ html_css_files = [
139
150
  'https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.11.3/font/bootstrap-icons.min.css',
140
151
  ]
141
152
 
153
+
142
154
  def color_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
143
155
  """Role that creates a color box with the hex color."""
144
156
  from docutils import nodes
@@ -156,6 +168,7 @@ def color_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
156
168
  node = nodes.raw('', html, format='html')
157
169
  return [node], []
158
170
 
171
+
159
172
  def css_icon(name, rawtext, text, lineno, inliner, options={}, content=[]):
160
173
  """Role that creates a color box with the hex color."""
161
174
  from docutils import nodes
@@ -168,6 +181,7 @@ def css_icon(name, rawtext, text, lineno, inliner, options={}, content=[]):
168
181
  node = nodes.raw('', html, format='html')
169
182
  return [node], []
170
183
 
184
+
171
185
  def setup(app):
172
186
  # Register a sphinx.ext.autodoc.between listener to ignore everything
173
187
  # between lines that contain the word IGNORE
@@ -1,5 +1,6 @@
1
1
  .. include:: refs.rst
2
2
 
3
+ .. _configuration:
3
4
 
4
5
  =============
5
6
  Configuration
@@ -220,6 +221,9 @@ The following settings may be overridden by environment variables:
220
221
  * - :setting:`SLM_DEBUG_TOOLBAR`
221
222
  - :ref:`env_types_bool`
222
223
  - ``on|off``
224
+ * - :setting:`SLM_IGS_STATION_NAMING`
225
+ - :ref:`env_types_bool`
226
+ - ``on|off``
223
227
  * - :setting:`SLM_SITE_NAME`
224
228
  - :ref:`env_types_bool`
225
229
  - ``slm.yourdomain.org``
@@ -444,6 +448,26 @@ Enable or disable the MapBox_ admin map in the SLM. Must be set in the environme
444
448
  or prior to the inclusion of ``slm.settings.root``. You may also enable or disable
445
449
  the admin map by adding or removing ``slm.map`` from :setting:`INSTALLED_APPS`.
446
450
 
451
+ ``SLM_IGS_STATION_NAMING`` ⚙️
452
+ ------------------------------
453
+ .. setting:: SLM_IGS_STATION_NAMING
454
+
455
+ Default: ``False``
456
+
457
+ Enable or disable the use of IGS naming rules for station names. If enabled, the defaults for
458
+ :setting:`SLM_STATION_NAME_REGEX` and :setting:`SLM_STATION_NAME_HELP` will be set to:
459
+
460
+ .. code-block:: python
461
+
462
+ SLM_STATION_NAME_REGEX = r"[\w]{4}[\d]{2}[\w]{3}"
463
+ SLM_STATION_NAME_HELP = _(
464
+ "This is the 9 Character station name (XXXXMRCCC) used in RINEX 3 "
465
+ "filenames Format: (XXXX - existing four character IGS station "
466
+ "name, M - Monument or marker number (0-9), R - Receiver number "
467
+ "(0-9), CCC - Three digit ISO 3166-1 country code)"
468
+ )
469
+
470
+
447
471
  ``SLM_STATION_NAME_REGEX``
448
472
  --------------------------
449
473
  .. setting:: SLM_STATION_NAME_REGEX
@@ -518,7 +542,7 @@ We provide a more reasonable default than Django_'s :setting:`django:DEFAULT_FRO
518
542
  -----------------------
519
543
  .. setting:: WSGI_APPLICATION
520
544
 
521
- Default: ``slm.wsgi``
545
+ Default: ``slm.wsgi.application``
522
546
 
523
547
  We set a default for :setting:`django:WSGI_APPLICATION` that works if *either*:
524
548
 
@@ -30,7 +30,8 @@ This documentation speaks to multiple audiences:
30
30
 
31
31
  * **Developers** will want to refer to the :ref:`installation`, :ref:`architecture`,
32
32
  :ref:`commands` and :ref:`reference` sections.
33
- * **System administrators** may be interested in :ref:`operations` and :ref:`commands`.
33
+ * **System administrators** may be interested in :ref:`configuration`, :ref:`upgrading` and
34
+ :ref:`commands`.
34
35
  * **Users** and **network coordinators** will be interested in the :ref:`user_manual`.
35
36
  * **Developers** wishing to work with SLM managed data will be interested in the :ref:`api`.
36
37
  * **Everyone**, but particularly **program managers** will want to take a look at the
@@ -47,9 +48,7 @@ map is on the projects_ page.
47
48
 
48
49
  Contributions_ from the community are encouraged!
49
50
 
50
- .. APIs
51
- .. manual/index
52
- .. operations/index
51
+
53
52
 
54
53
  .. toctree::
55
54
  :maxdepth: 2
@@ -60,8 +59,10 @@ Contributions_ from the community are encouraged!
60
59
  upgrading
61
60
  configuration
62
61
  architecture/index
62
+ manual/index
63
63
  commands
64
64
  dependencies
65
+ APIs
65
66
  reference/index
66
67
  changelog
67
68
 
@@ -35,12 +35,19 @@ Hereafter, we will use the following terminology to describe these deployments:
35
35
  Manual Installation
36
36
  ===================
37
37
 
38
- The SLM is both a :doc:`Django app <django:ref/applications>` and a fully deployable website. Most
39
- users of the SLM will want to customize certain aspects of it (things like adding
40
- :pypi:`django-ldap` or :doc:`two-factor authentication <django-allauth:mfa/index>`). To facilitate
41
- that we will use the bundled command slm-startproject_ to generate a scaffold to build off of (not
42
- unlike Django's :django-admin:`startproject`). But first we must install some dependencies.
43
-
38
+ The SLM is both a :doc:`Django app <django:ref/applications>` and a fully deployable website. Many
39
+ users of the SLM will want to customize it significantly (things like adding
40
+ :pypi:`django-ldap` or :doc:`two-factor authentication <django-allauth:mfa/index>`). It can also
41
+ be deployed out of the box with a :ref:`minimal configuration <configuration>`. We recommend trying
42
+ a minimal development set up first to familiarize yourself with the software and identify any data
43
+ importing pain points. The following guide includes instructions for running the SLM out of the
44
+ box and for generating a scaffold to customize it. We will first work through a
45
+ :ref:`local develop <slm-startproject>` installation and then we cover
46
+ :ref:`deployment to a production server <deploy>`.
47
+
48
+ To facilitate customization we provide a bundled command slm-startproject_ to generate a scaffold to
49
+ build off of (not unlike Django's :django-admin:`startproject`). But first we must install some
50
+ dependencies.
44
51
 
45
52
  Dependencies
46
53
  ############
@@ -132,6 +139,8 @@ Platform specific Installation guidance.
132
139
  Start Project
133
140
  #############
134
141
 
142
+ **If you are not customizing the SLM, skip ahead to step 2.**
143
+
135
144
  To get up and running quickly with your customized SLM deployment we bundle a command called
136
145
  slm-startproject_ that will scaffold out a directory structure and settings files for you to start
137
146
  working with. Before running slm-startproject_ you will need to have installed all of GeoDjango_'s
@@ -162,8 +171,8 @@ itself yet though.
162
171
 
163
172
  .. tab:: github
164
173
 
165
- You also have the option of working with our development version from github, but unless you have
166
- a compelling reason to do so you should use the release on pypi.
174
+ You also have the option of working with our development version from github, but unless you
175
+ have a compelling reason to do so you should use the release on pypi.
167
176
 
168
177
  .. code:: bash
169
178
 
@@ -256,16 +265,57 @@ the first question you can just hit enter to accept the defaults:
256
265
  (2) Create environment & database
257
266
  ---------------------------------
258
267
 
259
- * Use either psql_ or pgAdmin_ to create the database that slm-startproject_ instructs you to.
260
- In our example this database would be named ``network``.
268
+ .. tabs::
269
+
270
+ .. tab:: Basic Install
271
+
272
+ * Use either psql_ or pgAdmin_ to create a database called ``slm``.
273
+
274
+ * We recommend creating a local development :mod:`python virtual environment <venv>`, but you
275
+ may also use any python on your system that meets the :pypi:`igs-slm` minimum python
276
+ requirement.
277
+
278
+ * You will need to set a few environment variables and create an environment variable file so
279
+ the SLM knows some basic things about itself.
280
+
281
+ In your local development directory:
282
+
283
+ .. code-block:: bash
284
+
285
+ ?> python -m venv .venv
286
+ ?> source .venv/bin/activate
287
+ (.venv) ?> export SLM_ENV=`pwd`/.env
288
+ (.venv) ?> touch .env
289
+ (.venv) ?> pip install "igs-slm[debug]"
261
290
 
262
- * Use uv to install the virtual environment then activate it.
291
+ Add a minimal configuration to the .env file. It may look something like this. You may also
292
+ refer to the :ref:`configuration` page for all of the available settings. The most important
293
+ settings are :setting:`SLM_ENV`, :setting:`BASE_DIR`:
263
294
 
264
295
  .. code-block:: bash
265
296
 
266
- ?> uv sync --all-extras
297
+ DEBUG=True
298
+ BASE_DIR=./
299
+ SLM_ORG_NAME="ORG"
300
+ SLM_SITE_NAME="localhost"
301
+ # you may have to set these paths if your postgis libraries
302
+ # are in non-standard locations
303
+ # GEOS_LIBRARY_PATH=/path/to/libgeos_c.dylib
304
+ # GDAL_LIBRARY_PATH=/path/to/libgdal.dylib
267
305
 
268
306
 
307
+ .. tab:: Custom Install
308
+
309
+ * Use either psql_ or pgAdmin_ to create the database that slm-startproject_ instructs you to.
310
+ In our example this database would be named ``network``.
311
+
312
+ * Use uv to install the virtual environment then activate it.
313
+
314
+ .. code-block:: bash
315
+
316
+ ?> cd ./network
317
+ ?> uv sync --all-extras
318
+
269
319
  .. _import_sitelogs:
270
320
 
271
321
  (3) Import Existing Logs and Deploy
@@ -276,11 +326,23 @@ existing logs to import you'll probably just want to run :django-admin:`routine
276
326
  Otherwise gather your logs into a single directory or tar file and run the
277
327
  :django-admin:`routine install` routine:
278
328
 
279
- .. code-block:: bash
329
+ .. tabs::
330
+
331
+ .. tab:: Basic Install
332
+
333
+ .. code-block:: bash
334
+
335
+ (.venv) ?> slm routine install
280
336
 
281
- ?> <slm> routine install
337
+ .. tab:: Custom Install
282
338
 
283
- **<slm> is the name of your management script. In our example it would be called 'network'.**
339
+ .. code-block:: bash
340
+
341
+ ?> uv run network routine install
342
+
343
+ You will be prompted to create a superuser account and also for a file path or directory containing
344
+ site logs you wish to import. After the import is finished an html log of the import process will
345
+ open.
284
346
 
285
347
  The data import will both generate logs and record import errors and warnings as alerts and
286
348
  validation flags in the database so you can manually go through the web interface and correct any
@@ -291,24 +353,39 @@ errors.
291
353
 
292
354
  You should now be able to start up the development server and see data in your SLM instance.
293
355
 
294
- .. code-block:: bash
356
+ .. tabs::
357
+
358
+ .. tab:: Basic Install
359
+
360
+ .. code-block:: bash
361
+
362
+ (.venv) ?> <slm> runserver
363
+ Performing system checks...
364
+
365
+ System check identified no issues (1 silenced).
366
+ Django version 4.2.23, using settings 'slm.settings.root'
367
+ Starting development server at http://127.0.0.1:8000/
368
+ Quit the server with CONTROL-C.
369
+
370
+ .. tab:: Custom Install
295
371
 
296
- ?> <slm> runserver
297
- Performing system checks...
372
+ .. code-block:: bash
373
+
374
+ ?> uv run network runserver
375
+ Performing system checks...
298
376
 
299
- System check identified no issues (1 silenced).
300
- Django version 4.2.14, using settings 'sites.<slm>.develop'
301
- Starting development server at http://127.0.0.1:8000/
302
- Quit the server with CONTROL-C.
377
+ System check identified no issues (1 silenced).
378
+ Django version 4.2.23, using settings 'sites.network.develop'
379
+ Starting development server at http://127.0.0.1:8000/
380
+ Quit the server with CONTROL-C.
303
381
 
304
382
  In addition to the front end interface where site logs are edited, moderated and published. We use
305
383
  the `Django admin for a more direct access to system data <http://127.0.0.1:8000/admin>`_. This is
306
384
  where we control permissions and make site adjustments. You may also add users and agencies and set
307
385
  their permissions through the admin.
308
386
 
309
- .. tip::
310
387
 
311
- Refer to :ref:`operations` for advice on production deployments.
388
+ .. _deploy:
312
389
 
313
390
  Deploy
314
391
  ######
@@ -318,10 +395,10 @@ Deploy
318
395
  We offer a notional deployment strategy here. There are myriad operational concerns that will vary
319
396
  based on your organization's so the following examples are merely suggestions.
320
397
 
321
- The scaffold we generated should be checked into version control. You can manage it just like you
322
- would a normal python package. It can be built and installed using uv_ or pip_ or any other python
323
- package management tooling that supports wheels. When you install it it will pull in all of its
324
- required python dependencies.
398
+ If you are customizing the SLM, the scaffold we generated should be checked into version control.
399
+ You can manage it just like you would a normal python package. It can be built and installed using
400
+ uv_ or pip_ or any other python package management tooling that supports wheels. When you install it
401
+ it will pull in all of its required python dependencies.
325
402
 
326
403
  First you need to make sure your host server has all the dependencies installed, PostGIS_, etc.
327
404
  Then you should use ``psql`` to create the database. It is usually sufficient to configure PostGIS_
@@ -373,31 +450,69 @@ environment somewhere you think is appropriate. For example:
373
450
  Build and Install
374
451
  -----------------
375
452
 
376
- .. code-block:: bash
453
+ .. tabs::
454
+
455
+ .. tab:: Basic Install
377
456
 
378
- # in your git repository holding your slm-startproject
379
- ?> uv build
380
- # get the wheel to your server somehow
381
- ?> scp dist/network-x.x.x-py3-none-any.whl yourserver:./
382
- ?> ssh yourserver
383
- ?> source /opt/slm_venv/bin/activate
384
- # install with gunicorn if using nginx or mod_wsgi if using Apache
385
- (slm_venv) ?> pip install network-x.x.x-py3-none-any.whl
386
- # if using nginx:
387
- (slm_venv) ?> pip install gunicorn
388
- # if using apache:
389
- (slm_venv) ?> pip install mod_wsgi
457
+ .. code-block:: bash
458
+
459
+ ?> source /opt/slm_venv/bin/activate
460
+ # install with gunicorn if using nginx or mod_wsgi if using Apache
461
+ (slm_venv) ?> pip install igs-slm
462
+ # if using nginx:
463
+ (slm_venv) ?> pip install gunicorn
464
+ # if using apache:
465
+ (slm_venv) ?> pip install mod_wsgi
466
+
467
+ .. tab:: Custom Install
468
+
469
+ .. code-block:: bash
470
+
471
+ # in your git repository holding your slm-startproject
472
+ ?> uv build
473
+ # get the wheel to your server somehow
474
+ ?> scp dist/network-x.x.x-py3-none-any.whl yourserver:./
475
+ ?> ssh yourserver
476
+ ?> source /opt/slm_venv/bin/activate
477
+ # install with gunicorn if using nginx or mod_wsgi if using Apache
478
+ (slm_venv) ?> pip install network-x.x.x-py3-none-any.whl
479
+ # if using nginx:
480
+ (slm_venv) ?> pip install gunicorn
481
+ # if using apache:
482
+ (slm_venv) ?> pip install mod_wsgi
390
483
 
391
484
  Filesystem
392
485
  ----------
393
486
 
394
487
  We recommend setting up your site's working directory somewhere under /var/www:
395
488
 
396
- .. code-block:: bash
489
+ .. tabs::
490
+
491
+ .. tab:: Basic Install
492
+
493
+ .. code-block:: bash
494
+
495
+ ?> mkdir -p /var/www/network.example.com/production
496
+ ?> cd /var/www/network.example.com/production
497
+ ?> mkdir static media logs secrets
498
+
499
+ You will need to create an environment file to tell the SLM about itself:
500
+
501
+ .. code-block:: bash
502
+ :caption: /var/www/network.example.com/production/.env
503
+
504
+ DEBUG=False
505
+ BASE_DIR=/var/www/network.example.com/production
506
+ SLM_ORG_NAME="Example"
507
+ SLM_SITE_NAME="network.example.com"
397
508
 
398
- ?> mkdir -p /var/www/network.example.com/production
399
- ?> cd /var/www/network.example.com/production
400
- ?> mkdir static media logs secrets
509
+ .. tab:: Custom Install
510
+
511
+ .. code-block:: bash
512
+
513
+ ?> mkdir -p /var/www/network.example.com/production
514
+ ?> cd /var/www/network.example.com/production
515
+ ?> mkdir static media logs secrets
401
516
 
402
517
  web servers
403
518
  -----------
@@ -472,6 +587,7 @@ web servers
472
587
  User=www-data
473
588
  Group=www-data
474
589
  WorkingDirectory=/var/www/network.example.com/production
590
+ Environment="SLM_ENV=/var/www/network.example.com/production/.env"
475
591
  ExecStart=/opt/slm_venv/bin/gunicorn --workers 4 --bind unix:/var/www/network.example.com/production/slm.sock sites.network.production.wsgi:application
476
592
 
477
593
  [Install]
@@ -507,6 +623,13 @@ web servers
507
623
  # WSGI configuration
508
624
  WSGIDaemonProcess network python-home=/opt/slm_venv python-path=/var/www/network.example.com/production
509
625
  WSGIProcessGroup network
626
+
627
+ WSGIEnvVar SLM_ENV /var/www/network.example.com/production/.env
628
+
629
+ # TODO - For Basic Install:
630
+ WSGIScriptAlias / /opt/slm_venv/lib/python3.x/site-packages/slm/wsgi.py
631
+
632
+ # TODO - For Custom Install:
510
633
  WSGIScriptAlias / /opt/slm_venv/lib/python3.x/site-packages/sites/network/production/wsgi.py
511
634
 
512
635
  # Static & media files
@@ -533,15 +656,47 @@ routine deploy
533
656
  Anytime you install a new version of your SLM you need to run :django-admin:`routine deploy`. This
534
657
  will migrate the database and bundle all static files:
535
658
 
536
- .. code-block:: bash
537
659
 
538
- (slm_venv) ?> network routine deploy
660
+ .. tabs::
661
+
662
+ .. tab:: Basic Install
663
+
664
+ .. code-block:: bash
665
+
666
+ (slm_venv) ?> slm routine deploy
667
+
668
+ If it is the first installation you can run the :django-admin:`routine install` routine instead:
669
+
670
+ .. code-block:: bash
671
+
672
+ (slm_venv) ?> slm routine install
673
+
674
+ .. tab:: Custom Install
675
+
676
+ .. code-block:: bash
677
+
678
+ (slm_venv) ?> network routine deploy
679
+
680
+ If it is the first installation you can run the :django-admin:`routine install` routine instead:
681
+
682
+ .. code-block:: bash
683
+
684
+ (slm_venv) ?> network routine install
685
+
686
+
687
+ .. tip::
688
+
689
+ Refer to :ref:`upgrading` for advice on updating the SLM.
539
690
 
540
691
  .. _containerization:
541
692
 
542
693
  Containerization
543
694
  ================
544
695
 
696
+ .. todo::
697
+
698
+ Instructions for running our containers..
699
+
545
700
 
546
701
  .. _fast_hosting:
547
702
 
@@ -549,4 +704,5 @@ Fast Hosting
549
704
  ============
550
705
 
551
706
  .. todo::
552
- Instructions for quickly deploying to a hosting service..
707
+
708
+ Instructions for quickly deploying to a hosting service..
@@ -1,5 +1,6 @@
1
1
  .. include:: refs.rst
2
2
 
3
+ .. _upgrading:
3
4
 
4
5
  =========
5
6
  Upgrading
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "igs-slm"
3
- version = "0.1.5b1"
3
+ version = "0.1.5b3"
4
4
  description = "IGS Site Log Manager"
5
5
  requires-python = ">=3.8,<4.0"
6
6
  authors = [
@@ -85,6 +85,11 @@ dependencies = [
85
85
 
86
86
  [project.optional-dependencies]
87
87
  gunicorn = ["gunicorn>=22.0.0"]
88
+ debug = [
89
+ "ipdb>=0.13.13,<1.0.0",
90
+ "django-debug-toolbar>=4.1.0,<5.0.0",
91
+ "django-extensions>=3.1.5,<4.0.0",
92
+ ]
88
93
 
89
94
 
90
95
  [build-system]
@@ -15,7 +15,7 @@ r"""
15
15
 
16
16
  """
17
17
 
18
- VERSION = (0, 1, "5b1")
18
+ VERSION = (0, 1, "5b3")
19
19
 
20
20
  __title__ = "IGS/Site Log Manager"
21
21
  __version__ = ".".join(str(i) for i in VERSION)
@@ -242,5 +242,5 @@ set_default(
242
242
  )
243
243
 
244
244
  WSGI_APPLICATION = env(
245
- "WSGI_APPLICATION", default=get_setting("WSGI_APPLICATION", "slm.wsgi")
245
+ "WSGI_APPLICATION", default=get_setting("WSGI_APPLICATION", "slm.wsgi.application")
246
246
  )
@@ -186,15 +186,18 @@ set_default(
186
186
  # instance than the instance that generates serialized artifacts
187
187
  SLM_FILE_DOMAIN = None
188
188
 
189
-
190
- set_default("SLM_STATION_NAME_REGEX", None)
191
- set_default("SLM_STATION_NAME_HELP", _("The name of the station."))
192
-
193
- # IGS Settings:
194
- # SLM_STATION_NAME_REGEX = r"[\w]{4}[\d]{2}[\w]{3}"
195
- # SLM_STATION_NAME_HELP = _(
196
- # "This is the 9 Character station name (XXXXMRCCC) used in RINEX 3 "
197
- # "filenames Format: (XXXX - existing four character IGS station "
198
- # "name, M - Monument or marker number (0-9), R - Receiver number "
199
- # "(0-9), CCC - Three digit ISO 3166-1 country code)"
200
- # )
189
+ SLM_IGS_STATION_NAMING = env(
190
+ "SLM_IGS_STATION_NAMING", default=get_setting("SLM_IGS_STATION_NAMING", False)
191
+ )
192
+ if SLM_IGS_STATION_NAMING:
193
+ # Use IGS naming rules for station names:
194
+ SLM_STATION_NAME_REGEX = r"[\w]{4}[\d]{2}[\w]{3}"
195
+ SLM_STATION_NAME_HELP = _(
196
+ "This is the 9 Character station name (XXXXMRCCC) used in RINEX 3 "
197
+ "filenames Format: (XXXX - existing four character IGS station "
198
+ "name, M - Monument or marker number (0-9), R - Receiver number "
199
+ "(0-9), CCC - Three digit ISO 3166-1 country code)"
200
+ )
201
+ else:
202
+ set_default("SLM_STATION_NAME_REGEX", None)
203
+ set_default("SLM_STATION_NAME_HELP", _("The name of the station."))