The purpose of this project is to show you how to create a standard python package from scratch. This project is inspired by this excellent getmyip package by @iamtennislover: [https://github.com/iamtennislover/getmyip] and this great guide on deploying python packages by @sigma-coding: [https://github.com/areed1192/sigma-coding].
See PythonStarterPackage_Tutorial.md in the doc/ directory for a step-by-step tutorial on how to deploy a package. If you are using this starter package for the first time, I definitely recommend doing the tutorial first.
This package can also be used as the skeleton for each time you create a new package. Use the instructions below install, test, and deploy the package.
Below are the Github and PyPi resources for this package.
For Windows, it is recommended to run this app on a Linux emulation layer such as the Git Bash terminal. See the "Instructions for Git Bash" section for details. In addition to Git Bash, make sure you also have Python3 and Pip3 as described below.
For Mac and Linux, this app should work out of the box on the Linux or Mac terminal, but make sure you also have Python3 and Pip3 as described below.
Requirements:
python3 --version.pip3 --version.There are a couple of options to install this app:
pip3 install PythonStarterPackage
git clone https://github.com/ArcticTechnology/PythonStarterPackage.git
cd PythonStarterPackage
pip3 install -e .
To uninstall this app:
pip3 uninstall PythonStarterPackage
.egg-info file located in the src/ directory of the package. This gets created automatically with pip3 install -e ..After installation, you have a few ways to run this app.
pythonstarterpackage
python3 -m:python3 -m pythonstarterpackage
from pythonstarterpackage import *
starter = StarterPkg()
starter.run()
To deploy this package, first, make sure you have gone through the PythonStarterPackage_Tutorial.md in the doc/ directory. Once you have a good understanding of how to implement your own package and assuming you have mapped dependencies and tested the package, you can use the following to deploy your package.
Once the package is ready, we can work on deploying the package.
setuptools, wheel, and twine (twine will be used in the next part).pip3 install --upgrade setuptools wheel twine
setup.py.python3 setup.py sdist bdist_wheel
unzip -l dist/*.whl && tar --list -f dist/*.tar.gz
pip3 install .
pythonstarterpackage
pip3 uninstall pythonstarterpackage
If there are any issues in the above you can always uninstall the package and delete the distributions then proceed to troubleshoot the issue. Once complete start over from the beginning. The commands below allow you to delete the distributions.
rm -rf build dist src/*.egg-info
BE CAREFUL not to miscopy the above command, as if you delete something you didn't intend you will not be able to retrieve it.
In order to upload to PyPi make sure to set up your PyPi account first. See "PyPi Setup Guide.md" in doc/ for more details. You will also need to have twine installed and upgraded. Once you have all of this setup do the following:
twine.twine upload dist/*
pip.pip3 install pythonstarterpackage
Note: If you get a "Requirements already satisfied..." for pythonstarterpackage when trying to install, it may be because pip still thinks you have the package already installed from the testing earlier. To cleanly break that connection, simply delete the ./src/PythonStarterPackage.egg-info. Then try uninstalling and reinstalling again.
pythonstarterpackage.pip3 uninstall pythonstarterpackage.This section goes over some of the common issues found and how to resolve them.
On Linux, if you are getting a command not found error when trying to run the app, you may need to add ~/.local/bin/ to PATH. See this thread for details: [https://stackoverflow.com/a/34947489]. To add ~/.local/bin/ to PATH do the following:
export PATH=~/.local/bin:$PATH to ~/.bash_profile.echo export PATH=~/.local/bin:$PATH > ~/.bash_profile
source ~/.bash_profile
Your python version is probably missing tkinter which typically comes default. See this post for details [https://stackoverflow.com/a/25905642]. Install it with the following:
sudo apt-get install python3-tk
For Mac, use this:
brew install python-tk
For Windows, it is recommended to run this app on a linux emulation layer like the Git Bash terminal. Here are the instructions for installing and setting up Git Bash:
Version >= 2.34.1
Use bundled OpenSSH - This uses ssh.exe that comes with Git.
bash.exe and install Python3 https://www.python.org/downloads/IMPORTANT: For Windows, use the bash.exe terminal rather git-bash.exe. There is a known issue with git-bash.exe messing up Python os commands in import os. See this thread for details: [https://stackoverflow.com/a/33623136].
bash.exe Git folder in the bin/ directory. For example: If git-bash.exe is here C:Program FilesGitgit-bash.exe then you should find bash.exe here C:Program FilesGitbinbash.exe.Our software is open source and free for public use. If you found any of these repos useful and would like to support this project financially, feel free to donate to our bitcoin address.
Bitcoin Address 1: 1GZQY6hMwszqxCmbC6uGxkyD5HKPhK1Pmf
