{ "info": { "author": "Brian Dant", "author_email": "brian.dant@protonmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "=======================\nPython nginx Log Parser\n=======================\n\nParse nginx logs with Python.\n\n.. image:: https://img.shields.io/pypi/v/nginxlib.svg\n :target: https://pypi.python.org/pypi/nginxlib\n\n.. image:: https://img.shields.io/travis/briandant/nginxlib.svg\n :target: https://travis-ci.org/briandant/nginxlib\n\n.. image:: https://readthedocs.org/projects/nginxlib/badge/?version=latest\n :target: https://nginxlib.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n* Free software: MIT license\n\n\n\nThis package parses nginx logs and provides a Python\nobject representing each log. It also has some procedures\nto aggregate log data.\n\nInstallation \n==============\n\nWith pip:\n\n.. code:: bash\n\n $ pip install nginxlib\n\nFor development: \n\n.. code:: bash\n\n $ python setup.py develop\n\nRun the tests:\n\n.. code:: shell\n\n $ make test\n\nFeatures\n--------\n\n* Parse a discrete nginx log entry to a Python object\n* Aggregate log data\n\nUsage \n--------\n\nGiven this nginx log entry: \n\n```\n96.49.212.83 - - [16/Jun/2019:22:52:21 +0000] \"GET /vs/editor/editor.main.nls.js HTTP/1.1\" 200 34027 \"https://3000-98358490.staging-avl.appsembler.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:67.0) Gecko/20100101 Firefox/67.0\" \"-\" # noqa E503\n```\n\nthe `entryparse` object will behave as follows:\n\n.. code:: python\n\n >>> from nginxparser import entryparse\n\n >>> entry = entryparse(log_string)\n >>> entry.timestamp\n datetime.datetime(2019, 6, 16, 23, 54, 5, 624139)\n >>> entry.url\n ParseResult(scheme='https', netloc='3000-98358490.staging-avl.appsembler.com', path='', params='', query='', fragment='')\n >>> entry.deploy_id\n '98358490'\n\n\nCredits\n-------\n\n- This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n- Inspired by and forked from: https://code.richard.do/explore/projects.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.0-alpha (2019-06-17)\n===========================\n\n* First release on PyPI.\n* Port the original repo\n* Add procedures to parse discrete logs \n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/briandant/nginxlib", "keywords": "nginxlib", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "nginxlib", "package_url": "https://pypi.org/project/nginxlib/", "platform": "", "project_url": "https://pypi.org/project/nginxlib/", "project_urls": { "Homepage": "https://github.com/briandant/nginxlib" }, "release_url": "https://pypi.org/project/nginxlib/0.1.0a0/", "requires_dist": null, "requires_python": "", "summary": "Parse nginx logs.", "version": "0.1.0a0" }, "last_serial": 5408357, "releases": { "0.1.0a0": [ { "comment_text": "", "digests": { "md5": "e4d5763f6aecb5102facfed7b2e6efb1", "sha256": "a727a30b3e60151b2fe09367a3e72a59fd637109d006b507472fdd60034a6cf7" }, "downloads": -1, "filename": "nginxlib-0.1.0a0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4d5763f6aecb5102facfed7b2e6efb1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7290, "upload_time": "2019-06-17T03:54:24", "url": "https://files.pythonhosted.org/packages/f5/53/82f208f7e744154a4d082078d27abeedce314d252c024783af32ab3c0b83/nginxlib-0.1.0a0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0384ebe65b3cb59da436155ae270d57e", "sha256": "4bb3d73397040db39737eee96ff9931c953176c6625ef42861afae7fba03addc" }, "downloads": -1, "filename": "nginxlib-0.1.0a0.tar.gz", "has_sig": false, "md5_digest": "0384ebe65b3cb59da436155ae270d57e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12415, "upload_time": "2019-06-17T03:54:26", "url": "https://files.pythonhosted.org/packages/95/d9/6ca8d62cd2d2d6b2873f8194b7255bb558b7899ab84fd17d91f09854e694/nginxlib-0.1.0a0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e4d5763f6aecb5102facfed7b2e6efb1", "sha256": "a727a30b3e60151b2fe09367a3e72a59fd637109d006b507472fdd60034a6cf7" }, "downloads": -1, "filename": "nginxlib-0.1.0a0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4d5763f6aecb5102facfed7b2e6efb1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7290, "upload_time": "2019-06-17T03:54:24", "url": "https://files.pythonhosted.org/packages/f5/53/82f208f7e744154a4d082078d27abeedce314d252c024783af32ab3c0b83/nginxlib-0.1.0a0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0384ebe65b3cb59da436155ae270d57e", "sha256": "4bb3d73397040db39737eee96ff9931c953176c6625ef42861afae7fba03addc" }, "downloads": -1, "filename": "nginxlib-0.1.0a0.tar.gz", "has_sig": false, "md5_digest": "0384ebe65b3cb59da436155ae270d57e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12415, "upload_time": "2019-06-17T03:54:26", "url": "https://files.pythonhosted.org/packages/95/d9/6ca8d62cd2d2d6b2873f8194b7255bb558b7899ab84fd17d91f09854e694/nginxlib-0.1.0a0.tar.gz" } ] }