https://github.com/propylon/django-version-endpoint
Provide endpoints to expose versions of installed python packages
https://github.com/propylon/django-version-endpoint
django django-application python
Last synced: 11 months ago
JSON representation
Provide endpoints to expose versions of installed python packages
- Host: GitHub
- URL: https://github.com/propylon/django-version-endpoint
- Owner: propylon
- License: apache-2.0
- Created: 2019-07-04T08:19:16.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-02T10:03:22.000Z (almost 7 years ago)
- Last Synced: 2025-07-24T06:01:54.944Z (11 months ago)
- Topics: django, django-application, python
- Language: Python
- Size: 200 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
django-version-endpoint
=======================
> Provide an endpoint to query installed python package versions
.. image:: https://travis-ci.org/propylon/django-version-endpoint.svg?branch=master
:target: https://travis-ci.org/propylon/django-version-endpoint
Usage
-----
Installation
************
1. Install the package::
pip install django-version-endpoint
2. Install the application by adding it to the INSTALLED_APPS setting::
INSTALLED_APPS += ('version_endpoint',)
3. Set the package names, you're interested in::
VERSION_ENDPOINT_PACKAGE_NAMES = (
'all',
'interesting',
'packages'
)
4. Add the url to your urls.py::
from django.conf.urls import include
urlpatterns += url(r'^', include('version_endpoint.urls'))
Endpoints
*********
versions/
^^^^^^^^^
You can call the "versions" endpoint to get the information about the installed
package versions.
Request a content type of "application/json" and a dictionary is returned::
{
'versions': {
'all': '1.1',
'interesting': '2.2',
'packages': '3.3'
},
'host': 'hostname'
}
Otherwise a rendered html page is returned.
versions//
^^^^^^^^^^^^^^^^^^^^^^^^
The versions endpoint can get a single package name as well to specifically
return the mentioned package's version.
Overwriting the template
************************
In order to overwrite the html template for your needs, just create a template
called "version_endpoint.html" in your project, that's retrieved before the
default one of the application.
For example with the standard template loader and directory in the project's
folder under a "templates" folder.
You can use the dictionary mentioned above as context for the template.
If you want to override the html response for the single package endpoint, you
can do the same for the "version_endpoint_single.html" template.
Development
-----------
Makefile
********
This project uses a Makefile for various tasks. Some of the available tasks
are listed below.
* `make clean` - Clean build artifacts out of your project
* `make test` - Run Tests
* `make plain-test` - Run Tests without rebuilding the project
* `make sdist` - Build a Python source distribution
* `make docs` - Build the Sphinx documentation
* `make lint` - Get a codestyle report about your code
* `make plain-lint` - Get a codestyle report without rebuilding the project
* `make` - Equivalent to `make test lint docs sdist`