{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: Public Domain", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "\n\n\n[](https://pypi.org/project/setuppy-generator/)\n[](https://unlicense.org/)\n\n### Installation\n```bash\n$ [sudo] pip install setuppy-generator\n```\n\n#### Pros\n+ `setup.py` generator\n+ create multiple setup.py files - dev/prod, github/pypi, etc\n+ python classes/cli\n\n#### Features\n`key`|file/environment variable\n-|-\n`name`|current directory basename or `$SETUP_NAME`\n`version`|`$SETUP_VERSION`\n`url`|`$SETUP_URL`\n`classifiers`|`classifiers.txt`, `$SETUP_CLASSIFIERS`\n`description`|`$SETUP_DESCRIPTION`\n`keywords`|`$SETUP_KEYWORDS`\n`long_description`|`README.md`/`README.rst`, `$SETUP_LONG_DESCRIPTION`\n`long_description_content_type`|`text/markdown` if `long_description` is `.md` file\n`install_requires`|`requirements.txt`, `$SETUP_INSTALL_REQUIRES`\n`packages`|`setuptools.find_packages()`, `$SETUP_PACKAGES`\n`py_modules`|python files in a current directory, `$SETUP_PY_MODULES`\n`scripts`|`scripts/*` files, `$SETUP_SCRIPTS`\n\n#### Examples\n```\nproject-name.py/\n\u251c\u2500\u2500 classifiers.txt\n\u251c\u2500\u2500 module.py\n\u251c\u2500\u2500 package\n| \u2514\u2500\u2500 __init__.py\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 requirements.txt\n\u2514\u2500\u2500 scripts\n \u2514\u2500\u2500 script\n```\n\n```bash\n$ cd path/to/project-name.py\n$ export SETUP_VERSION=\"1.0.0\"\n$ python -m setuppy_generator > setup.py\n```\n\n```python\nsetup(\n name='project-name',\n version='1.0.0',\n classifiers = [...],\n long_description=open('README.md').read(),\n long_description_content_type='text/markdown',\n install_requires=['req1','req2'],\n packages=['pkgname'],\n py_modules=['module'],\n scripts=['scripts/script']\n)\n```\n\nexample #2 - environment variables\n```bash\n$ export SETUP_URL=\"https://github.com/owner/repo\"\n$ export SETUP_CLASSIFIERS=\"classifiers.txt\"\n$ export SETUP_DESCRIPTION=\"description ...\"\n$ export SETUP_KEYWORDS=\"key1 key2\"\n$ export SETUP_LONG_DESCRIPTION=\"README.md\"\n$ export SETUP_INSTALL_REQUIRES=\"requirements.txt\"\n$ export SETUP_PACKAGES=\"package1 package2\"\n$ export SETUP_PY_MODULES=\"module1 module2\"\n$ export SETUP_SCRIPTS=\"scripts/script1 scripts/script2\"\n$ python -m setuppy_generator > setup.py\n```\n\n```python\nsetup(\n name='project-name',\n version='1.0.0',\n url='https://github.com/owner/repo',\n classifiers = [...],\n description='description ...',\n long_description=open('README.md').read(),\n long_description_content_type='text/markdown',\n keywords='key1 key2',\n install_requires=['req1','req2'],\n packages=['package1','package2'],\n py_modules=['module1','module2'],\n scripts=['scripts/script1','scripts/script2']\n)\n```\n\n`open(path).read()` function:\n```bash\n$ export SETUP_VERSION=\"open('.config/version.txt').read().split()\"\n$ export SETUP_DESCRIPTION=\"open('.config/description.txt').read().split()\"\n$ export SETUP_KEYWORDS=\"open('.config/keywords.txt').read().split(' ')\"\n$ python -m setuppy_generator > setup.py\n```\n\n```python\nsetup(\n ...\n version=open('.config/version.txt').read().split(),\n description=open('.config/description.txt').read().split(),\n keywords=open('.config/keywords.txt').read().split(' '),\n ...\n)\n```\n\nexample #3 - minimal `setup.py`\n```bash\n$ export SETUP_CLASSIFIERS=\"\"\n$ export SETUP_DESCRIPTION=\"\"\n$ export SETUP_KEYWORDS=\"\"\n$ export SETUP_LONG_DESCRIPTION=\"\"\n$ export SETUP_URL=\"\"\n$ python -m setuppy_generator > setup.py\n```\n\n```python\nsetup(\n name='project-name',\n version='1.0.0',\n install_requires=['req1','req2'],\n packages=['pkgname'],\n py_modules=['module'],\n scripts=['scripts/script']\n)\n```\n\n#### Related\n+ [`setupcfg-generator` - `setup.cfg` generator](https://pypi.org/project/setupcfg-generator/)\n\n
\n readme42.com\n
", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/andrewp-as-is/setuppy-generator.py", "keywords": "setup.py setup generator", "license": "Unlicense", "maintainer": "", "maintainer_email": "", "name": "setuppy-generator", "package_url": "https://pypi.org/project/setuppy-generator/", "platform": "", "project_url": "https://pypi.org/project/setuppy-generator/", "project_urls": { "Homepage": "https://github.com/andrewp-as-is/setuppy-generator.py" }, "release_url": "https://pypi.org/project/setuppy-generator/2020.12.2/", "requires_dist": null, "requires_python": "", "summary": "setup.py generator", "version": "2020.12.2", "yanked": false, "yanked_reason": null }, "last_serial": 8815175, "releases": { "2019.10.24": [ { "comment_text": "", "digests": { "md5": "4da26408983c36c3a46198ae38a529b5", "sha256": "fba73587b55bde32151c3756ae9b7d3382092ae2b71216b3695661c892f581eb" }, "downloads": -1, "filename": "setuppy-generator-2019.10.24.tar.gz", "has_sig": false, "md5_digest": "4da26408983c36c3a46198ae38a529b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4137, "upload_time": "2019-10-25T19:08:15", "upload_time_iso_8601": "2019-10-25T19:08:15.843533Z", "url": "https://files.pythonhosted.org/packages/12/99/a80c47fbf07e93f306581f4c0cc465614522228fee868e9cc469ae2ff77b/setuppy-generator-2019.10.24.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.12.2": [ { "comment_text": "", "digests": { "md5": "fed9130d199d9b182104012f8481493c", "sha256": "b0cbaeed4baeff8c982df3b835d2fce2535f0ac8ffc9a1f6a075e8ce37a16c11" }, "downloads": -1, "filename": "setuppy-generator-2020.12.2.tar.gz", "has_sig": false, "md5_digest": "fed9130d199d9b182104012f8481493c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3783, "upload_time": "2020-12-03T20:40:05", "upload_time_iso_8601": "2020-12-03T20:40:05.534256Z", "url": "https://files.pythonhosted.org/packages/4e/77/8253482190c3eb46d9e2304b874386a2476de6234f63ca7b0378b8a1e7f6/setuppy-generator-2020.12.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.7.1": [ { "comment_text": "", "digests": { "md5": "879a7055bad0d59b7f57cc1e8dcbc2ab", "sha256": "37517aee0a395a3a011e9bef3532829306deb897b6c7669e1dde7c43b53ee4d6" }, "downloads": -1, "filename": "setuppy-generator-2020.7.1.tar.gz", "has_sig": false, "md5_digest": "879a7055bad0d59b7f57cc1e8dcbc2ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3985, "upload_time": "2020-07-01T06:34:11", "upload_time_iso_8601": "2020-07-01T06:34:11.335227Z", "url": "https://files.pythonhosted.org/packages/e4/b1/fbbc322636649ad9394f585f31e050a874ad43e2a75543928e94f2c5fc5b/setuppy-generator-2020.7.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fed9130d199d9b182104012f8481493c", "sha256": "b0cbaeed4baeff8c982df3b835d2fce2535f0ac8ffc9a1f6a075e8ce37a16c11" }, "downloads": -1, "filename": "setuppy-generator-2020.12.2.tar.gz", "has_sig": false, "md5_digest": "fed9130d199d9b182104012f8481493c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3783, "upload_time": "2020-12-03T20:40:05", "upload_time_iso_8601": "2020-12-03T20:40:05.534256Z", "url": "https://files.pythonhosted.org/packages/4e/77/8253482190c3eb46d9e2304b874386a2476de6234f63ca7b0378b8a1e7f6/setuppy-generator-2020.12.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }