{ "info": { "author": "Hugo Rodger-Brown", "author_email": "hugo@yunojuno.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7" ], "description": ".. image:: https://travis-ci.org/yunojuno/python-env-utils.svg?branch=master\n :target: https://travis-ci.org/yunojuno/python-env-utils\n\n.. image:: https://badge.fury.io/py/env_utils.svg\n :target: https://badge.fury.io/py/env_utils\n\n.. image:: https://codecov.io/gh/yunojuno/python-env-utils/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/yunojuno/python-env-utils\n\nenv utils\n=========\n\nThis library extends the standard library's ``getenv`` function, allowing\nyou to coerce the return value into a type.\n\nAnd that's it.\n\nIt's been released as a library because every project we have includes the\nsame requirements - read in environment variables, coerce them into the\ncorrect type.\n\nThe problem is that environment variables are always stored as strings, but\nPython will evaluate any string (even \"\") as True if cast to a boolean. This\nis almost never the desired behaviour. If you set an environment variable to\n\"\", \"0\" or \"False\", you want it to be False.\n\n.. code:: python\n\n >>> os.environ['foo'] = \"0\"\n >>> val = os.getenv('foo')\n >>> val\n \"0\"\n >>> bool(val)\n True\n\n``env_utils.get_env`` will coerce the value into the type you require. The package contains basic helper functions that coerce booleans, integers, decimals, floats, dates, lists and dictionaries.\n\n.. code:: python\n\n # FOO=0\n >>> env_utils.get_env('FOO')\n \"0\"\n >>> env_utils.get_bool('FOO')\n False\n >>> env_utils.get_int('FOO')\n 0\n\n # FOO=foo,bar\n >>> env_utils.get_list('FOO', separator=',')\n ['foo', 'bar']\n\n # FOO='{\"foo\": true}'\n >>> env_utils.get_dict('FOO')\n {'foo': True}\n\n # FOO=2016-11-23\n >>> env_utils.get_date('FOO')\n datetime.date(2016, 11, 23)\n\nYou can supply any function you like to coerce the value, e.g.:\n\n.. code:: python\n\n >>> import os\n >>> os.getenv('FOO_NAME')\n 'bob'\n >>> class Foo(object):\n ... def __init__(self, name):\n ... self.name = name\n >>> coerce = lambda x: Foo(x)\n >>> import env_utils\n >>> foo = env_utils.get_env('FOO_NAME', coerce=coerce)\n >>> foo.name\n >>> 'bob'\n\n\nInstallation\n------------\n\nThe library is available at pypi as 'env_utils', and can installed using pip::\n\n $ pip install env_utils\n\nTests\n-----\n\nThe tests can be run using ``tox``:\n\n.. code:: shell\n\n $ tox", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yunojuno/python-env-utils", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "env_utils", "package_url": "https://pypi.org/project/env_utils/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/env_utils/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/yunojuno/python-env-utils" }, "release_url": "https://pypi.org/project/env_utils/1.2.0/", "requires_dist": null, "requires_python": null, "summary": "Utility functions to make it easier to work with os.environ", "version": "1.2.0" }, "last_serial": 2480524, "releases": { "1.0": [], "1.0.1": [], "1.1.0": [ { "comment_text": "built for Darwin-16.1.0", "digests": { "md5": "7ba4ee11f82c35df72a6d8ffc6a8de4d", "sha256": "7eef666917dcc603c03c4cd0584714625b726088c4133b87859c1083197c80c0" }, "downloads": -1, "filename": "env_utils-1.1.0.macosx-10.12-x86_64.tar.gz", "has_sig": false, "md5_digest": "7ba4ee11f82c35df72a6d8ffc6a8de4d", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 6128, "upload_time": "2016-11-23T18:14:07", "url": "https://files.pythonhosted.org/packages/de/14/e9e887535b516ae69490af0815f8100849532cff20ad770090da0cf9a13b/env_utils-1.1.0.macosx-10.12-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "986cca22ba414c9a232095ff221d21c1", "sha256": "613449b4b835b85be28d471b4e6fee9367fa6832cd6cac3b694db10c2b043db4" }, "downloads": -1, "filename": "env_utils-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "986cca22ba414c9a232095ff221d21c1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7200, "upload_time": "2016-11-23T18:14:10", "url": "https://files.pythonhosted.org/packages/41/20/f607469d7cf05052ab6c99ca3dce5cb5518646b4d4923a6c4bc29d5a649a/env_utils-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a8eaf696248e5567f1e31cc8b896b08", "sha256": "fc9ca1b775e30d14d48942d64f9cb084090b60e457171c64686c48c3e1f35b2f" }, "downloads": -1, "filename": "env_utils-1.1.0.tar.gz", "has_sig": false, "md5_digest": "8a8eaf696248e5567f1e31cc8b896b08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4091, "upload_time": "2016-11-23T18:14:04", "url": "https://files.pythonhosted.org/packages/b1/a7/9f938a39bc244e1a9e88bde8c3eda6015d733b07d59640211fd8a743380a/env_utils-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "built for Darwin-16.1.0", "digests": { "md5": "9753fc29053482733ed5e2eaab283346", "sha256": "7bed35a634a204abf47b5802f95064a7a6453157439d14c81491f68a7e3d6af8" }, "downloads": -1, "filename": "env_utils-1.2.0.macosx-10.12-intel.tar.gz", "has_sig": false, "md5_digest": "9753fc29053482733ed5e2eaab283346", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 4692, "upload_time": "2016-11-24T10:20:35", "url": "https://files.pythonhosted.org/packages/4e/99/fde9629b249b1b1a5805fa49afa1c33629515b493bc90d6fd0c9f19a9c79/env_utils-1.2.0.macosx-10.12-intel.tar.gz" }, { "comment_text": "", "digests": { "md5": "7f7fb9bc9d8b634a304ad5bcad70ed84", "sha256": "e551159721bcadc6a74ed763ef3e1afbc4482c48ddfae49177d2a29b2cd6c021" }, "downloads": -1, "filename": "env_utils-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "7f7fb9bc9d8b634a304ad5bcad70ed84", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5427, "upload_time": "2016-11-24T10:20:38", "url": "https://files.pythonhosted.org/packages/93/b4/1b662c43f273f134057e17e3c8270db905cddbf3f6da51d813bd4ece89c7/env_utils-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "178d44f97a157df081fc6f65b26e2779", "sha256": "151295120d45f7c16b4a9c4a7fa4937d9956dfb8829223d62c6d1a908b637a14" }, "downloads": -1, "filename": "env_utils-1.2.0.tar.gz", "has_sig": false, "md5_digest": "178d44f97a157df081fc6f65b26e2779", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4445, "upload_time": "2016-11-24T10:20:33", "url": "https://files.pythonhosted.org/packages/7b/2a/ce19d7bdad70c42a0573fb11566eb166c3f00b52bb034bcaa043885b3c70/env_utils-1.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "built for Darwin-16.1.0", "digests": { "md5": "9753fc29053482733ed5e2eaab283346", "sha256": "7bed35a634a204abf47b5802f95064a7a6453157439d14c81491f68a7e3d6af8" }, "downloads": -1, "filename": "env_utils-1.2.0.macosx-10.12-intel.tar.gz", "has_sig": false, "md5_digest": "9753fc29053482733ed5e2eaab283346", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 4692, "upload_time": "2016-11-24T10:20:35", "url": "https://files.pythonhosted.org/packages/4e/99/fde9629b249b1b1a5805fa49afa1c33629515b493bc90d6fd0c9f19a9c79/env_utils-1.2.0.macosx-10.12-intel.tar.gz" }, { "comment_text": "", "digests": { "md5": "7f7fb9bc9d8b634a304ad5bcad70ed84", "sha256": "e551159721bcadc6a74ed763ef3e1afbc4482c48ddfae49177d2a29b2cd6c021" }, "downloads": -1, "filename": "env_utils-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "7f7fb9bc9d8b634a304ad5bcad70ed84", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5427, "upload_time": "2016-11-24T10:20:38", "url": "https://files.pythonhosted.org/packages/93/b4/1b662c43f273f134057e17e3c8270db905cddbf3f6da51d813bd4ece89c7/env_utils-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "178d44f97a157df081fc6f65b26e2779", "sha256": "151295120d45f7c16b4a9c4a7fa4937d9956dfb8829223d62c6d1a908b637a14" }, "downloads": -1, "filename": "env_utils-1.2.0.tar.gz", "has_sig": false, "md5_digest": "178d44f97a157df081fc6f65b26e2779", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4445, "upload_time": "2016-11-24T10:20:33", "url": "https://files.pythonhosted.org/packages/7b/2a/ce19d7bdad70c42a0573fb11566eb166c3f00b52bb034bcaa043885b3c70/env_utils-1.2.0.tar.gz" } ] }