igs-slm 0.1.2b0__py3-none-any.whl → 0.1.5b0__py3-none-any.whl

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 (149) hide show
  1. igs_slm-0.1.5b0.dist-info/METADATA +115 -0
  2. {igs_slm-0.1.2b0.dist-info → igs_slm-0.1.5b0.dist-info}/RECORD +192 -172
  3. {igs_slm-0.1.2b0.dist-info → igs_slm-0.1.5b0.dist-info}/WHEEL +1 -1
  4. igs_slm-0.1.5b0.dist-info/entry_points.txt +3 -0
  5. {igs_slm-0.1.2b0.dist-info → igs_slm-0.1.5b0.dist-info/licenses}/LICENSE +1 -1
  6. slm/__init__.py +17 -14
  7. slm/admin.py +32 -5
  8. slm/api/edit/views.py +22 -9
  9. slm/api/public/views.py +10 -8
  10. slm/api/views.py +45 -6
  11. slm/apps.py +28 -6
  12. slm/authentication.py +3 -2
  13. slm/bin/startproject.py +102 -31
  14. slm/bin/templates/{{ project_dir }}/pyproject.toml +30 -21
  15. slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/base.py +12 -1
  16. slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/develop/__init__.py +5 -27
  17. slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/production/__init__.py +6 -27
  18. slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/validation.py +29 -0
  19. slm/context.py +5 -0
  20. slm/defines/AlertLevel.py +10 -2
  21. slm/defines/AntennaCalibration.py +6 -4
  22. slm/defines/AntennaFeatures.py +12 -9
  23. slm/defines/AntennaReferencePoint.py +12 -10
  24. slm/defines/Aspiration.py +4 -2
  25. slm/defines/CardinalDirection.py +6 -4
  26. slm/defines/CollocationStatus.py +3 -1
  27. slm/defines/EquipmentState.py +6 -12
  28. slm/defines/FlagSeverity.py +4 -2
  29. slm/defines/FractureSpacing.py +7 -5
  30. slm/defines/FrequencyStandardType.py +6 -4
  31. slm/defines/GeodesyMLVersion.py +2 -0
  32. slm/defines/Instrumentation.py +9 -7
  33. slm/defines/LogEntryType.py +17 -15
  34. slm/defines/SLMFileType.py +4 -2
  35. slm/defines/SiteFileUploadStatus.py +7 -24
  36. slm/defines/SiteLogFormat.py +8 -32
  37. slm/defines/SiteLogStatus.py +9 -28
  38. slm/defines/TectonicPlates.py +18 -16
  39. slm/manage.py +24 -0
  40. slm/management/commands/check_upgrade.py +142 -0
  41. slm/management/commands/generate_sinex.py +110 -92
  42. slm/management/commands/head_from_index.py +11 -8
  43. slm/management/commands/import_archive.py +27 -18
  44. slm/management/commands/import_equipment.py +1 -1
  45. slm/management/commands/sitelog.py +1 -3
  46. slm/management/commands/synchronize.py +1 -1
  47. slm/management/commands/validate_db.py +6 -4
  48. slm/map/defines.py +18 -14
  49. slm/map/templates/slm/map.html +4 -6
  50. slm/migrations/0001_remove_archiveindex_no_overlapping_ranges_per_site_and_more.py +26 -0
  51. slm/migrations/0002_alter_archivedsitelog_file_and_more.py +44 -0
  52. slm/migrations/0003_alter_archivedsitelog_name_and_more.py +35 -0
  53. slm/migrations/0004_alter_site_name.py +24 -0
  54. slm/migrations/0005_slmversion.py +30 -0
  55. slm/migrations/0017_alter_logentry_unique_together_and_more.py +3 -1
  56. slm/migrations/0018_afix_deleted.py +3 -1
  57. slm/migrations/0018_alter_siteantenna_options_and_more.py +87 -56
  58. slm/migrations/0019_remove_siteantenna_marker_enu_siteantenna_marker_une_and_more.py +1 -1
  59. slm/migrations/0023_archivedsitelog_gml_version_and_more.py +1 -1
  60. slm/migrations/0031_alter_antenna_features.py +44 -0
  61. slm/migrations/0032_archiveindex_valid_range_and_more.py +84 -0
  62. slm/migrations/add_index_order_index.py +54 -0
  63. slm/migrations/normalize_index.py +147 -0
  64. slm/migrations/simplify_index.py +48 -0
  65. slm/migrations/verify_index.py +67 -0
  66. slm/models/__init__.py +2 -0
  67. slm/models/alerts.py +7 -10
  68. slm/models/data.py +1 -2
  69. slm/models/equipment.py +1 -1
  70. slm/models/fields.py +41 -0
  71. slm/models/index.py +183 -53
  72. slm/models/sitelog.py +35 -38
  73. slm/models/system.py +72 -31
  74. slm/models/user.py +1 -1
  75. slm/parsing/__init__.py +34 -17
  76. slm/parsing/legacy/binding.py +65 -34
  77. slm/parsing/legacy/parser.py +2 -2
  78. slm/parsing/xsd/binding.py +1 -1
  79. slm/parsing/xsd/parser.py +1 -2
  80. slm/receivers/__init__.py +2 -2
  81. slm/receivers/index.py +2 -1
  82. slm/receivers/migration.py +21 -0
  83. slm/settings/__init__.py +192 -4
  84. slm/settings/assets.py +26 -0
  85. slm/settings/auth.py +18 -14
  86. slm/settings/ckeditor.py +12 -6
  87. slm/settings/debug.py +2 -2
  88. slm/settings/emails.py +50 -0
  89. slm/settings/internationalization.py +8 -6
  90. slm/settings/logging.py +100 -88
  91. slm/settings/platform/darwin.py +16 -6
  92. slm/settings/rest.py +20 -15
  93. slm/settings/root.py +192 -98
  94. slm/settings/routines.py +5 -1
  95. slm/settings/secrets.py +20 -31
  96. slm/settings/security.py +7 -5
  97. slm/settings/slm.py +35 -16
  98. slm/settings/static_templates.py +12 -9
  99. slm/settings/templates.py +31 -25
  100. slm/settings/uploads.py +33 -5
  101. slm/settings/urls.py +1 -1
  102. slm/settings/validation.py +165 -165
  103. slm/signals.py +3 -2
  104. slm/static/slm/css/style.css +37 -36
  105. slm/static/slm/js/autocomplete.js +6 -4
  106. slm/static/slm/js/file_modal.js +62 -0
  107. slm/static/slm/js/form.js +3 -3
  108. slm/static/slm/js/formWidget.js +3 -3
  109. slm/static/slm/js/persistable.js +5 -1
  110. slm/templates/admin/base.html +1 -0
  111. slm/templates/rest_framework/base.html +23 -11
  112. slm/templates/slm/base.html +27 -22
  113. slm/templates/slm/forms/widgets/auto_complete.html +12 -11
  114. slm/templates/slm/forms/widgets/auto_complete_multiple.html +8 -7
  115. slm/templates/slm/station/download.html +6 -6
  116. slm/templates/slm/station/edit.html +9 -17
  117. slm/templates/slm/station/review.html +5 -3
  118. slm/templates/slm/station/upload.html +4 -1
  119. slm/templates/slm/station/uploads/legacy.html +1 -1
  120. slm/templates/slm/widgets/alert_scroll.html +4 -8
  121. slm/templates/slm/widgets/filelist.html +0 -5
  122. slm/templates/slm/widgets/log_scroll.html +2 -13
  123. slm/templates/slm/widgets/stationlist.html +2 -8
  124. slm/templatetags/slm.py +70 -9
  125. slm/utils.py +13 -4
  126. slm/validators.py +14 -14
  127. slm/views.py +6 -6
  128. slm/wsgi.py +16 -0
  129. igs_slm-0.1.2b0.dist-info/METADATA +0 -151
  130. igs_slm-0.1.2b0.dist-info/entry_points.txt +0 -3
  131. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/validation.py +0 -11
  132. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/__init__.py +0 -0
  133. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/__init__.py +0 -0
  134. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/develop/local.py +0 -0
  135. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/develop/wsgi.py +0 -0
  136. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/manage.py +0 -0
  137. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/production/wsgi.py +0 -0
  138. /slm/bin/templates/{{ project_dir }}/{sites → src/sites}/{{ site }}/urls.py +0 -0
  139. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/__init__.py +0 -0
  140. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/admin.py +0 -0
  141. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/apps.py +0 -0
  142. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/management/__init__.py +0 -0
  143. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/management/commands/__init__.py +0 -0
  144. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/management/commands/import_archive.py +0 -0
  145. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/migrations/__init__.py +0 -0
  146. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/models.py +0 -0
  147. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/templates/slm/base.html +0 -0
  148. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/urls.py +0 -0
  149. /slm/bin/templates/{{ project_dir }}/{{{ extension_app }} → src/{{ extension_app }}}/views.py +0 -0
