{ "info": { "author": "sobolevn", "author_email": "mail@sobolevn.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance" ], "description": "# dotenv-linter\n\n[![wemake.services](https://img.shields.io/badge/%20-wemake.services-green.svg?label=%20&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC%2FxhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP%2F%2F%2F5TvxDIAAAAIdFJOUwAjRA8xXANAL%2Bv0SAAAADNJREFUGNNjYCAIOJjRBdBFWMkVQeGzcHAwksJnAPPZGOGAASzPzAEHEGVsLExQwE7YswCb7AFZSF3bbAAAAABJRU5ErkJggg%3D%3D)](https://wemake.services)\n[![Build Status](https://travis-ci.org/wemake-services/dotenv-linter.svg?branch=master)](https://travis-ci.org/wemake-services/dotenv-linter)\n[![Coverage](https://coveralls.io/repos/github/wemake-services/dotenv-linter/badge.svg?branch=master)](https://coveralls.io/github/wemake-services/dotenv-linter?branch=master)\n[![Python Version](https://img.shields.io/pypi/pyversions/dotenv-linter.svg)](https://pypi.org/project/dotenv-linter/)\n[![Documentation Status](https://readthedocs.org/projects/dotenv-linter/badge/?version=latest)](https://dotenv-linter.readthedocs.io/en/latest/?badge=latest)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/wemake-services/dotenv-linter/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)\n\n---\n\nSimple linter for `.env` files.\n\n![dotenv-logo](https://raw.githubusercontent.com/wemake-services/dotenv-linter/master/docs/_static/dotenv-logo@2.png)\n\nWhile `.env` files are very simple it is required to keep them consistent.\nThis tool offers a wide range of consistency rules and best practices.\n\nAnd it integrates perfectly to any existing workflow.\n\n\n## Installation\n\n```bash\npip install dotenv-linter\n```\n\nSee [Usage](https://dotenv-linter.readthedocs.io/en/latest/#usage)\nsection to get started.\n\n\n## Examples\n\nThere are many things that can go wrong in your `.env` files:\n\n```env\n# Next line has leading space which will be removed:\n SPACED=\n\n# Equal signs should not be spaced:\nKEY = VALUE\n\n# Quotes won't be preserved after parsing, do not use them:\nSECRET=\"my value\"\n\n# Beware of duplicates!\nSECRET=Already defined ;(\n\n# Respect the convention, use `UPPER_CASE`:\nkebab-case-name=1\nsnake_case_name=2\n```\n\nAnd much more! You can find the [full list of violations in our docs](https://dotenv-linter.readthedocs.io/en/latest/pages/violations/).\n\n\n## Gratis\n\nSpecial thanks goes to [Ignacio Toledo](https://ign.uy)\nfor creating an awesome logo for the project.\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://dotenv-linter.readthedocs.io", "keywords": "dotenv,linter,wemake.services,code quality", "license": "MIT", "maintainer": "sobolevn", "maintainer_email": "mail@sobolevn.me", "name": "dotenv-linter", "package_url": "https://pypi.org/project/dotenv-linter/", "platform": "", "project_url": "https://pypi.org/project/dotenv-linter/", "project_urls": { "Homepage": "https://dotenv-linter.readthedocs.io", "Repository": "https://github.com/wemake-services/dotenv-linter" }, "release_url": "https://pypi.org/project/dotenv-linter/0.1.4/", "requires_dist": [ "ply (>=3.11,<4.0)", "click (>=6.0,<7.0)", "click_default_group (>=1.2,<2.0)", "dataclasses (>=0.6,<0.7); python_version < \"3.7\"", "typing_extensions (>=3.6,<4.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Linting dotenv files like a charm!", "version": "0.1.4" }, "last_serial": 4768170, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2c7322432ee66ed5e0e6fd23b3f73455", "sha256": "08f9a99ab6708c86b4af46b9abbdbad29b75a0d7ad92820e39b37edc8969c803" }, "downloads": -1, "filename": "dotenv_linter-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2c7322432ee66ed5e0e6fd23b3f73455", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 42892, "upload_time": "2018-12-18T11:37:06", "url": "https://files.pythonhosted.org/packages/e8/b7/d99b939b26a5f395b671a6e9056a6d1a90232b893af632d798c8f3a13b5d/dotenv_linter-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a328431ece9a9cb6909e0430fb6a6db", "sha256": "f18c6b1f17d8ec107582d580ddf700b231257510274db3b82dea87d9390b1e8d" }, "downloads": -1, "filename": "dotenv-linter-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4a328431ece9a9cb6909e0430fb6a6db", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14152, "upload_time": "2018-12-18T11:37:02", "url": "https://files.pythonhosted.org/packages/b4/00/1596c7ae69a9a267190726f811ee49bfde3e4e3018d1d3d986be6d0d1457/dotenv-linter-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f7bec241d6436255d4a3543ba5413dbf", "sha256": "5b4be129e5ad4bf88069cd81db50efa20661d1f1b4c4a073532cc74f4ea9351f" }, "downloads": -1, "filename": "dotenv_linter-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f7bec241d6436255d4a3543ba5413dbf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 43235, "upload_time": "2018-12-18T12:03:08", "url": "https://files.pythonhosted.org/packages/4b/c0/42ec923e8cecfd953f415b2345a36ffe7d05caf350f197af3c289f017df1/dotenv_linter-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4733d7e8eec2130f0643d53f164210fd", "sha256": "3d2556b626d8884a9223c4eb3a2535203e831c190aecf1f9010354992e1a3d56" }, "downloads": -1, "filename": "dotenv-linter-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4733d7e8eec2130f0643d53f164210fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14766, "upload_time": "2018-12-18T12:03:05", "url": "https://files.pythonhosted.org/packages/f9/00/3f5a033711571baa2860f09c2220d41badc777e261c518c7796ba8a857f8/dotenv-linter-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "90f21ef3aedcfc1565f6bfcf1805ee8c", "sha256": "3a687c897935748fc7cee888a6452bb89221bec729e444abfb0e285376470ff0" }, "downloads": -1, "filename": "dotenv_linter-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "90f21ef3aedcfc1565f6bfcf1805ee8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 43234, "upload_time": "2018-12-19T09:24:46", "url": "https://files.pythonhosted.org/packages/dc/b7/2c6d7b7468480e4e5b4d84418865ec5713bc6b3a1dce2a8083a3ca869fbe/dotenv_linter-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a782580d294138789a551491f014234", "sha256": "bce6b9323949697b540b23b6827f31c5f48252f1e71a7dc4b941658cc8cbacd9" }, "downloads": -1, "filename": "dotenv-linter-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1a782580d294138789a551491f014234", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14754, "upload_time": "2018-12-19T09:24:45", "url": "https://files.pythonhosted.org/packages/1d/dc/14d0c902fbcabfd339b60661b700be9761736e93ab170e0600cf7273a281/dotenv-linter-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c6ca5eee5347503a024412d410314106", "sha256": "6b082b9b5496c500afa7cac2993777fd0e71110dd5152ce0b5e242e9d747d6a6" }, "downloads": -1, "filename": "dotenv_linter-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c6ca5eee5347503a024412d410314106", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 43236, "upload_time": "2018-12-19T10:03:50", "url": "https://files.pythonhosted.org/packages/27/10/309e01fa9fde57fdb503bc64a6b6bb4a26a7e820dee52051be6893382ca2/dotenv_linter-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6cbefe3b2fdd048ced2861c65dcd7a80", "sha256": "5ec663b51765f951ecf3aee53b85e827745d4d0ca2667a1eda8f683642c572f0" }, "downloads": -1, "filename": "dotenv-linter-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6cbefe3b2fdd048ced2861c65dcd7a80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14763, "upload_time": "2018-12-19T10:03:48", "url": "https://files.pythonhosted.org/packages/dc/57/ca34bf6de4b74415ef8f5f2ef373853ff91f6b1e0a6cc5af843bf73051e8/dotenv-linter-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9166701b1a7923ac0fa73d2f2966e7ac", "sha256": "4932a0209e2fdcd42c4ce2e3e1f121e836209b8401cb35ab6bc99cc22c7808e9" }, "downloads": -1, "filename": "dotenv_linter-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9166701b1a7923ac0fa73d2f2966e7ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 43343, "upload_time": "2019-02-01T12:17:05", "url": "https://files.pythonhosted.org/packages/d4/52/0e342d9d50b3e03f448a90b0af2366c5a1a2b22d0359e29bb98ad50bb4ff/dotenv_linter-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01f1686ea983e6f41eda404f755c97a1", "sha256": "6c19288b4fb68844aba13b612905db4d4567f6845d244edcd292acd8a9e345c4" }, "downloads": -1, "filename": "dotenv-linter-0.1.4.tar.gz", "has_sig": false, "md5_digest": "01f1686ea983e6f41eda404f755c97a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14979, "upload_time": "2019-02-01T12:17:02", "url": "https://files.pythonhosted.org/packages/4a/84/d69e402851896d61d0b022eb5656686ca25e0e023d86b52ad850fab01c50/dotenv-linter-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9166701b1a7923ac0fa73d2f2966e7ac", "sha256": "4932a0209e2fdcd42c4ce2e3e1f121e836209b8401cb35ab6bc99cc22c7808e9" }, "downloads": -1, "filename": "dotenv_linter-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9166701b1a7923ac0fa73d2f2966e7ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 43343, "upload_time": "2019-02-01T12:17:05", "url": "https://files.pythonhosted.org/packages/d4/52/0e342d9d50b3e03f448a90b0af2366c5a1a2b22d0359e29bb98ad50bb4ff/dotenv_linter-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01f1686ea983e6f41eda404f755c97a1", "sha256": "6c19288b4fb68844aba13b612905db4d4567f6845d244edcd292acd8a9e345c4" }, "downloads": -1, "filename": "dotenv-linter-0.1.4.tar.gz", "has_sig": false, "md5_digest": "01f1686ea983e6f41eda404f755c97a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14979, "upload_time": "2019-02-01T12:17:02", "url": "https://files.pythonhosted.org/packages/4a/84/d69e402851896d61d0b022eb5656686ca25e0e023d86b52ad850fab01c50/dotenv-linter-0.1.4.tar.gz" } ] }