📦 setup.py (for humans)
=======================
This repo exists to provide [an example setup.py] file, that can be used
to bootstrap your next Python project. It includes some advanced
patterns and best practices for `setup.py`, as well as some
commented–out nice–to–haves.
For example, this `setup.py` provides a `$ python setup.py upload`
command, which creates a *universal wheel* (and *sdist*) and uploads
your package to [PyPi] using [Twine], without the need for an annoying
`setup.cfg` file. It also creates/uploads a new git tag, automatically.
In short, `setup.py` files can be daunting to approach, when first
starting out — even Guido has been heard saying, "everyone cargo cults
thems". It's true — so, I want this repo to be the best place to
copy–paste from :)
[Check out the example!][an example setup.py]
Installation
-----
```bash
cd your_project
# Download the setup.py file:
# download with wget
wget https://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.py -O setup.py
# download with curl
curl -O https://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.py
```
To Do
-----
- Tests via `$ setup.py test` (if it's concise).
Pull requests are encouraged!
More Resources
--------------
- [What is setup.py?] on Stack Overflow
- [Official Python Packaging User Guide](https://packaging.python.org)
- [The Hitchhiker's Guide to Packaging]
- [Cookiecutter template for a Python package]
License
-------
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any means.
[an example setup.py]: https://github.com/navdeep-G/setup.py/blob/master/setup.py
[PyPi]: https://docs.python.org/3/distutils/packageindex.html
[Twine]: https://pypi.python.org/pypi/twine
[image]: https://farm1.staticflickr.com/628/33173824932_58add34581_k_d.jpg
[What is setup.py?]: https://stackoverflow.com/questions/1471994/what-is-setup-py
[The Hitchhiker's Guide to Packaging]: https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/creation.html
[Cookiecutter template for a Python package]: https://github.com/audreyr/cookiecutter-pypackage
Raw data
{
"_id": null,
"home_page": "",
"name": "kloud-j",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7, <4",
"maintainer_email": "",
"keywords": "sample,setuptools,development",
"author": "A. Random Developer",
"author_email": "author@example.com",
"download_url": "https://files.pythonhosted.org/packages/af/47/f59b5175b137391c233fbc7cceb29aa26f947dc149dfe6cdc7aaae971850/kloud-j-0.0.1.tar.gz",
"platform": null,
"description": "\ud83d\udce6 setup.py (for humans)\n=======================\n\nThis repo exists to provide [an example setup.py] file, that can be used\nto bootstrap your next Python project. It includes some advanced\npatterns and best practices for `setup.py`, as well as some\ncommented\u2013out nice\u2013to\u2013haves.\n\nFor example, this `setup.py` provides a `$ python setup.py upload`\ncommand, which creates a *universal wheel* (and *sdist*) and uploads\nyour package to [PyPi] using [Twine], without the need for an annoying\n`setup.cfg` file. It also creates/uploads a new git tag, automatically.\n\nIn short, `setup.py` files can be daunting to approach, when first\nstarting out \u2014 even Guido has been heard saying, \"everyone cargo cults\nthems\". It's true \u2014 so, I want this repo to be the best place to\ncopy\u2013paste from :)\n\n[Check out the example!][an example setup.py]\n\nInstallation\n-----\n\n```bash\ncd your_project\n\n# Download the setup.py file:\n# download with wget\nwget https://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.py -O setup.py\n\n# download with curl\ncurl -O https://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.py\n```\n\nTo Do\n-----\n\n- Tests via `$ setup.py test` (if it's concise).\n\nPull requests are encouraged!\n\nMore Resources\n--------------\n\n- [What is setup.py?] on Stack Overflow\n- [Official Python Packaging User Guide](https://packaging.python.org)\n- [The Hitchhiker's Guide to Packaging]\n- [Cookiecutter template for a Python package]\n\nLicense\n-------\n\nThis is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or\ndistribute this software, either in source code form or as a compiled\nbinary, for any purpose, commercial or non-commercial, and by any means.\n\n [an example setup.py]: https://github.com/navdeep-G/setup.py/blob/master/setup.py\n [PyPi]: https://docs.python.org/3/distutils/packageindex.html\n [Twine]: https://pypi.python.org/pypi/twine\n [image]: https://farm1.staticflickr.com/628/33173824932_58add34581_k_d.jpg\n [What is setup.py?]: https://stackoverflow.com/questions/1471994/what-is-setup-py\n [The Hitchhiker's Guide to Packaging]: https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/creation.html\n [Cookiecutter template for a Python package]: https://github.com/audreyr/cookiecutter-pypackage\n",
"bugtrack_url": null,
"license": "",
"summary": "A sample Python project",
"version": "0.0.1",
"project_urls": {
"Bug Reports": "https://github.com/pypa/sampleproject/issues",
"Funding": "https://donate.pypi.org",
"Say Thanks!": "http://saythanks.io/to/example",
"Source": "https://github.com/pypa/sampleproject/"
},
"split_keywords": [
"sample",
"setuptools",
"development"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "244bd539dd5d17cd43b8f19d9d43bd6b47f98c4bcee49759ebcc017641640075",
"md5": "b13634c01d622ec6b566970e4080debb",
"sha256": "5b73ab5dd2a8d7795095baef2237ee0f7d9a777809e6524ab2933988ac3b681f"
},
"downloads": -1,
"filename": "kloud_j-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b13634c01d622ec6b566970e4080debb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7, <4",
"size": 2719,
"upload_time": "2024-03-02T21:24:33",
"upload_time_iso_8601": "2024-03-02T21:24:33.807779Z",
"url": "https://files.pythonhosted.org/packages/24/4b/d539dd5d17cd43b8f19d9d43bd6b47f98c4bcee49759ebcc017641640075/kloud_j-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af47f59b5175b137391c233fbc7cceb29aa26f947dc149dfe6cdc7aaae971850",
"md5": "6a5131e1b36b71c489afbda5071fa534",
"sha256": "397762bee20db336403dc185e875bf7df256237f60a4bdb88cb6673787f04a81"
},
"downloads": -1,
"filename": "kloud-j-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "6a5131e1b36b71c489afbda5071fa534",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7, <4",
"size": 5972,
"upload_time": "2024-03-02T21:24:35",
"upload_time_iso_8601": "2024-03-02T21:24:35.847730Z",
"url": "https://files.pythonhosted.org/packages/af/47/f59b5175b137391c233fbc7cceb29aa26f947dc149dfe6cdc7aaae971850/kloud-j-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-02 21:24:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pypa",
"github_project": "sampleproject",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "kloud-j"
}