@@ -0,0 +1,115 @@
1
+ Metadata-Version: 2.4
2
+ Name: igs-slm
3
+ Version: 0.1.5b0
4
+ Summary: IGS Site Log Manager
5
+ Project-URL: Homepage, https://igs-slm.readthedocs.io
6
+ Project-URL: Documentation, https://igs-slm.readthedocs.io
7
+ Project-URL: Repository, https://github.com/International-GNSS-Service/SLM
8
+ Project-URL: Issues, https://github.com/International-GNSS-Service/SLM/issues
9
+ Project-URL: Changelog, https://igs-slm.readthedocs.io/en/latest/changelog.html
10
+ Author-email: Brian Kohan <bkohan@jpl.nasa.gov>, Ashley Santiago <ashley.k.santiago@jpl.nasa.gov>, Robert Khachikyan <robert.khachikyan@jpl.nasa.gov>
11
+ License-Expression: MIT
12
+ License-File: LICENSE
13
+ Keywords: BeiDou,GLONASS,GNSS,GPS,Galileo,IGS,International GNSS Service,QZSS,SLM,Site Log Manager
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Environment :: Web Environment
16
+ Classifier: Framework :: Django
17
+ Classifier: Framework :: Django :: 4.2
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Natural Language :: English
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Programming Language :: Python
23
+ Classifier: Programming Language :: Python :: 3.8
24
+ Classifier: Programming Language :: Python :: 3.9
25
+ Classifier: Programming Language :: Python :: 3.10
26
+ Classifier: Programming Language :: Python :: 3.11
27
+ Classifier: Programming Language :: Python :: 3.12
28
+ Classifier: Programming Language :: Python :: 3.13
29
+ Classifier: Topic :: Internet :: WWW/HTTP
30
+ Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
31
+ Classifier: Topic :: Software Development :: Libraries
32
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
33
+ Requires-Python: <4.0,>=3.8
34
+ Requires-Dist: chardet<6.0.0,>=5.1.0
35
+ Requires-Dist: click<8.2
36
+ Requires-Dist: crispy-bootstrap5<2025.0,>=2024.2
37
+ Requires-Dist: django-allauth>=65.4
38
+ Requires-Dist: django-ckeditor<7.0.0,>=6.5.1
39
+ Requires-Dist: django-compressor>=4.5.1
40
+ Requires-Dist: django-crispy-forms<3.0.0,>=2.0
41
+ Requires-Dist: django-enum<2.0.0,>=1.2.2
42
+ Requires-Dist: django-environ>=0.11.2
43
+ Requires-Dist: django-filter<25.0.0,>=24.2
44
+ Requires-Dist: django-ipware<8.0.0,>=7.0.1
45
+ Requires-Dist: django-polymorphic<5.0,>=4.1.0
46
+ Requires-Dist: django-render-static<4.0.0,>=3.1.2
47
+ Requires-Dist: django-routines<2.0.0,>=1.1.3
48
+ Requires-Dist: django-split-settings<2.0.0,>=1.2.0
49
+ Requires-Dist: django-typer<3.0.0,>=2.1.2
50
+ Requires-Dist: django-widget-tweaks<2.0.0,>=1.4.12
51
+ Requires-Dist: django<5.0,>=4.2.23
52
+ Requires-Dist: djangorestframework-gis<2.0.0,>=1.0
53
+ Requires-Dist: djangorestframework<4.0.0,>=3.15.2
54
+ Requires-Dist: enum-properties<2.0.0,>=1.7.0
55
+ Requires-Dist: geojson<4.0.0,>=3.1.0
56
+ Requires-Dist: importlib-resources>1.3.0
57
+ Requires-Dist: jinja2<4.0.0,>=3.1.2
58
+ Requires-Dist: lxml<6.0.0,>=5.2.1
59
+ Requires-Dist: packaging>=24.2
60
+ Requires-Dist: pillow<11.0.0,>=10.0.0
61
+ Requires-Dist: polyline<3.0.0,>=2.0.0
62
+ Requires-Dist: psycopg>=3.1
63
+ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
64
+ Requires-Dist: requests<3.0.0,>=2.32.4
65
+ Requires-Dist: rich<14.0.0,>=13.7.1
66
+ Requires-Dist: tqdm<5.0.0,>=4.64.1
67
+ Provides-Extra: gunicorn
68
+ Requires-Dist: gunicorn>=22.0.0; extra == 'gunicorn'
69
+ Description-Content-Type: text/markdown
70
+
71
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
72
+ [![PyPI version](https://badge.fury.io/py/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm/)
73
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm/)
74
+ [![PyPI djversions](https://img.shields.io/pypi/djversions/igs-slm.svg)](https://pypi.org/project/igs-slm/)
75
+ [![PyPI status](https://img.shields.io/pypi/status/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm)
76
+ [![Documentation Status](https://readthedocs.org/projects/igs-slm/badge/?version=latest)](http://igs-slm.readthedocs.io/?badge=latest/)
77
+ [![codecov](https://codecov.io/github/International-GNSS-Service/SLM/graph/badge.svg?token=PQVWN1LNM3)](https://codecov.io/github/International-GNSS-Service/SLM)
78
+ [![Test Status](https://github.com/International-GNSS-Service/SLM/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/International-GNSS-Service/SLM/actions/workflows/test.yml?branch=main)
79
+ [![Lint Status](https://github.com/International-GNSS-Service/SLM/workflows/lint/badge.svg)](https://github.com/International-GNSS-Service/SLM/actions/workflows/lint.yml)
80
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
81
+
82
+ # ![](https://github.com/International-GNSS-Service/SLM/blob/main/src/slm/static/slm/img/slm-logo.svg?raw=true)
83
+ Site Log Manager (SLM)
84
+ The Site Log Manager (SLM) is a web framework for managing [GNSS](https://en.wikipedia.org/wiki/Satellite_navigation) ground station meta data. `SLM` is maintained by the [International GNSS Service](https://igs.org/) and is freely licensed for general use under the [MIT License](https://opensource.org/license/mit). The SLM is implemented in [Python](https://python.org) and JavaScript using the [Django web framework](https://djangoproject.com).
85
+
86
+ The SLM aims to provide:
87
+
88
+ * GNSS Site meta data (site log) management with a moderation workflow.
89
+ * Support for multiple organizations and networks to be managed in an access controlled way.
90
+ * Full legacy site log format support (both import and export).
91
+ * Full GeodesyML support (both import and export).
92
+ * JSON renderings of meta data.
93
+ * Point-and-click graphical editing of site log data.
94
+ * Public RESTful api for searching site log data.
95
+ * Authenticated RESTful api for updating site log data.
96
+ * Full access to the historical record.
97
+ * Visualizations of networks and site information.
98
+ * Configurable data validation that goes above and beyond schema validation.
99
+ * Image and file attachments to sites.
100
+ * A no-fork extensible architecture that allows organizations to modify out-of-the box behavior
101
+ with plugins.
102
+
103
+ Full documentation is available on [igs-slm.readthedocs.org](https://igs-slm.rtfd.org) and speaks to multiple audiences:
104
+
105
+ * **Developers** will want to refer to the [Installation](https://igs-slm.rtfd.org/en/latest/installation.html), [Architecture](https://igs-slm.rtfd.org/en/latest/architecture.html), [Commands](https://igs-slm.rtfd.org/en/latest/commands.html) and [Reference](https://igs-slm.rtfd.org/en/latest/reference.html) sections.
106
+ * **System administrators** may be interested in [operations](https://igs-slm.rtfd.org/en/latest/overview.html) and [Commands](https://igs-slm.rtfd.org/en/latest/operations.html).
107
+ * **Users** and **network coordinators** will be interested in the [User Manual](https://igs-slm.rtfd.org/en/latest/manual.html).
108
+ * **Developers** wishing to work with SLM managed data will be interested in the [APIs](https://igs-slm.rtfd.org/en/latest/APIs.html).
109
+ * **Everyone**, but particularly **program managers** will want to take a look at the
110
+ [Overview](https://igs-slm.rtfd.org/en/latest/overview.html).
111
+
112
+ > ## ⚠️ **Warning**
113
+ > **The SLM has reached beta-maturity but is still undergoing rapid development. Check back soon for new documentation and updates. A version 1.0 stable release is expected in late September 2024.**
114
+
115
+ Please use the [discussions page](https://github.com/International-GNSS-Service/SLM/discussions/landing) for general inquiry and the [issues page](https://github.com/International-GNSS-Service/SLM/issues) to report bugs. Our road map is on the [projects page](https://github.com/International-GNSS-Service/SLM/projects).