{ "info": { "author": "Mek Karpeles", "author_email": "michael.karpeles@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Build Tools" ], "description": "====\npypc\n====\n\n|Build Status| |Wheel Status|\n\nThe Python3 Package Creator.\n\nPypc generates standard scaffolding and environment for a Python package.\n\n* Populates the directory structure show in `Usage`\n* --strict Installs virtualenv + creates venv directory\n* Installs pyflakes, pep8 to venv\n\nInstallation\n============\n\n $ pip install pypc\n\nUsage\n=====\nPypc can be used to create the basic structure of your python\npackage. It uses the conventions and file structure outlined in\nhttps://packaging.python.org/en/latest/distributing.html. Options also\nexist to setup virtualenv, pip install dependencies and linters, such\nas pyflakes and pep8, and generate a pip freeze as requirements.txt.\n\n $ pypc project && ls\n\n CHANGES docs/ examples/ LICENSE MANIFEST.in project/ README.md setup.py tox.in\n\nAlternatively, you can run in minimal mode with -m or --minimal. This\nonly creates a README and setup.py and does not require network access\n(after pypc is installed).\n\n # Minimal install\n\n $ pypc -m project && ls\n\n project/ MANIFEST.in README.rst setup.py setup.cfg\n\nIn both cases, a project/ subdirectory is populated with an __init__.py.\n\nFinally, pypc provides a strict mode which installs and configures\nvirtualenv and specified linters as dependencies. This may be combined\nwith minimal mode:\n\n $ pypc -sm project\n\nOptions\n=======\n\n usage: pypc [-h] [-v] [-m] [-s] [--venv VENV] [--path PATH] [--author AUTHOR]\n [--email EMAIL] [-V VERSION] [--desc DESC] [--url URL]\n [--rm README] [--fs FS]\n pkgname\n\nIf you only want to create a package with a setup.py (no virtual env,\netc), use the -m or --minimal flag.\n\nNote: -v outputs the version of pypc whereas -V or --version is used to\n specify the initial version of the package you are creating. This is\n slightly confusion, and improvements are welcome.\n\nLibrary\n=======\nPypc can be imported and used as library.\n\n >>> from pypc.create import Package\n >>> p = Package(\"pkgname\", path=\"~/optional\") # defaults to os.getcwd()\n >>> p.new(**{'readme': 'README.md'}) # see pypc.settings.DEFAULTS for a list of default options (key,vals)\n\nPhilosopy\n=========\n* KISS. Small and simple enough (i.e. Flask/webpy, not django) that it can be integrated into pip,\n* Defaults. a default modus of operandi which works offline,\n* PEP 20. \"There should be one-- and preferably only one --obvious way to do it.\" In this respect, the general file structure should remain static and accept overrides/overloading of templates and if specific modules/packages (like flask) require specific (additional) file structure, a builder can import/bootstrap using pypc (as it would pip)\n\nStandards\n=========\nResources about the standards and walkthroughs:\n\n* http://guide.python-distribute.org/creation.html\n* http://www.scotttorborg.com/python-packaging/minimal.html\n* http://stackoverflow.com/questions/9411494/how-do-i-create-a-pip-installable-project\n* http://docs.python-guide.org/en/latest/writing/structure/\n* http://www.kennethreitz.org/essays/repository-structure-and-python\n* http://as.ynchrono.us/2007/12/filesystem-structure-of-python-project_21.html\n* http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/\n\nAlternatives\n============\n* https://github.com/audreyr/cookiecutter\n* https://github.com/seanfisk/python-project-template - Git based, clone repo (requires altering git history)\n\nQuestions for you\n=================\n1) Does the file structure pypc generates break any conventions?\n2) Is the code for pypc readable/accessible?\n3) Feature suggestions? (would love to auto-init venv)\n\nDisclaimer\n==========\nPypc is a pre-alpha proof of concept. It's slow as it installs pyflakes, pep8, virtualenv sets up a virtualenv, and then generates a freeze list of requirements).\nRight now there is little to no test-coverage; being it is a proof of concept, I'll try to continue as TDD.\n\nDiscussion\n==========\nJoin the conversation! Other design considerations and details can be found on the pypa mailing list: https://groups.google.com/forum/#!searchin/pypa-dev/mek/pypa-dev/eaku1xvUVHU/Kbj_17sP23kJ\n\n.. |Build Status| image:: https://travis-ci.org/mekarpeles/pypc.png\n\n.. |Wheel Status| image:: https://pypip.in/wheel/pypc/badge.svg\n :target: https://pypi.python.org/pypi/pypc/\n :alt: Wheel Status", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mekarpeles/pypc", "keywords": "pypc package creator pip", "license": "LICENSE", "maintainer": null, "maintainer_email": null, "name": "pypc", "package_url": "https://pypi.org/project/pypc/", "platform": "any", "project_url": "https://pypi.org/project/pypc/", "project_urls": { "Homepage": "http://github.com/mekarpeles/pypc" }, "release_url": "https://pypi.org/project/pypc/0.1.50/", "requires_dist": [ "jinja2", "virtualenv", "argparse; python_version==\"2.7\"" ], "requires_python": null, "summary": "Python3 Package Creator", "version": "0.1.50" }, "last_serial": 1498224, "releases": { "0.1-dev": [ { "comment_text": "", "digests": { "md5": "6fa9147611ebeb0498aabe0c8c8d7075", "sha256": "db5ccc6d91d4bfc24e9f32557e55ae67a907c38a48ff2d6dfce09e9347fec73b" }, "downloads": -1, "filename": "pypc-0.1-dev.tar.gz", "has_sig": false, "md5_digest": "6fa9147611ebeb0498aabe0c8c8d7075", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3345, "upload_time": "2014-06-28T09:15:41", "url": "https://files.pythonhosted.org/packages/57/e8/66dbedddac7c34c8380cc8cf9b8d30e97cd70d6575f66c9cdb07da4f08e8/pypc-0.1-dev.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "01598f4245d116ded1cde584c3e1e0d5", "sha256": "72ed410cbfe235a48a297c70b01549f21810e2867e97dbb90503deea672fc6d2" }, "downloads": -1, "filename": "pypc-0.1.2.tar.gz", "has_sig": false, "md5_digest": "01598f4245d116ded1cde584c3e1e0d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5785, "upload_time": "2014-07-20T11:14:31", "url": "https://files.pythonhosted.org/packages/b3/cf/803c402e4c7d8997d2ac56a2c552302363e56987fd757c4fc3c6bc6fd4a3/pypc-0.1.2.tar.gz" } ], "0.1.2-dev": [ { "comment_text": "", "digests": { "md5": "ea93f0aafd574bde07e511b59e7763b2", "sha256": "22a8058f8cb45bcb7696bb36cd85a603da3d53a05c752e49d31c05926db1d4a8" }, "downloads": -1, "filename": "pypc-0.1.2-dev.tar.gz", "has_sig": false, "md5_digest": "ea93f0aafd574bde07e511b59e7763b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5781, "upload_time": "2014-07-20T10:57:50", "url": "https://files.pythonhosted.org/packages/8c/68/64fba969885afd206f208c8a9257ad6313ac1f13692855751780fa7c75f1/pypc-0.1.2-dev.tar.gz" } ], "0.1.37": [ { "comment_text": "", "digests": { "md5": "9c16d4818fa320c8aa33462f7b2e5a4f", "sha256": "fa9cfb7e7d7eb92153aebe7732317fb0353ea99d9f1547d0e8595b20ae9f6ade" }, "downloads": -1, "filename": "pypc-0.1.37.tar.gz", "has_sig": false, "md5_digest": "9c16d4818fa320c8aa33462f7b2e5a4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10654, "upload_time": "2015-04-03T06:44:49", "url": "https://files.pythonhosted.org/packages/18/01/e936656912118a6ab27cddc0a00bdebecc8417b11c29fc02a8fdd8709f73/pypc-0.1.37.tar.gz" } ], "0.1.38": [ { "comment_text": "", "digests": { "md5": "6e34a67a17dd68a8b0aadd0e54d99234", "sha256": "b4678831691ff6a60be3be56540ccd8827728fc071fc1094ab50169cc98a7821" }, "downloads": -1, "filename": "pypc-0.1.38.tar.gz", "has_sig": false, "md5_digest": "6e34a67a17dd68a8b0aadd0e54d99234", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10825, "upload_time": "2015-04-03T06:57:37", "url": "https://files.pythonhosted.org/packages/9b/0a/c7e01954bc293eb93245e75b18dc8621d39a6c6cdb5e9d79ca1e3bb6ba13/pypc-0.1.38.tar.gz" } ], "0.1.39": [ { "comment_text": "", "digests": { "md5": "b251d9806c6b9e553f575cfc82de164b", "sha256": "ba07e346090dd8c5ddfc8fae5fdebeafd758af39f3ab82d706b7777af128cc58" }, "downloads": -1, "filename": "pypc-0.1.39.tar.gz", "has_sig": false, "md5_digest": "b251d9806c6b9e553f575cfc82de164b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12988, "upload_time": "2015-04-07T17:08:42", "url": "https://files.pythonhosted.org/packages/39/d8/6b0bfcb756515cd915acafd42c2c680bef0eec26081e43bd106ac770733f/pypc-0.1.39.tar.gz" } ], "0.1.40": [ { "comment_text": "", "digests": { "md5": "00f2f3687c509c0f47f7ec4bddc837f1", "sha256": "f4f24ac36cf5bdcd75031f4c6b519490961e9e13aa595423b476785119145eb4" }, "downloads": -1, "filename": "pypc-0.1.40.tar.gz", "has_sig": false, "md5_digest": "00f2f3687c509c0f47f7ec4bddc837f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14167, "upload_time": "2015-04-09T04:46:33", "url": "https://files.pythonhosted.org/packages/88/af/0096e7bbfe715247007f12501bb994520e80fb812e7c8d65e8b61f1836e5/pypc-0.1.40.tar.gz" } ], "0.1.41": [ { "comment_text": "", "digests": { "md5": "67418a1bc47e0c71c7be120978b7e875", "sha256": "1d5a5bc4e4c1b86a5bf8ec123aa9b11e98bb6174a500552e30516c7aa4952e17" }, "downloads": -1, "filename": "pypc-0.1.41.tar.gz", "has_sig": false, "md5_digest": "67418a1bc47e0c71c7be120978b7e875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14185, "upload_time": "2015-04-09T05:00:23", "url": "https://files.pythonhosted.org/packages/86/4f/b92dd2eeb1838a12055b9d4c7fd229bbcb1060023a5b3ca90cb00b9c61f2/pypc-0.1.41.tar.gz" } ], "0.1.42": [ { "comment_text": "", "digests": { "md5": "e999ec09fe540696af843e74458d1d11", "sha256": "7a8e184a4b81e9be11e89064c8b97256bbc04ec9c27c30281a145ec1a3f0f9c3" }, "downloads": -1, "filename": "pypc-0.1.42.tar.gz", "has_sig": false, "md5_digest": "e999ec09fe540696af843e74458d1d11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14451, "upload_time": "2015-04-09T07:18:10", "url": "https://files.pythonhosted.org/packages/99/d0/b43651727bb63b2a6b035756f384ed6f4f266c575046e1cf26dd738c21b8/pypc-0.1.42.tar.gz" } ], "0.1.5.dev2": [ { "comment_text": "", "digests": { "md5": "e5097eb41f36c4ec550431fbd192bfe6", "sha256": "f0ec37c4b2b951e87a76ef290c11e1a40cc3142b9059ef3a9bb19b2871f1bca7" }, "downloads": -1, "filename": "pypc-0.1.5.dev2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5097eb41f36c4ec550431fbd192bfe6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15482, "upload_time": "2015-04-09T20:53:43", "url": "https://files.pythonhosted.org/packages/be/88/db9c13e71e48755501039d51fe683268a39307f1365d1cb0245dc9454464/pypc-0.1.5.dev2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e2b7ffa2d021b1cad1aea01e0ec1d7d", "sha256": "18bc5e6473bf4212317f527486e143ca4b452f4c831ef9eaea1fbfb3d8ba37c1" }, "downloads": -1, "filename": "pypc-0.1.5.dev2.tar.gz", "has_sig": false, "md5_digest": "0e2b7ffa2d021b1cad1aea01e0ec1d7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14720, "upload_time": "2015-04-09T20:53:46", "url": "https://files.pythonhosted.org/packages/e7/05/69d019dae33b7f85bfcb9d1adadfe954f82c93083eb3df7b44a1a561307a/pypc-0.1.5.dev2.tar.gz" } ], "0.1.50": [ { "comment_text": "", "digests": { "md5": "934999d4b2ebfc45a794df2e04e733bc", "sha256": "f6fddad5c49ed762d9bf9407d002a08c727737eb07798dc9f3475af3fcb3a150" }, "downloads": -1, "filename": "pypc-0.1.50-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "934999d4b2ebfc45a794df2e04e733bc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15380, "upload_time": "2015-04-09T21:35:58", "url": "https://files.pythonhosted.org/packages/50/a2/a664f04a7aca9fca6d8f4c7daf5d0e749131cb12a1cdf7a17487f16bb29d/pypc-0.1.50-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "142e97069b4b03d5076fd2f13858aa59", "sha256": "bdfd4b5245bd826112983cb0177b609a17c4a52f97bb1abb958f3e6121a55260" }, "downloads": -1, "filename": "pypc-0.1.50.tar.gz", "has_sig": false, "md5_digest": "142e97069b4b03d5076fd2f13858aa59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14693, "upload_time": "2015-04-09T21:36:01", "url": "https://files.pythonhosted.org/packages/01/8f/119d8275d051a262216b56c84ba42b9861a0845d08daa80ef728ca650e6a/pypc-0.1.50.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "934999d4b2ebfc45a794df2e04e733bc", "sha256": "f6fddad5c49ed762d9bf9407d002a08c727737eb07798dc9f3475af3fcb3a150" }, "downloads": -1, "filename": "pypc-0.1.50-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "934999d4b2ebfc45a794df2e04e733bc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15380, "upload_time": "2015-04-09T21:35:58", "url": "https://files.pythonhosted.org/packages/50/a2/a664f04a7aca9fca6d8f4c7daf5d0e749131cb12a1cdf7a17487f16bb29d/pypc-0.1.50-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "142e97069b4b03d5076fd2f13858aa59", "sha256": "bdfd4b5245bd826112983cb0177b609a17c4a52f97bb1abb958f3e6121a55260" }, "downloads": -1, "filename": "pypc-0.1.50.tar.gz", "has_sig": false, "md5_digest": "142e97069b4b03d5076fd2f13858aa59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14693, "upload_time": "2015-04-09T21:36:01", "url": "https://files.pythonhosted.org/packages/01/8f/119d8275d051a262216b56c84ba42b9861a0845d08daa80ef728ca650e6a/pypc-0.1.50.tar.gz" } ] }