{ "info": { "author": "Maikel Vlasman (Mediamoose)", "author_email": "maikel@mediamoose.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Versions Client\n===============\n\nAdds a Prometheus exporter to your web application to read out version information.\n\n\nInstallation\n++++++++++++\n\n.. code-block:: sh\n\n pip install versions-client\n\n # This stores the OS packages upfront because it's very resource intensive\n os-package-versions > /var/local/os-package-versions.yaml\n\n\nUsage\n+++++\n\n.. code-block:: python\n\n >>> import versions_client\n >>> versions_client.generate_versions(version='1.0', revision='d0935f4')\n\n # HELP version_application version info.\n # TYPE version_application gauge\n version_application{version=\"1.0\",revision=\"d0935f4\"} 1\n # HELP version_platform version info.\n # TYPE version_platform gauge\n version_platform{achitecture=\"64bit\",name=\"linux\",system=\"4.13.3-coreos\",distro_version=\"8.9\",distro_id=\"debian\",distro_name=\"debian\",type=\"x86_64\"} 1\n # HELP version_python version info.\n # TYPE version_python gauge\n version_python{date=\"2017-10-10 02:49:49\",implementation=\"cpython\",version=\"2.7.14\",compiler=\"gcc 4.9.2\"} 1\n # HELP version_package version info.\n # TYPE version_package gauge\n version_package{version=\"4.9.2\",group=\"os\",name=\"libgcc1\"} 1\n version_package{version=\"4.9.2\",group=\"os\",name=\"libitm1\"} 1\n version_package{version=\"2.0.21\",group=\"os\",name=\"libevent-2.0-5\"} 1\n ...\n version_package{version=\"0.30.0\",group=\"python\",name=\"wheel\"} 1\n version_package{version=\"15.1.0\",group=\"python\",name=\"virtualenv\"} 1\n version_package{version=\"1.0.0\",group=\"python\",name=\"versions-client\"} 1\n version_package{version=\"36.5.0\",group=\"python\",name=\"setuptools\"} 1\n version_package{version=\"3.12\",group=\"python\",name=\"pyyaml\"} 1\n version_package{version=\"0.0.21\",group=\"python\",name=\"prometheus-client\"} 1\n version_package{version=\"9.0.1\",group=\"python\",name=\"pip\"} 1\n version_package{version=\"0.2.0\",group=\"python\",name=\"envparse\"} 1\n ...\n\n\nSettings\n--------\n\n+------------------------------+----------------------------------------------------------------------+\n| Environment variable | Description |\n+==============================+======================================================================+\n| ``VERSIONS_OS_PACKAGE_PATH`` | The path to the stored os packages file. |\n+------------------------------+----------------------------------------------------------------------+\n\n\nUsage with Django\n-----------------\n\n#.\n\n Add application labels to your django settings:\n\n .. code-block:: python\n\n INSTALLED_APPS = (\n # ...\n 'versions_client',\n # ...\n )\n\n ...\n\n VERSIONS_AUTH = [('admin', 'secret')]\n VERSIONS_LABELS = {\n 'version': 'v1.0',\n 'revision': 'd0935f4',\n }\n\n\n#.\n\n \\a. Add the included URL's:\n\n .. code-block:: python\n\n # urls.py\n\n from django.conf.urls import include, url\n\n\n urlpatterns = [\n url(r'^', include('versions_client.django.urls')),\n ]\n\n This creates an endpoint on `/versionz`.\n\n\n \\b. Or create your own URL's and views:\n\n .. code-block:: python\n\n # urls.py\n\n from django.conf.urls import include, url\n\n from . import views\n\n\n urlpatterns = [\n url(r'^metrics$', views.metrics_view, name='prometheus-django-metrics'),\n ]\n\n\n To get more metrics, you could integrate `django-prometheus `_.\n\n In this example we combine our metrics with those from `prometheus-client `_.\n\n .. code-block:: python\n\n # views.py\n\n import prometheus_client\n from django.conf import settings\n from django.http.response import HttpResponse\n import versions_client\n\n\n @versions_client.django.auth.basic\n def metrics_view(request):\n application_labels = getattr(settings, 'VERSIONS_LABELS', {})\n metrics_page = prometheus_client.generate_latest()\n version_page = versions_client.generate_versions(**application_labels)\n return HttpResponse(\n metrics_page + version_page,\n content_type=prometheus_client.CONTENT_TYPE_LATEST)", "description_content_type": "", "docs_url": null, "download_url": "https://gitlab.com/mediamoose/versions-client/repository/v0.4/archive.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/mediamoose/versions-client/tree/v0.4", "keywords": "versions-client,prometheus,versions,monitoring", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "versions-client", "package_url": "https://pypi.org/project/versions-client/", "platform": "", "project_url": "https://pypi.org/project/versions-client/", "project_urls": { "Download": "https://gitlab.com/mediamoose/versions-client/repository/v0.4/archive.tar.gz", "Homepage": "https://gitlab.com/mediamoose/versions-client/tree/v0.4" }, "release_url": "https://pypi.org/project/versions-client/0.4/", "requires_dist": null, "requires_python": ">=2.7", "summary": "Fetch software versions from your app for Prometheus.", "version": "0.4" }, "last_serial": 4547054, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c0564a4d6581f56f0c96d16f71f33362", "sha256": "b02ba189f4ad73228ea8aa93cb91cdb1729d5b5fa32a9f146487db1d7bd6b3d9" }, "downloads": -1, "filename": "versions-client-0.1.tar.gz", "has_sig": false, "md5_digest": "c0564a4d6581f56f0c96d16f71f33362", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5203, "upload_time": "2017-11-03T10:15:57", "url": "https://files.pythonhosted.org/packages/80/a0/cb06e26d6ed4e5135d5957be249cc88bfa107c15e5bf00e4beb2faec0c8e/versions-client-0.1.tar.gz" } ], "0.1a6": [ { "comment_text": "", "digests": { "md5": "a2b8ef496c8f9d6c89e1add613866706", "sha256": "5c077c85a3b3896811c2e398c372ce2b43fe24d69bd076af22a8e455a2d376d4" }, "downloads": -1, "filename": "versions-client-0.1a6.tar.gz", "has_sig": false, "md5_digest": "a2b8ef496c8f9d6c89e1add613866706", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5017, "upload_time": "2017-10-26T13:00:59", "url": "https://files.pythonhosted.org/packages/65/8e/0949894a0e8205cc1d7ab543799dea3b01a81051fbbf8036efb9d835ea82/versions-client-0.1a6.tar.gz" } ], "0.1a7": [ { "comment_text": "", "digests": { "md5": "4a110724b5a5e53606cac08cd168818e", "sha256": "c3180e1aa2ea94d40184becd641349c131ba5c8ce60dd0f8a0609d73e9cc059f" }, "downloads": -1, "filename": "versions-client-0.1a7.tar.gz", "has_sig": false, "md5_digest": "4a110724b5a5e53606cac08cd168818e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5205, "upload_time": "2017-11-02T11:31:30", "url": "https://files.pythonhosted.org/packages/ff/38/03dc69405a4653687bbbc383955883cb86d18fecb74d1e44073a8976cef7/versions-client-0.1a7.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "4765bfa3a247f10bc59ff42ad623ee53", "sha256": "38b25d3e5754f81b863c7f05faeabd13fd732b47781082c410b934c3d34a64ff" }, "downloads": -1, "filename": "versions-client-0.2.tar.gz", "has_sig": false, "md5_digest": "4765bfa3a247f10bc59ff42ad623ee53", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5204, "upload_time": "2018-01-11T09:06:02", "url": "https://files.pythonhosted.org/packages/49/fa/90fe92f93e2b58a74d11a980e9bd0a10062f6d482aa71b702d49966ddc73/versions-client-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "c8099a882295109028416d27274237e0", "sha256": "4cb8a52d12702bf36df98a05a67486619065b2c6e4cf1d92f3eb14f69ed81ba5" }, "downloads": -1, "filename": "versions-client-0.3.tar.gz", "has_sig": false, "md5_digest": "c8099a882295109028416d27274237e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5164, "upload_time": "2018-06-01T12:49:29", "url": "https://files.pythonhosted.org/packages/19/46/a37b2dbd3978d7dd278802d2b730eb44a785e143969e7c4d3c84faeecd76/versions-client-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "6a6e7ced0e5135de57fa614f6d5b94d3", "sha256": "67b7bd6a8d7f7eb85edca7c0c4828823615087e6bd6f89906033e813b331eebe" }, "downloads": -1, "filename": "versions-client-0.4.tar.gz", "has_sig": false, "md5_digest": "6a6e7ced0e5135de57fa614f6d5b94d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5203, "upload_time": "2018-11-30T12:46:14", "url": "https://files.pythonhosted.org/packages/f4/90/4c5044caeb4c7b3491a38d501eb8fdd4b9d4b11914ae5d13cbe296e496ae/versions-client-0.4.tar.gz" } ], "0.4rc2": [ { "comment_text": "", "digests": { "md5": "b24872c3fb809f0a48badef3c3fde5a6", "sha256": "744f7bfb883c2ad225e7b92d6ebc492f96264590b2ee5182cb3d3f9eec4f9553" }, "downloads": -1, "filename": "versions-client-0.4rc2.tar.gz", "has_sig": false, "md5_digest": "b24872c3fb809f0a48badef3c3fde5a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5210, "upload_time": "2018-11-07T13:31:08", "url": "https://files.pythonhosted.org/packages/46/a8/5310623aefb23a62d49c1f5044c07beffd8e62ae8241007a94af01369685/versions-client-0.4rc2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6a6e7ced0e5135de57fa614f6d5b94d3", "sha256": "67b7bd6a8d7f7eb85edca7c0c4828823615087e6bd6f89906033e813b331eebe" }, "downloads": -1, "filename": "versions-client-0.4.tar.gz", "has_sig": false, "md5_digest": "6a6e7ced0e5135de57fa614f6d5b94d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5203, "upload_time": "2018-11-30T12:46:14", "url": "https://files.pythonhosted.org/packages/f4/90/4c5044caeb4c7b3491a38d501eb8fdd4b9d4b11914ae5d13cbe296e496ae/versions-client-0.4.tar.gz" } ] }