{"id":19338637,"url":"https://github.com/arctictechnology/pythonstarterpackage","last_synced_at":"2026-03-07T02:07:24.178Z","repository":{"id":57457600,"uuid":"435106228","full_name":"ArcticTechnology/PythonStarterPackage","owner":"ArcticTechnology","description":"Python starter package, a template for creating your own python packages.","archived":false,"fork":false,"pushed_at":"2025-01-03T12:21:18.000Z","size":57,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T06:22:15.454Z","etag":null,"topics":["package","package-creation","package-development","packaging","packaging-for-pypi","packaging-python","packaging-tutorial","pypi","pypi-package","python","python-package-boilerplate","python-package-demo","python-package-example","python-package-starter","python-package-template","setup-guide","setup-tutorial","setupcfg","setuptools","starter-kit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArcticTechnology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-12-05T07:53:56.000Z","updated_at":"2025-01-03T12:21:21.000Z","dependencies_parsed_at":"2022-09-07T01:53:36.371Z","dependency_job_id":"29aeee8c-9bc6-4f40-a995-fa49af444a63","html_url":"https://github.com/ArcticTechnology/PythonStarterPackage","commit_stats":null,"previous_names":["mystictechnology/pythonstarterpackage"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticTechnology%2FPythonStarterPackage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticTechnology%2FPythonStarterPackage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticTechnology%2FPythonStarterPackage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticTechnology%2FPythonStarterPackage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArcticTechnology","download_url":"https://codeload.github.com/ArcticTechnology/PythonStarterPackage/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250352309,"owners_count":21416468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["package","package-creation","package-development","packaging","packaging-for-pypi","packaging-python","packaging-tutorial","pypi","pypi-package","python","python-package-boilerplate","python-package-demo","python-package-example","python-package-starter","python-package-template","setup-guide","setup-tutorial","setupcfg","setuptools","starter-kit"],"created_at":"2024-11-10T03:18:12.769Z","updated_at":"2026-03-07T02:07:19.126Z","avatar_url":"https://github.com/ArcticTechnology.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python Starter Package\nThe 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].\n\nSee [PythonStarterPackage_Tutorial.md](https://github.com/ArcticTechnology/PythonStarterPackage/blob/main/doc/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.\n\nThis 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.\n\nBelow are the Github and PyPi resources for this package.\n* Github repo: https://github.com/ArcticTechnology/PythonStarterPackage\n* PyPi: https://pypi.org/project/PythonStarterPackage/\n\n## Prerequisites\nFor 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.\n\nFor 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.\n\nRequirements:\n* Python3 (version 3.8 or greater) - Install Python3 here: [https://www.python.org/downloads/]. Check version with: ```python3 --version```.\n* Pip3 (version 20.2.1 or greater) - Make sure to install python3-pip in order to use pip install. Check version with: ```pip3 --version```.\n\n## Installation\nThere are a couple of options to install this app:\n* Pip Install - This app is hosted on PyPi and can be installed with the following command:\n```\npip3 install PythonStarterPackage\n```\n* Local Install - Alternatively, you can download or git clone the Github repo and install it locally with the following:\n```\ngit clone https://github.com/ArcticTechnology/PythonStarterPackage.git\ncd PythonStarterPackage\npip3 install -e .\n```\nTo uninstall this app:\n```\npip3 uninstall PythonStarterPackage\n```\n* If you used the local install option, you will also want to delete the ```.egg-info``` file located in the ```src/``` directory of the package. This gets created automatically with ```pip3 install -e .```.\n\n## Usage\nAfter installation, you have a few ways to run this app.\n* Run this app from the terminal with this command:\n```\npythonstarterpackage\n```\n* Run this app with the python command ```python3 -m```:\n```\npython3 -m pythonstarterpackage\n```\n* You can also import the package resources and run them in your own project:\n```\nfrom pythonstarterpackage import *\nstarter = StarterPkg()\nstarter.run()\n```\n\n## Documentation\nTo deploy this package, first, make sure you have gone through the [PythonStarterPackage_Tutorial.md](https://github.com/ArcticTechnology/PythonStarterPackage/blob/main/doc/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.\n\n### Deployment\nOnce the package is ready, we can work on deploying the package.\n\n1. Upgrade ```setuptools```, ```wheel```, and ```twine``` (```twine``` will be used in the next part).\n```\npip3 install --upgrade setuptools wheel twine\n```\n2. Build the package with ```setup.py```.\n```\npython3 setup.py sdist bdist_wheel\n```\n3. Check the contents of the .whl and .tar.gz distributions. The key things to look for are: (1) all of your package subdirectories like utils are added to both distributions, (2) your config and package data are included in both distributions.\n```\nunzip -l dist/*.whl \u0026\u0026 tar --list -f dist/*.tar.gz\n```\n4. Test a local install of the package and run it to make sure it is working.\n```\npip3 install .\npythonstarterpackage\n```\n5. After testing that it is working, uninstall the package from pip3.\n```\npip3 uninstall pythonstarterpackage\n```\nIf 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.\n```\nrm -rf build dist src/*.egg-info\n```\nBE CAREFUL not to miscopy the above command, as if you delete something you didn't intend you will not be able to retrieve it.\n\n### Upload to PyPi\nIn 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:\n\n1. Upload using ```twine```.\n```\ntwine upload dist/*\n```\n2. Install your package with ```pip```.\n```\npip3 install pythonstarterpackage\n```\nNote: 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.\n\n3. Finally, run the app with: ```pythonstarterpackage```.\n4. Uninstall with: ```pip3 uninstall pythonstarterpackage```.\n\n## Troubleshooting\nThis section goes over some of the common issues found and how to resolve them.\n\n### \"Command Not Found\" Error When Running the App\nOn 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:\n\n1. Add ```export PATH=~/.local/bin:$PATH``` to ```~/.bash_profile```.\n```\necho export PATH=~/.local/bin:$PATH \u003e ~/.bash_profile\n```\n2. Execute command.\n```\nsource ~/.bash_profile\n```\n\n### \"ImportError: No module named 'tkinter'\nYour 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:\n```\nsudo apt-get install python3-tk\n```\nFor Mac, use this:\n```\nbrew install python-tk\n```\n\n### Instructions for Git Bash\nFor 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:\n1. Go to https://git-scm.com/downloads and click download.\n```\nVersion \u003e= 2.34.1\n```\n2. During the installation setup, make sure to include OpenSSH. The recommended setting should be fine:\n```\nUse bundled OpenSSH - This uses ssh.exe that comes with Git.\n```\n3. Leave the other settings as default, click through, and install.\n4. Open ```bash.exe``` and install Python3 https://www.python.org/downloads/\n5. Proceed to the \"Installation\" section to install this app.\n\nIMPORTANT: 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].\n* You can find ```bash.exe``` Git folder in the ```bin/``` directory. For example: If ```git-bash.exe``` is here ```C:\\Program Files\\Git\\git-bash.exe``` then you should find ```bash.exe``` here ```C:\\Program Files\\Git\\bin\\bash.exe```.\n\n## Support and Contributions\nOur 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.\n\nBitcoin Address 1: 1GZQY6hMwszqxCmbC6uGxkyD5HKPhK1Pmf\n\n![alt text](https://github.com/ArcticTechnology/BitcoinAddresses/blob/main/btcaddr1.png?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farctictechnology%2Fpythonstarterpackage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farctictechnology%2Fpythonstarterpackage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farctictechnology%2Fpythonstarterpackage/lists"}