Dependencies

The SLM relies on the following third party packages. We carefully review each third party dependency for inclusion based on maturity, maintenance activity, security posture and license compatibility. We also monitor security vulnerability reports

Versions

When possible we specify wide version ranges on our dependencies. We recognize that downstream users of the SLM may extend it significantly and we maintain these wide ranges to minimize dependency version conflicts. We test using both minimum and maximum dependency version resolution.

Note

The SLM will always track Django LTS releases. These are the x.2.x series. This means the SLM will not support more than one Django feature release and that release will always be a x.2.x series.

Runtime Dependencies

We do not list incidental or development dependencies here. (e.g. dependencies of dependencies and so on).

Direct Python Runtime Dependencies

Package

Usage

License

chardet

Determine encoding of text files.

LGPL

crispy-bootstrap5

Use Bootstrap5 theme for django-crispy-forms.

MIT

django

Web framework that forms the foundation of the SLM.

BSD

django-allauth

General purpose authentication framework, includes social auth integrations.

MIT

django-ckeditor

Browser based rich text editing for emails and about/help pages.

BSD

django-compressor

Build and minify javascript and css artifacts.

MIT

django-crispy-forms

More user friendly form definitions.

MIT

django-enum

Use Python Enum types as model fields.

MIT

django-environ

Configure settings from environment variables.

MIT

django-filter

Build URL query filters for the API.

BSD

django-ipware

Get client IP address from a Django request.

MIT

django-polymorphic

Define polymorphic models for Django.

BSD

django-render-static

Render static files at deployment time. Transpilation of Python code to Javascript.

MIT

django-routines

Define collections of commands as runnable routines in settings.

MIT

django-split-settings

Compose settings from multiple python files.

BSD

django-typer

Build Django management commands using Typer.

MIT

django-widget-tweaks

Easy customization of html elements in template code.

MIT

djangorestframework

Build RESTful APIs.

BSD

djangorestframework-gis

Allow API endpoints to render GIS model field types (polygons).

MIT

enum-properties

Define Enum types with additional properties.

MIT

geojson

Python bindings and utilities for GeoJSON.

BSD

importlib-resources

Access data files within packages.

Apache 2.0

Jinja2

Render site log files in GeodesyML and legacy ASCII formats.

BSD

lxml

Parse GeodesyML files.

BSD

packaging

Parse python package version strings.

BSD/Apache 2.0

Pillow

For image manipulation and meta data extraction.

MIT-CMU

polyline

Compress polygons into text that can be passed in urls.

MIT

psycopg

Talk to postgres databases.

LGPL

python-dateutil

Powerful extensions to the standard datetime module.

BSD/Apache 2.0

requests

Make HTTP requests.

Apache 2.0

rich

Nice formatting for terminal output.

MIT

tqdm

Terminal progress bars.

MIT/MPLv2

Development Dependencies

Todo

Dev dependencies

Documentation Dependencies

Todo

Doc dependencies