Skip to main content

IGS Site Log Manager

Reason this release was yanked:

version mismatch

Project description

License: MIT PyPI version PyPI pyversions PyPI djversions PyPI status Documentation Status codecov Test Status Lint Status Security Status Ruff

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
    1. Stack
    2. Organization

Design

SLM is built in Python using the Django website development framework. 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, it's helpful to understand how reusable Django apps work, how settings files work and how management commands work.

Stack

Django can be served behind many http servers. A common production environment uses Apache managing Django as a WSGI daemon, but another common setup involves proxying a gunicorn instance behind nginx. 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 Relation database management system
Django Website development framework
jQuery Javascript DOM navigation library
DataTables Javascript tables library
Bootstrap CSS framework
djangorestframework RESTful API framework for Django
django-split-settings Composite settings files for Django
django_compressor Static file compression and management
memcached Memory object caching system
django-render-static Static file rendering, javascript urls
django-debug-toolbar Debugging components for Django sites (test only)

Organization

Environment & Setup

  1. 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 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 12 PgAdmin

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

igs_slm-0.1.0b0.tar.gz (1.3 MB view hashes)

Uploaded Source

Built Distribution

igs_slm-0.1.0b0-py3-none-any.whl (1.5 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page