{ "info": { "author": "Mybrid Wonderful, The GMU", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Topic :: Software Development" ], "description": "|\n\nThe GMU PyPi Template\n---------------------\n\nhttps://www.thegmu.com/\n\n:Authors: Mybrid Wonderful, Gregg Yearwood\n:Date: 03/19/2019\n:Support: mybrid@thegmu.com\n:Version: 1.2.0\n\n----\n\n- Documentation: http://the-gmu-pypi-template.readthedocs.org/\n- Source Code: https://bitbucket.org/thegmu/thegmu-pypi-template\n\n.. image:: https://www.thegmu.com/jaz/static/img/birdie_logo_64x96.png\n\n\nIntroduction\n------------\n\nThe GMU PyPi Template s a general Python project layout to create a PYPI project and is used for all PYPI Python projects at The Gregg & Mybrid Upgrade, Inc. (The GMU). The Makefile provided can immediately publish a package file to https://pypi.org, assuming you have an account. \n\nFeel free to clone the source code to make this your own:\n\n::\n\n git clone https://bitbucket.org/thegmu/thegmu-pypi-template\n\n----\n\n'fun_stuff' Sample Instructions\n-------------------------------\n\n::\n\n # Create /tmp/fun_stuff sample project\n # 1. Create a Python3 virtualenv.\n mkdir -p /tmp/venv\n python3 -m venv /tmp/venv/py3_fun_stuff\n\n\n # 3. Activate the Python3 virtualenv.\n . /tmp/venv/py3_fun_stuff/bin/activate\n\n # 2. Create an empty Python3 project directory.\n mkdir -p /tmp/git/fun_stuff\n\n # 5. Change directory into the empty Python3 project directory.\n cd /tmp/git/fun_stuff\n\n # 4. Install thegmu-pypi-template.\n # TEST: pip install --index-url https://test.pypi.org/simple/ thegmu-pypi-template\n pip install thegmu-pypi-template\n\n\n # 6. Run the install script to install the files into the current directory.\n thegmu-pypi-template\n\n # 7. Activate the PYPI environment from directory /tmp/fun_stuff\n . bin/activate-fun-stuff\n\n # 8. Validate the fun-stuff configuration by running the following make commands. \n make init\n make test\n make dist\n make test-dist\n\n # 9. Repeat the above for your new project configuration your development environment.\n # Follow the same steps above but:\n # Replace '/tmp/venv/fun_stuff' with your Python development virtualenv root directory and project name, i.e. \"$HOME/venv/py3_my_project\".\n # Replace '/tmp/git/fun_stuff' with your development source code repository root directory, i.e. \"$HOME/workspace/git/my_project\".\n # Create a new activation file and update the environment variables.\n # cp bin/activate-fun-stuff bin/activate-my-projectname\n # replace '. bin/activate-fun-stuff' with '. bin/activate-my-projectname'\n\n # 10. To make Sphinx documentation.\n make backup-docs # Create backup to compare your files with.\n make destroy-docs # Delete everything under docs/\n make docs # Runs the Sphinx wizard to initialize the conf.py file and then 'make html'.\n # Open HTML index file in browser: docs/_build/html/index.html\n\n\n----\n\nRequirements\n------------\n\n\n#. Encourage Python standards are followed for packaging and source.\n#. Pylint for validating PEP8 standards of code.\n#. Sphinx documentation to integrate with readthedocs.org\n#. Test automation in the dedicated tests directory.\n#. PyPi package deployment.\n#. ReadTheDocs documentation deployment.\n\n\n**Tools**:\n\n#. **autopep8**: pep8 code beautifier\n#. **pylint**: coding standards\n#. **pytest**: test source\n#. **readthedocs.org**: public documentation using sphinx\n#. **sphinx**: html documentation\n#. **tox**: test the source as installed package\n#. **twine**: deploy the package to pypi.org, test.pypi.org\n#. **Makefile**: run the tools\n\n\n**Configuration files**:\n\n#. **.gitignore**: ignore pylint, pytest, tox and build files as well .settings, .project, and .pydevproject directories from Eclipse.\n#. **.pylintrc**: The GMU specific PEP8 suppression.\n\n----\n\nMakefile Options\n----------------\n\nmake