A python starter package to be used as a template for creating your own python packages.

Overview

Python Starter Package

This is a basic python starter package to be used as a template for creating your own python packages.

Installation

This library is hosted on PyPi and can be installed via pip:

pip3 install PythonStarterPackage

For manual install, see below.

Manual Install

To manually install this package, clone this repo to your local system. After you clone the repo, navigate into the package to where the setup.py file is. Then use pip install -e . command. This will install the package and all its dependencies editable mode. Then you can use the package locally or use it as the starting point for building out your own package.

pip3 install -e .

Usage

You can run the app in your terminal with:

./app.py

You can also import this module into your own project and incorporate it into your own packages. For example:

from python_starter_package import *
python_starter = PythonStarterPackage()
python_starter.run()

Documentation

The purpose of this project is to show you how to create a standard python package from scratch. This project is inspired by Sigma-Coding (https://github.com/areed1192/sigma-coding), it is a great detailed guide on deploying python packages.

Setup

In order to setup the your own standard python package from scratch do the following:

  1. Setup the starter package with the files and folders below:
  • config - Directory containing all configuration files for your package.
  • src/python_starter_package - Core directory containing all the files that make up your program as well as __init__.py which is the entry point to our package.
    • utils - Sub-directory of python_starter_package containing any utility files for your program.
  • test - Directory containing all your test scripts.
  • app.py - Script to run your application.
  • LICENSE - File defining your package's license.
  • README.md - Readme file for documentation.
  • requirements.txt - File defining all the requirements of your package.
  • setup.py - Script to build your package.
  1. Once setup, add the contents and code to the files and directories you created. Copy the contents and code from the PythonStarterPackage available in this repo: https://github.com/mystic-repo/PythonStarterPackage.

Deployment

Do the following to create the deployment for the package.

  1. Create (or overwrite) the requirements.txt document with pipreqs. This is an extremely useful tool because it automatically finds all of the relavent versions of dependencies your package relies on and puts them into the requirements.txt file. If you don't have pipreqs, install it with pip install pipreqs.
pipreqs --force --encoding utf-8
  1. Upgrade setuptools, wheel, and twine (twine will be used in the next part).
pip3 install --upgrade setuptools wheel twine
pip3 install --user --upgrade setuptools wheel twine
  1. Build the package with setup.py.
python3 setup.py sdist bdist_wheel
  1. Test the install of the package.
pip3 install e .
  1. Run app.py to test that the package is working.
./app.py
  1. After testing that it is working, uninstall the package from pip3.
pip3 uninstall PythonStarterPackage

Upload to PyPi

In order to upload to PyPi make sure to setup 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:

  1. Upload using twine.
twine upload dist/*
  1. Install your package with pip.
pip install PythonStarterPackage

Note: If you get a "Requrements 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 go to ./src/ and delete the PythonStarterPackage.egg-info directory and its contents. Then try uninstalling and reinstalling again:

pip uninstall PythonStarterPackage
pip install PythonStarterPackage
  1. Finally, run the app.py to test that the package is working.
./app.py

Support and Contributions

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

alt text

Owner
Mystic
Mystic
A boilerplate for Django web applications

Django Hackathon Starter A boilerplate application for Django web applications. If you've attented hackathons, you already know how much time can be w

David Leonard 1.6k Dec 31, 2022
A platform for developers 👩‍💻 who wants to share their programs and projects.

Hacktoberfest-2021 A platform for developers 👩‍💻 who wants to share their projects and programs. Hacktoberfest has updated their rules and now this

Mayank Choudhary 40 Nov 07, 2022
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.

Cookiecutter Django Powered by Cookiecutter, Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly. Documentati

Daniel Roy Greenfeld 10k Jan 01, 2023
Django Boilerplate - Material Kit Design | AppSeed

Django Boilerplate - Material Kit Design | AppSeed

App Generator 45 Dec 23, 2022
A test Django application with production-level docker setup

DockerApp A test Django application with production-level docker setup. Blog: https://medium.com/@siddharth.sahu/the-near-perfect-dockerfile-for-djang

Siddharth Sahu 44 Nov 18, 2022
Project template layout for Django 3.0+

Django 3.0+ project template This is a simple Django 3.0+ project template with my preferred setup. Most Django project templates make way too many as

José Padilla 649 Dec 30, 2022
simple flask starter app utilizing docker

Simple flask starter app utilizing docker to showcase seasonal anime using jikanpy (myanimelist unofficial api).

Kennedy Ngugi Mwaura 5 Dec 15, 2021
Brif is a boilerplate tool based on Docker and FastAPI, designed to streamline the development and deployment of IIIF compliant platforms.

brif A boilerplate tool based on Docker, designed to streamline the development and deployment of IIIF compliant platforms. Embedded with FastAPI, Cel

Pierre 8 Sep 17, 2022
A framework for launching new Django Rest Framework projects quickly.

DRFx A framework for launching new Django Rest Framework projects quickly. Comes with a custom user model, login/logout/signup, social authentication

William Vincent 400 Dec 29, 2022
Basic Docker Compose template application with Flask, Celery, Redis, MySQL, SocketIO, Nginx and Gunicorn.

Nginx / Gunicorn / Flask 🐍 / Celery / SocketIO / MySQL / Redis / Docker 🐳 sample application Basic Docker Compose template application for orchestat

Alex Oarga 8 Aug 06, 2022
A low dependency and really simple to start project template for Python Projects.

Python Project Template A low dependency and really simple to start project template for Python Projects. HOW TO USE THIS TEMPLATE DO NOT FORK this is

Yurii Dubinka 5 Jan 21, 2022
Cookiecutter to create a Google Function. Powered by Poetry, GitHub actions, and Google Cloud Platform

Cookiecutter Google Function Cookiecutter template for a Google Function. Powered by Poetry, and GitHub actions. Quickstart Install the latest Cookiec

Arthur 1 Jan 07, 2022
A python starter package to be used as a template for creating your own python packages.

Python Starter Package This is a basic python starter package to be used as a template for creating your own python packages. Github repo: https://git

Mystic 1 Apr 04, 2022
Boilerplate code for a Python Flask API

MrMat :: Python :: API :: Flask Boilerplate code for a Python Flask API This variant of a Python Flask API is code-first and using native Flask Featur

0 Dec 26, 2021
Python-boilerplate - Python Boilerplate Project Structure

python-boilerplate Python Boilerplate Project Structure Folder Structure .github

1 Jan 18, 2022
King is a simple boilerplate from a bigger Discord Bot project created for my Discord Server.

King A simple Discord bot boilerplate. King is a simple boilerplate from a bigger Discord Bot project created for my Discord Server. I intend to showc

Xminent 0 Aug 21, 2021
NHS Theme for Streamlit applications

NHS Streamlit App Template Deployment (local) The tool has been built using Stre

nhs.pycom 3 Nov 07, 2022
The Django Base Site is a Django site that is built using the best Django practices and comes with all the common Django packages that you need to jumpstart your next project.

Django Base Site The Django Base Site is a Django site that is built using the best Django practices and comes with all the common Django packages tha

Brent O'Connor 167 Jan 03, 2023
A cookiecutter template for python scripts

cookiecutter-py-script A cookiecutter template for python scripts Prerequisites Git Usage pip install cookiecutter

Zeheng Li 1 Dec 14, 2022
Simple boilerplate ready for development

StartApp Simple boilerplate ready for development Notes Currently supported frameworks are: FastApi, Flask 🔨 Installation $ sudo pip3 install starta

Sabuhi 16 Oct 16, 2022