Skip to main content

Simple django app to expose system infos: libraries version, databae server infos...

Project description

==============
django-sysinfo
==============

.. image:: https://badge.fury.io/py/django-sysinfo.png
:target: https://badge.fury.io/py/django-sysinfo

.. image:: https://travis-ci.org/saxix/django-sysinfo.png?branch=master
:target: https://travis-ci.org/saxix/django-sysinfo

Simple django app to expose system infos like libraries version, database server...

Rationale
---------

In our environment we manage dozens Django's applications and sometimes we need to answer questions like:

- which application is using this broken/outdated package ?
- which application is using that database ?
...

scan all the installed sites, is tedious, we have a documentation site with
all these infos, but we want to keep it always updated.
Here where django-sysinfo comes to help.


It provides a simple view that returns a json response containing:

- database:
- ip
- engine
- version

- environment:
- installed modules and version

- project:
- MEDIA_ROOT/STATIC_ROOT path and available disk space
- django installed apps
- process path
- temp dir path

- os:
- name

- python:
- version
- executable path

- host:
- cpu(s) number
- free/total memory
- NIC list and relative IP addresses


You can add entries and/or remove what can be dangerous in your enviroment.
The url is protected with Basic Authentication without install `RemoteUserBackend`.

Allowed user to use the service can be restricted using ``settings.SYSINFO_USERS``
if not exist any superuser can use the endpoint::

settings.SYSINFO_USERS = ['username',]


Quickstart
----------

Install django-sysinfo::

pip install django-sysinfo

put it in your `INSTALLED_APPS`::

INSTALLED_APPS=[...
'django_sysinfo'
]

add relevant entries in your url.conf::

urlpatterns = (
....
url(r'', include(django_sysinfo.urls)),
)

or customize them::

from django_sysinfo.views import http_basic_login, sysinfo

urlpatterns = (
url('sys/info/$', http_basic_login(sysinfo), name='sys-info'),
url('sys/version/(?P<name>.*)/$', version, name='sys-version')
)





=======
History
=======

0.3 (27 Mar 2016)
-----------------
* dropped support Django<1.6
* add `settings.SYSINFO_USERS` to manage access
* default Basic Authentication protected urls
* removed 'sys' prefix from default urlpatterns
* new 'echo' endpoint

0.2 (13 Feb 2016)
-----------------
* add some infos
* output sorted to improve readibility
* add ability to filter sections (?s=os,python)
* add CACHES infos
* removed command line utility


0.1.1 (20 Jan 2016)
-------------------
* improved coverage
* fixes typos in copyright


0.1.0 (2016-01-15)
------------------
* First release on PyPI.

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

django-sysinfo-0.3.tar.gz (16.8 kB view details)

Uploaded Source

File details

Details for the file django-sysinfo-0.3.tar.gz.

File metadata

File hashes

Hashes for django-sysinfo-0.3.tar.gz
Algorithm Hash digest
SHA256 a049dcb4736eca4843beb4da315716e80adbf9c995e857111d6457618c8a5222
MD5 f95f18e8be9b38ccd72b6bfaba5b49d8
BLAKE2b-256 913283c031e6daad4df7b4aaf55a7f0bf4700919b1f1ec590fa3c7da3e9a184e

See more details on using hashes here.

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