{ "info": { "author": "Chris Ostrouchov", "author_email": "chris.ostrouchov+pypkgtemp@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6" ], "description": "# Python Package Template\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n
Latest Release\"latest
\"latest
\n \n \"latest\n \n
Package Status\"status\"
License\"license\"
Build Status\n \n \"gitlab\n \n
Coverage\"coverage\"
Conda\n \n \"conda\n \n
Documentation\n \n \"readthedocs\n \n
\n\nThis is an opinionated attempt to document how I deploy a python\napplication with documentation, testing, pypi, and continuous\ndeployment. This project will be updated as I change my python\ndevelopment practices. Number one this is a learning experience.\n\n - documentation ([sphinx](http://www.sphinx-doc.org/en/stable/), selfhosted + [readthedocs](https://readthedocs.org/))\n - testing ([pytest](https://docs.pytest.org/en/latest/)) and coverage ([pytest-cov](https://github.com/pytest-dev/pytest-cov))\n - deploy to pypi ([twine](https://github.com/pypa/twine))\n - deploy to conda ([conda](https://github.com/conda/conda))\n - deploy docker container to ([dockerhub](https://hub.docker.com) and [gitlab container registry](https://about.gitlab.com/2016/05/23/gitlab-container-registry/))\n - building a package (`setup.py`, `README.md`, `CHANGELOG.md`, `LICENSE.md`)\n - command line interface with argparse\n - badges for testing, packages, and documentation\n\n## Assumptions:\n\nGitlab will be used for the continuous deployment. It is a great\nproject that is open source and comes with many nice features not\navailable for Github. You should consider it! Features used:\n\n - [pages](https://docs.gitlab.com/ee/user/project/pages/index.html)\n - [CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/)\n\nIf you would like a custom domain setup with gitlab pages for the\ndocumentation you will need to use\n[cloudflare](https://www.cloudflare.com/). I have a [blog written on\nhow to do\nthis](https://chrisostrouchov.com/posts/hugo_static_site_deployment/)\nor you can look at the [gitlab cloudflare\ndocumentation](https://about.gitlab.com/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/).\n\n## Steps\n\nThis project is a python package itself and full documentation is\navailable on readthedocs. Each of the steps below includes a link to\nthe section in the documentation.\n\n1. [setup a bare python package](https://costrouc-python-package-template.readthedocs.io/en/latest/packaging.html) with git repo (`setup.py`, `README.md`, `.gitignore`, ``)\n2. [setup pypi deployment](https://costrouc-python-package-template.readthedocs.io/en/latest/pypi.html) with git tags `vX.X.X`\n3. [setup testing](https://costrouc-python-package-template.readthedocs.io/en/latest/testing.html) on each commit with `pytest`\n4. [setup documentation](https://costrouc-python-package-template.readthedocs.io/en/latest/documentation.html) with `sphinx` on readthedocs and self hosted\n\n# Requirements\n\nNone!\n\n# Contributing\n\nAll contributions, bug reports, bug fixes, documentation improvements,\nenhancements and ideas are welcome.\n\nThe goal of this project is to in an opinionated way guide modern\npython packaging development for myself.\n\n# License\n\nMIT", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/costrouc/knoxpy-sqlite-pypi-readthedocs", "keywords": "python package template documentation testing continuous deployment", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pypkgtemp", "package_url": "https://pypi.org/project/pypkgtemp/", "platform": "", "project_url": "https://pypi.org/project/pypkgtemp/", "project_urls": { "Homepage": "https://gitlab.com/costrouc/knoxpy-sqlite-pypi-readthedocs" }, "release_url": "https://pypi.org/project/pypkgtemp/1.2.0/", "requires_dist": null, "requires_python": "", "summary": "A python package template", "version": "1.2.0" }, "last_serial": 3761947, "releases": { "1.0.11": [ { "comment_text": "", "digests": { "md5": "db76960b26b0359eea184c2993544861", "sha256": "ba4d23f2831a88c595cea4c1dff13dbd8c54567e151d9cfa5d29fadd5609c524" }, "downloads": -1, "filename": "pypkgtemp-1.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "db76960b26b0359eea184c2993544861", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6610, "upload_time": "2018-04-11T20:59:40", "url": "https://files.pythonhosted.org/packages/5c/9c/0e05794ad742de5176f38f4b9164d4b0ae15a9d8a22675097e32f3765f53/pypkgtemp-1.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b47d0fbb1a65fbd93002998d394a8999", "sha256": "a6267de1d71fe41c449f7ebd91479356d19493b4e38a20ae88105ef5a73016cc" }, "downloads": -1, "filename": "pypkgtemp-1.0.11.tar.gz", "has_sig": false, "md5_digest": "b47d0fbb1a65fbd93002998d394a8999", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3978, "upload_time": "2018-04-11T20:59:38", "url": "https://files.pythonhosted.org/packages/18/a7/3f681e55cc566be9207bee65fa2eb16e2ddd92fc5fd73d624923120e4601/pypkgtemp-1.0.11.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "ce913844e9fcd4cd327c230043e5fca5", "sha256": "7c72713ddd3387ea7f71eebc6aefbd3bf531f119ba78b916e204c858da1faae9" }, "downloads": -1, "filename": "pypkgtemp-1.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "ce913844e9fcd4cd327c230043e5fca5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6684, "upload_time": "2018-04-11T21:26:56", "url": "https://files.pythonhosted.org/packages/16/66/cb83e667d63f80018d119a304cb4e024a650c4a1b7da1482c01a3e0fdbe2/pypkgtemp-1.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "318befa8b89005406c77f8c97771d6fb", "sha256": "be2722ea8ec2ac85d0fc7ae575bfb462732f75597d6859865b49f664b5165e3c" }, "downloads": -1, "filename": "pypkgtemp-1.0.12.tar.gz", "has_sig": false, "md5_digest": "318befa8b89005406c77f8c97771d6fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4037, "upload_time": "2018-04-11T21:26:55", "url": "https://files.pythonhosted.org/packages/10/44/7701bfe31dbda1fb832efd4e58e9556c88173fe80adb3c61eeb11f166205/pypkgtemp-1.0.12.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e72c8169a761b23577cc04a785c8ca02", "sha256": "61338a6661393b79481819827152a4373b43c918cae5df5a0ccddcf3f73f14a5" }, "downloads": -1, "filename": "pypkgtemp-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e72c8169a761b23577cc04a785c8ca02", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6681, "upload_time": "2018-04-11T22:23:07", "url": "https://files.pythonhosted.org/packages/1e/08/82b07116469d9fc256126f5889d59aa6a735c2f25aa66033e42f1d26c0be/pypkgtemp-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7166f7818113e4b62e563a113f714dac", "sha256": "8e1d30c84c9b97fbc5363f1737dc141d7e27f794d4fa7e28762518e2f585fe5f" }, "downloads": -1, "filename": "pypkgtemp-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7166f7818113e4b62e563a113f714dac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4049, "upload_time": "2018-04-11T22:23:05", "url": "https://files.pythonhosted.org/packages/7e/76/8751ee19c6deba5a36d86a27f1389548f0c8f30d1ca9c31095617348795d/pypkgtemp-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "178b8ba5a2038df2d6cb1ce8a1b32f0c", "sha256": "c3cda3c0784df47da1d21a95c5c6c133811b5881fb0b1d8b7ea39926da4a24d9" }, "downloads": -1, "filename": "pypkgtemp-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "178b8ba5a2038df2d6cb1ce8a1b32f0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6683, "upload_time": "2018-04-12T18:05:53", "url": "https://files.pythonhosted.org/packages/42/2e/d79df658920e232605a581ca6a1b4e1a3d2615a0170caf56a2890a942967/pypkgtemp-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5142545c0cc92ffece1e441f92387ff0", "sha256": "fdc3c03f26ee5c5fa4e5164c60bc4c2ed8d0361b28c881a3f8ed03b9e49e754a" }, "downloads": -1, "filename": "pypkgtemp-1.1.1.tar.gz", "has_sig": false, "md5_digest": "5142545c0cc92ffece1e441f92387ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4035, "upload_time": "2018-04-12T18:05:51", "url": "https://files.pythonhosted.org/packages/fd/31/66f4453db75ddef7149986145626967abd71247a14484c39c9923d094302/pypkgtemp-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "f85d951d957541f724e1eabf3ac2c7c2", "sha256": "f9d8fb34eb856f805d6990ef39991a19acbf98c4a12e79c4becce603bfa5a914" }, "downloads": -1, "filename": "pypkgtemp-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f85d951d957541f724e1eabf3ac2c7c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6857, "upload_time": "2018-04-13T14:18:06", "url": "https://files.pythonhosted.org/packages/c6/64/d90c0a4b5f9842decca2fa077b67d964b94f1b6315ac072f5594201b25c6/pypkgtemp-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f09bfd68a452665e6a9a3a66596167d", "sha256": "022c0d0a187b549dfaf375b637128e4c3925359f8438fe391c3f1b0d538993ef" }, "downloads": -1, "filename": "pypkgtemp-1.2.0.tar.gz", "has_sig": false, "md5_digest": "9f09bfd68a452665e6a9a3a66596167d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4145, "upload_time": "2018-04-13T14:18:05", "url": "https://files.pythonhosted.org/packages/83/6a/078f35909bbad794a8d5c985ecf5fc10f075a2d3a006c89010f57e005213/pypkgtemp-1.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f85d951d957541f724e1eabf3ac2c7c2", "sha256": "f9d8fb34eb856f805d6990ef39991a19acbf98c4a12e79c4becce603bfa5a914" }, "downloads": -1, "filename": "pypkgtemp-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f85d951d957541f724e1eabf3ac2c7c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6857, "upload_time": "2018-04-13T14:18:06", "url": "https://files.pythonhosted.org/packages/c6/64/d90c0a4b5f9842decca2fa077b67d964b94f1b6315ac072f5594201b25c6/pypkgtemp-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f09bfd68a452665e6a9a3a66596167d", "sha256": "022c0d0a187b549dfaf375b637128e4c3925359f8438fe391c3f1b0d538993ef" }, "downloads": -1, "filename": "pypkgtemp-1.2.0.tar.gz", "has_sig": false, "md5_digest": "9f09bfd68a452665e6a9a3a66596167d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4145, "upload_time": "2018-04-13T14:18:05", "url": "https://files.pythonhosted.org/packages/83/6a/078f35909bbad794a8d5c985ecf5fc10f075a2d3a006c89010f57e005213/pypkgtemp-1.2.0.tar.gz" } ] }