{ "info": { "author": "Dan Black", "author_email": "dyspop@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "figgy\n=====\n\nCreates and populates configs for an app at first-time setup.\n\nAre you sick and tired of writing packages or apps that are super great\nbut don\u2019t work unless your end-user scours your README for instructions\non how to structure config files and how and where to instantiate them?\n\nfiggy allows you to ship code and have the end-user developer install\nand configure it just by running your app or package. You can call it\nfrom setup.py or bind it to whatever you like in your code so the\nresults of the new configuration are made immediately available to\nwhatever context the app or package will be used in.\n\n--------------\n\nWarning\n-------\n\nThis software is in alpha development. That said, this package should\nwork. Please report bugs.\n\nKey caveats: \n- Outputs your configuration data to the screen in some\ncases.\n- Only supports json.\n- Only available for python 3. \n- You want this module to prompt from TTY. \n- You\u2019re on a \u2019NIX system.\n\nThese are intended to guide feature development for future versions, but\nin this state it should be useful nonetheless.\n\nInstallation\n------------\n\n::\n\n pip install figgy\n\nUsage\n-----\n\nFirst import figgy\n\n::\n\n import figgy\n\nThen define your config template\n\n::\n\n template = {\n 'username': 'default',\n 'password': 'anotherdefault'\n }\n\nAll you need to do is call ``make()``.\n\n::\n\n figgy.make(template)\n\nand the end user will be prompted with:\n\n::\n\n Enter value for \"username\"\n (return for default \"default\")': \u258buserinput\n Enter value for \"username\"\n (return for default \"default\")': \n Set \"username\" to \"userinput\" in ./config.json\n Enter value for \"password\"\n (return for default \"anotherdefault\")': \u258banotheruserinput\n Enter value for \"password\"\n (return for default \"anotherdefault\")': \n Set \"password\" to \"anotheruserinput\" in ./config.json\n\nand generate a ``config.json`` file:\n\n::\n\n {\"username\": \"userinput\", \"password\": \"anotheruserinput\"}\n\nIf you want the data to be used in the application after it\u2019s created\nuse\n\n::\n\n config = figgy.make(template)\n\nso that you can access the data like so\n\n::\n\n username = config['username']\n password = config['password']\n\nBy default figgy assumes a few things:\n\n- You want the file to be named ``config.json``\n- You want the file generated at the path the python code that executes\n it runs from\n- You want the function to return the configuration data\n- The user interface is TTY\n\nBut you can change most of that:\n\nsource code:\n\n::\n\n template = {\n 'PORT': '3000',\n 'DEBUG': 'True'\n }\n figgy.make(data=template, filename='appconfig')\n\nprompts:\n\n::\n\n Enter value for \"PORT\"\n (return for default \"3000\")': \u258b8080\n Set \"PORT\" to \"8080\" in ./appconfig.json\n Enter value for \"DEBUG\"\n (return for default \"True\")': \u258bFalse\n\nand returns:\n\n::\n\n Set \"DEBUG\" to \"False\" in ./appconfig.json\n {'./appconfig.json': {'PORT': '3000', 'DEBUG': 'True'}}\n\nsource code:\n\n::\n\n figgy.make(data=template, get=False)\n\ngenerates the prompts:\n\n::\n\n Enter value for \"username\"\n (return for default \"default\")': \u258buserinput\n Set \"username\" to \"userinput\" in ./config.json\n Enter value for \"password\"\n (return for default \"anotherdefault\")': \u258banotheruserinput\n Set \"password\" to \"anotheruserinput\" in ./config.json\n\nand returns:\n\n::\n\n None\n\nContributing\n------------\n\n1. Fork the source repository https://github.com/dyspop/figgy\n2. Make a new branch\n3. Write the feature code\n4. Make sure you add some tests\n5. Submit a pull request with helpful notes about your feature and test\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/dyspop/figgy/archive/0.2.0.rc1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dyspop/figgy", "keywords": "config", "license": "GPL-3.0+", "maintainer": "", "maintainer_email": "", "name": "figgy", "package_url": "https://pypi.org/project/figgy/", "platform": "", "project_url": "https://pypi.org/project/figgy/", "project_urls": { "Download": "https://github.com/dyspop/figgy/archive/0.2.0.rc1.tar.gz", "Homepage": "https://github.com/dyspop/figgy" }, "release_url": "https://pypi.org/project/figgy/0.2.0rc1/", "requires_dist": null, "requires_python": "", "summary": "Creates and populates configs for an app at first-time setup.", "version": "0.2.0rc1" }, "last_serial": 3697541, "releases": { "0.1.1.dev1": [ { "comment_text": "", "digests": { "md5": "459eb2e8d08ed19b85c705b56af1df25", "sha256": "1e331127475de0d353b59724ae70490f837e256d78763dd98c530d0b9437e3c7" }, "downloads": -1, "filename": "figgy-0.1.1.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "459eb2e8d08ed19b85c705b56af1df25", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8730, "upload_time": "2018-03-07T21:10:27", "url": "https://files.pythonhosted.org/packages/56/bb/028346f2d809d05d63679d2687faa3be866a4c774ba78fa843967af49217/figgy-0.1.1.dev1-py3-none-any.whl" } ], "0.1.1.dev2": [ { "comment_text": "", "digests": { "md5": "6d868cc5c1b89dbcd9f7f1a1992ef4c0", "sha256": "7f7796ace7415e671000fae9e0296a94c7495803999d33b5075affafbc821ef8" }, "downloads": -1, "filename": "figgy-0.1.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "6d868cc5c1b89dbcd9f7f1a1992ef4c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8882, "upload_time": "2018-03-08T21:56:43", "url": "https://files.pythonhosted.org/packages/78/db/347ef521acd406da8969e502eafa9f21b9c17c92a13eb7b5550ba507f27e/figgy-0.1.1.dev2-py3-none-any.whl" } ], "0.1.2.dev1": [ { "comment_text": "", "digests": { "md5": "8a93bcba04cb86dd5a4ed8888dd305c8", "sha256": "cdf56a05275b745537cfef5376ed9534f984f080c1eff6bba9c1d8edebe8c082" }, "downloads": -1, "filename": "figgy-0.1.2.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "8a93bcba04cb86dd5a4ed8888dd305c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8886, "upload_time": "2018-03-09T01:59:58", "url": "https://files.pythonhosted.org/packages/89/6e/7d50129906977d4be178295a7d7c728a9fa7ef73c67677d781ec18377d7b/figgy-0.1.2.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0f20ce5e58caf82add01de8bff106d7", "sha256": "97d5e1dd910dd2da1266c2e8381b22ef78cc364f20c11b8160637d463c428f12" }, "downloads": -1, "filename": "figgy-0.1.2.dev1.tar.gz", "has_sig": false, "md5_digest": "f0f20ce5e58caf82add01de8bff106d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6162, "upload_time": "2018-03-09T01:47:36", "url": "https://files.pythonhosted.org/packages/06/af/face1d2e1fe99fc1604926be0c4cd69803c521f7f275b6d1effb62b2a2de/figgy-0.1.2.dev1.tar.gz" } ], "0.1.2.dev2": [ { "comment_text": "", "digests": { "md5": "91f0060cabd412c9c8f81e35c062b4ca", "sha256": "c3e5a3bfe740494f47f252debbffcdeb5e48dcb977eac67d74cd4b4faf2269f8" }, "downloads": -1, "filename": "figgy-0.1.2.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "91f0060cabd412c9c8f81e35c062b4ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8946, "upload_time": "2018-03-09T02:00:00", "url": "https://files.pythonhosted.org/packages/52/6f/7dd14bce2b41800b260999d9d69f84452a690c042f9ef97241f0ba599c5c/figgy-0.1.2.dev2-py3-none-any.whl" } ], "0.2.0rc1": [ { "comment_text": "", "digests": { "md5": "2bb404edd39644d793d9e41b2db0f3c9", "sha256": "4abc239dc8400e27b49b67d9c0f57da52ba0a3ff4b8bfbd2ee05bd9605e7bfb3" }, "downloads": -1, "filename": "figgy-0.2.0rc1.tar.gz", "has_sig": false, "md5_digest": "2bb404edd39644d793d9e41b2db0f3c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6166, "upload_time": "2018-03-23T04:18:42", "url": "https://files.pythonhosted.org/packages/ad/1b/addddb50d6b08ff2e1464069bd741361ab872e0c55ba1a236aa8acbcf9c2/figgy-0.2.0rc1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bb404edd39644d793d9e41b2db0f3c9", "sha256": "4abc239dc8400e27b49b67d9c0f57da52ba0a3ff4b8bfbd2ee05bd9605e7bfb3" }, "downloads": -1, "filename": "figgy-0.2.0rc1.tar.gz", "has_sig": false, "md5_digest": "2bb404edd39644d793d9e41b2db0f3c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6166, "upload_time": "2018-03-23T04:18:42", "url": "https://files.pythonhosted.org/packages/ad/1b/addddb50d6b08ff2e1464069bd741361ab872e0c55ba1a236aa8acbcf9c2/figgy-0.2.0rc1.tar.gz" } ] }