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.
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
Release history Release notifications | RSS feed
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)
File details
Details for the file django-sysinfo-0.3.tar.gz
.
File metadata
- Download URL: django-sysinfo-0.3.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a049dcb4736eca4843beb4da315716e80adbf9c995e857111d6457618c8a5222 |
|
MD5 | f95f18e8be9b38ccd72b6bfaba5b49d8 |
|
BLAKE2b-256 | 913283c031e6daad4df7b4aaf55a7f0bf4700919b1f1ec590fa3c7da3e9a184e |