igs-slm


Nameigs-slm JSON
Version 0.1.4b0 PyPI version JSON
download
home_pagehttps://igs-slm.readthedocs.io
SummaryIGS Site Log Manager
upload_time2024-07-19 22:27:13
maintainerNone
docs_urlNone
authorAshley Santiago
requires_python<4.0,>=3.8
licenseMIT
keywords slm site log manager igs international gnss service gnss gps glonass galileo beidou qzss
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![PyPI version](https://badge.fury.io/py/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm/)
[![PyPI djversions](https://img.shields.io/pypi/djversions/igs-slm.svg)](https://pypi.org/project/igs-slm/)
[![PyPI status](https://img.shields.io/pypi/status/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm)
[![Documentation Status](https://readthedocs.org/projects/igs-slm/badge/?version=latest)](http://igs-slm.readthedocs.io/?badge=latest/)
[![codecov](https://codecov.io/github/International-GNSS-Service/SLM/graph/badge.svg?token=PQVWN1LNM3)](https://codecov.io/github/International-GNSS-Service/SLM)
[![Test Status](https://github.com/International-GNSS-Service/SLM/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/International-GNSS-Service/SLM/actions/workflows/test.yml?branch=master)
[![Lint Status](https://github.com/International-GNSS-Service/SLM/workflows/lint/badge.svg)](https://github.com/International-GNSS-Service/SLM/actions/workflows/lint.yml)
[![Security Status](https://github.com/International-GNSS-Service/SLM/workflows/security/badge.svg)](https://github.com/International-GNSS-Service/SLM/actions/workflows/security.yml)
[![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)

# ![](https://github.com/International-GNSS-Service/SLM/blob/master/slm/static/slm/img/slm-logo.svg?raw=true) 
Site Log Manager (SLM)

The Site Log Manager (SLM) is a web platform that aims to provide:

1. GNSS Site meta data (site log) management with a moderation workflow.
2. Support for multiple organizations and networks to be managed in an access controlled way.
3. Full legacy site log format support (both import and export).
4. Full GeodesyML support (both import and export).
5. JSON renderings of meta data.
6. Point-and-click graphical editing of site log data.
7. Public RESTful api for searching site log data.
8. Authenticated RESTful api for updating site log data.
9. Full access to the historical record.
10. Visualizations of networks and site information.
11. Configurable data validation that goes above and beyond schema validation.
12. Image and file attachments to sites.    
13. A no-fork extensible architecture that allows organizations to modify out-of-the box
behavior with plugins.

This code base has reached beta-maturity but is still undergoing rapid development. Check back soon 
for new documentation and updates.


## Table of Contents
1. [Design](#Design)
   1. [Stack](#Stack)
   2. [Organization](#Organization)

## Design

SLM is built in Python using the [Django website development framework.](https://www.djangoproject.com/)
Django is well documented. A basic understanding of how it works is helpful to understand how SLM is
put together. In addition to the [good intro tutorials](https://docs.djangoproject.com/en/stable/intro/tutorial01/), it's
helpful to understand [how reusable Django apps work](https://docs.djangoproject.com/en/stable/intro/reusable-apps/), how
[settings files work](https://docs.djangoproject.com/en/stable/topics/settings/) and how 
[management commands work.](https://docs.djangoproject.com/en/stable/howto/custom-management-commands/)

### Stack
 
Django can be served behind many http servers. A common production environment uses [Apache](https://httpd.apache.org/)
managing Django as a [WSGI](https://modwsgi.readthedocs.io/en/develop/index.html) daemon, but
another common setup involves proxying a [gunicorn](https://gunicorn.org/) instance behind [nginx](https://www.nginx.com).
In addition to Django, other critical components of the software stack are listed in the table below. Not all Python
dependencies are listed because many are incidental.

| Dependency                                                                     | Description                                          |
| ------------------------------------------------------------------------------ | ---------------------------------------------------- |
| [PostgreSQL](https://www.postgresql.org/)                                      | Relation database management system                  |
| [Django](https://djangoproject.com)                                            | Website development framework                        |
| [jQuery](https://jquery.com/)                                                  | Javascript DOM navigation library                    |
| [DataTables](https://datatables.net/)                                          | Javascript tables library                            |
| [Bootstrap](https://getbootstrap.com/)                                         | CSS framework                                        |
| [djangorestframework](https://www.django-rest-framework.org/)                  | RESTful API framework for Django                     |
| [django-split-settings](https://github.com/sobolevn/django-split-settings)     | Composite settings files for Django                  |
| [django_compressor](https://django-compressor.readthedocs.io/en/stable/)       | Static file compression and management               |
| [memcached](https://memcached.org/)                                            | Memory object caching system                         |
| [django-render-static](https://django-render-static.readthedocs.io/en/latest/) | Static file rendering, javascript urls               |
| [django-debug-toolbar](https://django-debug-toolbar.readthedocs.io/en/latest/) | Debugging components for Django sites (test only)    |


### Organization

#### Environment & Setup

1. [pyenv](https://github.com/pyenv/pyenv) is not strictly required, but it is highly recommended to help manage multiple
   local Python installations and keep environments clean. Python 3.8+ is required.
2. [Poetry](https://Python-poetry.org/) is used for dependency and package management.
3. SLM requires PostgresSQL along with the PostGIS extension that enables geographic queries to be run directly by the database.
   
   | RDBMS                                        | Minimum Version   | Management Utilities                                        |
   | ---------------------------------------------| ----------------- | ------------------------------------------------------------|
   | [PostgreSQL](https://www.postgresql.org/)    | 12                | [PgAdmin](https://www.pgadmin.org/)                         |

            

Raw data

            {
    "_id": null,
    "home_page": "https://igs-slm.readthedocs.io",
    "name": "igs-slm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "SLM, Site Log Manager, IGS, International GNSS Service, GNSS, GPS, GLONASS, Galileo, BeiDou, QZSS",
    "author": "Ashley Santiago",
    "author_email": "ashley.k.santiago@jpl.nasa.gov",
    "download_url": "https://files.pythonhosted.org/packages/e8/21/591b27913ed7cc15084660313d8b3e22121d847a035cb794354557b6b124/igs_slm-0.1.4b0.tar.gz",
    "platform": null,
    "description": "[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![PyPI version](https://badge.fury.io/py/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm/)\n[![PyPI djversions](https://img.shields.io/pypi/djversions/igs-slm.svg)](https://pypi.org/project/igs-slm/)\n[![PyPI status](https://img.shields.io/pypi/status/igs-slm.svg)](https://pypi.python.org/pypi/igs-slm)\n[![Documentation Status](https://readthedocs.org/projects/igs-slm/badge/?version=latest)](http://igs-slm.readthedocs.io/?badge=latest/)\n[![codecov](https://codecov.io/github/International-GNSS-Service/SLM/graph/badge.svg?token=PQVWN1LNM3)](https://codecov.io/github/International-GNSS-Service/SLM)\n[![Test Status](https://github.com/International-GNSS-Service/SLM/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/International-GNSS-Service/SLM/actions/workflows/test.yml?branch=master)\n[![Lint Status](https://github.com/International-GNSS-Service/SLM/workflows/lint/badge.svg)](https://github.com/International-GNSS-Service/SLM/actions/workflows/lint.yml)\n[![Security Status](https://github.com/International-GNSS-Service/SLM/workflows/security/badge.svg)](https://github.com/International-GNSS-Service/SLM/actions/workflows/security.yml)\n[![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)\n\n# ![](https://github.com/International-GNSS-Service/SLM/blob/master/slm/static/slm/img/slm-logo.svg?raw=true) \nSite Log Manager (SLM)\n\nThe Site Log Manager (SLM) is a web platform that aims to provide:\n\n1. GNSS Site meta data (site log) management with a moderation workflow.\n2. Support for multiple organizations and networks to be managed in an access controlled way.\n3. Full legacy site log format support (both import and export).\n4. Full GeodesyML support (both import and export).\n5. JSON renderings of meta data.\n6. Point-and-click graphical editing of site log data.\n7. Public RESTful api for searching site log data.\n8. Authenticated RESTful api for updating site log data.\n9. Full access to the historical record.\n10. Visualizations of networks and site information.\n11. Configurable data validation that goes above and beyond schema validation.\n12. Image and file attachments to sites.    \n13. A no-fork extensible architecture that allows organizations to modify out-of-the box\nbehavior with plugins.\n\nThis code base has reached beta-maturity but is still undergoing rapid development. Check back soon \nfor new documentation and updates.\n\n\n## Table of Contents\n1. [Design](#Design)\n   1. [Stack](#Stack)\n   2. [Organization](#Organization)\n\n## Design\n\nSLM is built in Python using the [Django website development framework.](https://www.djangoproject.com/)\nDjango is well documented. A basic understanding of how it works is helpful to understand how SLM is\nput together. In addition to the [good intro tutorials](https://docs.djangoproject.com/en/stable/intro/tutorial01/), it's\nhelpful to understand [how reusable Django apps work](https://docs.djangoproject.com/en/stable/intro/reusable-apps/), how\n[settings files work](https://docs.djangoproject.com/en/stable/topics/settings/) and how \n[management commands work.](https://docs.djangoproject.com/en/stable/howto/custom-management-commands/)\n\n### Stack\n \nDjango can be served behind many http servers. A common production environment uses [Apache](https://httpd.apache.org/)\nmanaging Django as a [WSGI](https://modwsgi.readthedocs.io/en/develop/index.html) daemon, but\nanother common setup involves proxying a [gunicorn](https://gunicorn.org/) instance behind [nginx](https://www.nginx.com).\nIn addition to Django, other critical components of the software stack are listed in the table below. Not all Python\ndependencies are listed because many are incidental.\n\n| Dependency                                                                     | Description                                          |\n| ------------------------------------------------------------------------------ | ---------------------------------------------------- |\n| [PostgreSQL](https://www.postgresql.org/)                                      | Relation database management system                  |\n| [Django](https://djangoproject.com)                                            | Website development framework                        |\n| [jQuery](https://jquery.com/)                                                  | Javascript DOM navigation library                    |\n| [DataTables](https://datatables.net/)                                          | Javascript tables library                            |\n| [Bootstrap](https://getbootstrap.com/)                                         | CSS framework                                        |\n| [djangorestframework](https://www.django-rest-framework.org/)                  | RESTful API framework for Django                     |\n| [django-split-settings](https://github.com/sobolevn/django-split-settings)     | Composite settings files for Django                  |\n| [django_compressor](https://django-compressor.readthedocs.io/en/stable/)       | Static file compression and management               |\n| [memcached](https://memcached.org/)                                            | Memory object caching system                         |\n| [django-render-static](https://django-render-static.readthedocs.io/en/latest/) | Static file rendering, javascript urls               |\n| [django-debug-toolbar](https://django-debug-toolbar.readthedocs.io/en/latest/) | Debugging components for Django sites (test only)    |\n\n\n### Organization\n\n#### Environment & Setup\n\n1. [pyenv](https://github.com/pyenv/pyenv) is not strictly required, but it is highly recommended to help manage multiple\n   local Python installations and keep environments clean. Python 3.8+ is required.\n2. [Poetry](https://Python-poetry.org/) is used for dependency and package management.\n3. SLM requires PostgresSQL along with the PostGIS extension that enables geographic queries to be run directly by the database.\n   \n   | RDBMS                                        | Minimum Version   | Management Utilities                                        |\n   | ---------------------------------------------| ----------------- | ------------------------------------------------------------|\n   | [PostgreSQL](https://www.postgresql.org/)    | 12                | [PgAdmin](https://www.pgadmin.org/)                         |\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "IGS Site Log Manager",
    "version": "0.1.4b0",
    "project_urls": {
        "Homepage": "https://igs-slm.readthedocs.io",
        "Repository": "https://github.com/International-GNSS-Service/SLM"
    },
    "split_keywords": [
        "slm",
        " site log manager",
        " igs",
        " international gnss service",
        " gnss",
        " gps",
        " glonass",
        " galileo",
        " beidou",
        " qzss"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e581d1a8eaa319cac86e91cf242d1251411d29a74c7dbab56ad1b0224eae6f83",
                "md5": "0619c816bec2a68cf28ea27eb887461d",
                "sha256": "823b0fadfc8aa673eb1903790abd8017bd31dab8626f434702dcba05c77d983c"
            },
            "downloads": -1,
            "filename": "igs_slm-0.1.4b0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0619c816bec2a68cf28ea27eb887461d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 1515602,
            "upload_time": "2024-07-19T22:27:08",
            "upload_time_iso_8601": "2024-07-19T22:27:08.948720Z",
            "url": "https://files.pythonhosted.org/packages/e5/81/d1a8eaa319cac86e91cf242d1251411d29a74c7dbab56ad1b0224eae6f83/igs_slm-0.1.4b0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e821591b27913ed7cc15084660313d8b3e22121d847a035cb794354557b6b124",
                "md5": "7fa6b24031f3796e5bcd86627f959fb0",
                "sha256": "1cad5708b13265ff84d70b69ee3ede417be8493a3880dd00816951009fa41ae9"
            },
            "downloads": -1,
            "filename": "igs_slm-0.1.4b0.tar.gz",
            "has_sig": false,
            "md5_digest": "7fa6b24031f3796e5bcd86627f959fb0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 1345172,
            "upload_time": "2024-07-19T22:27:13",
            "upload_time_iso_8601": "2024-07-19T22:27:13.562857Z",
            "url": "https://files.pythonhosted.org/packages/e8/21/591b27913ed7cc15084660313d8b3e22121d847a035cb794354557b6b124/igs_slm-0.1.4b0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-19 22:27:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "International-GNSS-Service",
    "github_project": "SLM",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "igs-slm"
}
        
Elapsed time: 4.85266s