{ "info": { "author": "left-join", "author_email": "left-join@riseup.net", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# flask-settings\nFlask settings extension is similar to Django settings.\n\n[![Build Status](https://travis-ci.org/left-join/flask-settings.svg?branch=master)](https://travis-ci.org/left-join/flask-settings)\n[![Coverage Status](https://coveralls.io/repos/github/left-join/flask-settings/badge.svg?branch=master)](https://coveralls.io/github/left-join/flask-settings?branch=master)\n[![Code Health](https://landscape.io/github/left-join/flask-settings/master/landscape.svg?style=flat)](https://landscape.io/github/left-join/flask-settings/master)\n\n# Installation\n```bash\npip install flask-settings\n```\n\n# How to use\n\nFile app/settings/default.py\n```python\nfrom flask_settings import BasicConfig\n\n\nclass DefaultConfig(BasicConfig):\n SQLALCHEMY_DATABASE_PROTOCOL = 'postgresql'\n SQLALCHEMY_DATABASE_HOST = 'localhost'\n SQLALCHEMY_DATABASE_PORT = 5432\n SQLALCHEMY_DATABASE_USERNAME = 'postgres'\n SQLALCHEMY_DATABASE_PASSWORD = 'postgres'\n SQLALCHEMY_DATABASE_NAME = 'default'\n\n @property\n def SQLALCHEMY_DATABASE_URI(self):\n # calculated constant\n return '{protocol}://{username}:{password}@{host}:{port}/{db}'.format(\n protocol=self.SQLALCHEMY_DATABASE_PROTOCOL,\n username=self.SQLALCHEMY_DATABASE_USERNAME,\n password=self.SQLALCHEMY_DATABASE_PASSWORD,\n host=self.SQLALCHEMY_DATABASE_HOST,\n port=self.SQLALCHEMY_DATABASE_PORT,\n db=self.SQLALCHEMY_DATABASE_NAME)\n\n```\n\nFile app/settings/development.py\n```python\nfrom app.settings.default import DefaultConfig\n\n\nclass DevelopmentConfig(DefaultConfig):\n DEBUG = True\n\n SQLALCHEMY_DATABASE_NAME = 'development'\n\n```\n\nFile app/settings/testing.py\n```python\nfrom app.settings.default import DefaultConfig\n\n\nclass TestingConfig(DefaultConfig):\n TESTING = True\n\n SQLALCHEMY_DATABASE_NAME = 'testing'\n\n```\n\nFile app/settings/production.py\n```python\nfrom app.settings.default import DefaultConfig\n\n\nclass ProductionConfig(DefaultConfig):\n SQLALCHEMY_DATABASE_HOST = '10.0.0.1'\n SQLALCHEMY_DATABASE_USERNAME = 'user'\n SQLALCHEMY_DATABASE_PASSWORD = 'password'\n SQLALCHEMY_DATABASE_NAME = 'production'\n\n```\n\nFile app/application.py\n```python\nfrom flask import Flask\nfrom flask_settings import Settings\nfrom flask_sqlalchemy import SQLAlchemy\n\n\napp = Flask(__name__)\n\nsettings = Settings(app)\n\ndb = SQLAlchemy(app)\ndb.create_all(app=app)\n\n\n@app.route('/')\ndef index_page():\n return 'database name: ' + settings.SQLALCHEMY_DATABASE_NAME\n\n\nif __name__ == '__main__':\n app.run(host='0.0.0.0', port=5000)\n\n```\n\nThe global settings variable can be used in any module with application context:\n```\nfrom flask import Blueprint\nfrom flask_settings.globals import settings\n\n\nbp = Blueprint(__name__, __name__)\n\n\n@bp.route('/')\ndef index_page():\n return 'database name: ' + settings.SQLALCHEMY_DATABASE_NAME\n\n```\n\nRun application in development mode:\n```bash\nFLASK_SETTINGS=\"development\" python app/application.py\n```\n\nRun application tests in testing mode:\n```bash\nFLASK_SETTINGS=\"testing\" nosetests\n```\n\nRun application in production mode:\n```bash\nFLASK_SETTINGS=\"production\" uwsgi --wsgi-file=app/application.py --callable=app --http=0.0.0.0:5000\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/left-join/flask-settings.git", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/left-join/flask-settings", "keywords": "flask,settings", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Flask-Settings", "package_url": "https://pypi.org/project/Flask-Settings/", "platform": "any", "project_url": "https://pypi.org/project/Flask-Settings/", "project_urls": { "Download": "https://github.com/left-join/flask-settings.git", "Homepage": "https://github.com/left-join/flask-settings" }, "release_url": "https://pypi.org/project/Flask-Settings/0.0.3/", "requires_dist": [ "flask (>=0.12.2)" ], "requires_python": "", "summary": "Flask settings extension is similar to Django settings.", "version": "0.0.3" }, "last_serial": 3163558, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5d21c6ae8779c9c3311fd0d156d50c17", "sha256": "91548aa9cd3396e6e381015eb8bbb2d72cb05448c6b86b586df1f906f0db1898" }, "downloads": -1, "filename": "Flask-Settings-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5d21c6ae8779c9c3311fd0d156d50c17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2228, "upload_time": "2017-08-27T22:47:16", "url": "https://files.pythonhosted.org/packages/b5/7f/c198675c3eecc5cc21b999afb22039156dd759eb218669bd0792926cb743/Flask-Settings-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a2ddd37a913ebcd0ac353dd02003fe13", "sha256": "e89de8d6e3e9dfdc9cca7e2e759d89ed3da8d42fdc74643061eca6ea50a527e9" }, "downloads": -1, "filename": "Flask-Settings-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a2ddd37a913ebcd0ac353dd02003fe13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3020, "upload_time": "2017-08-27T23:08:26", "url": "https://files.pythonhosted.org/packages/d7/bb/3338d21fabf11350ed28953f5324f9760c335e30d2d9547d16a8d18949de/Flask-Settings-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "390d5954298f22da1e94692f47c5841e", "sha256": "673f6242688bd7066961faa6900b5eb7fe656a89094f753bc58ad0c7170469de" }, "downloads": -1, "filename": "Flask_Settings-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "390d5954298f22da1e94692f47c5841e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6398, "upload_time": "2017-09-10T18:11:24", "url": "https://files.pythonhosted.org/packages/ac/0b/4807a230d6aecbb6ebe5207fb974317b04f15502d7c6209a097ef416beae/Flask_Settings-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "879ff91e340b449a2a1de842bd5ff85a", "sha256": "b7236475d6ef5683f839f98303c740becd29e6e8ec49d56e64d7783f367bcaf0" }, "downloads": -1, "filename": "Flask_Settings-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "879ff91e340b449a2a1de842bd5ff85a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6394, "upload_time": "2017-09-10T18:11:26", "url": "https://files.pythonhosted.org/packages/50/ff/04f66400a56cbfcbeb249c1a61988fa858218566d94f946e0ac4be0f100a/Flask_Settings-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08a9f894247a1699089ac4c5416e647a", "sha256": "c540c2927fa3a61ef70ed8d9ba92d0ea5f856053c5a8853a77a071da85baac80" }, "downloads": -1, "filename": "Flask-Settings-0.0.3.tar.gz", "has_sig": false, "md5_digest": "08a9f894247a1699089ac4c5416e647a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3949, "upload_time": "2017-09-10T18:11:27", "url": "https://files.pythonhosted.org/packages/cf/d1/d1c08929726a640a4f9504c2287dc57997d59d1fb18a449426565ccef17b/Flask-Settings-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "390d5954298f22da1e94692f47c5841e", "sha256": "673f6242688bd7066961faa6900b5eb7fe656a89094f753bc58ad0c7170469de" }, "downloads": -1, "filename": "Flask_Settings-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "390d5954298f22da1e94692f47c5841e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6398, "upload_time": "2017-09-10T18:11:24", "url": "https://files.pythonhosted.org/packages/ac/0b/4807a230d6aecbb6ebe5207fb974317b04f15502d7c6209a097ef416beae/Flask_Settings-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "879ff91e340b449a2a1de842bd5ff85a", "sha256": "b7236475d6ef5683f839f98303c740becd29e6e8ec49d56e64d7783f367bcaf0" }, "downloads": -1, "filename": "Flask_Settings-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "879ff91e340b449a2a1de842bd5ff85a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6394, "upload_time": "2017-09-10T18:11:26", "url": "https://files.pythonhosted.org/packages/50/ff/04f66400a56cbfcbeb249c1a61988fa858218566d94f946e0ac4be0f100a/Flask_Settings-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08a9f894247a1699089ac4c5416e647a", "sha256": "c540c2927fa3a61ef70ed8d9ba92d0ea5f856053c5a8853a77a071da85baac80" }, "downloads": -1, "filename": "Flask-Settings-0.0.3.tar.gz", "has_sig": false, "md5_digest": "08a9f894247a1699089ac4c5416e647a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3949, "upload_time": "2017-09-10T18:11:27", "url": "https://files.pythonhosted.org/packages/cf/d1/d1c08929726a640a4f9504c2287dc57997d59d1fb18a449426565ccef17b/Flask-Settings-0.0.3.tar.gz" } ] }