- Assign yourself to an open git issue
- To suggest a new feature or bugfix:
- Check it does not already exist first! If it doesn't then:
- Open github issue
- Label it accordingly
- Discuss with project members on discord or through github
- To suggest a new feature or bugfix:
- Create a branch with
<issue-number>-<branch-descriptor>naming scheme (see article) - Work on assigned issue
- Try not to go outside the scope of the git issue
- discuss with project members if you end up having to implement new features outside of the original scope
- Try not to go outside the scope of the git issue
- Sync branch with dev
- Create remote branch and push to that branch
- Start the pull request process
- Branches are created from issues/ tasks
- Branches have the same name of its issue id#
- One Branch per issue and one issue per branch
- see article
The coding style was inspired by The Hitchhikers Guide to Python
- General Concepts
-
Explicit Code - The most straighforward way of coding is prefered.
-Bad def make_complex(*args): x, y = args return dict(**locals()) -Good def make_complex(x, y): return {'x': x, 'y': y} -
One Statement per line - While there are some areas where compound statements are allowed it is good practice to only have one statement per line.
-Bad print('one'); print('two') if x == 1: print('one') if <complex comparison> and <other complex comparison>:# do something -Good print('one') print('two') if x == 1: print('one') cond1 = <complex comparison> cond2 = <other complex comparison> if cond1 and cond2: # do something -
Do your best to try and keep you code concise and clean so it is readable to everyone. For more detailed examples or if you are unsure about something please refer to the documentation linked above or reach out to one of us.
-
- Create virtual environment
python -m venv .venv
- Add path to python interpreter from new virtual environment to IDE
- Open command palette:
CTRL-SHIFT-P - Type and select
Python: Select Interpreteroption - Select
python.exefile inside thevenvfolder - Close terminal and relaunch
- Verify
venvis activated by seeing(.venv)prompt in terminal
- Open command palette:
- Install project dependencies
pip install -r requirements.txt
- Setup pre-commit hook
pre-commit install
-
Check to see if python is installed
- Open a new terminal if one is not already present
- Enter in terminal
python3 --version - If that dosn't work try
python --version - If you have python 2, or are missing python you will need to download and follow instructions from Python.org
-
Create a virtual enviroment
- Create directory with
mkdir myproject - Change into that directory or folder name
cd myproject - Create virtual environment using
python3 -m venv venv - Activate the enviroment with
.venv/bin/activate
- Create directory with
- Instructions on Sachinsf.com
- Make sure you have git installed on your PC, and that all the files you are pushing are in one folder before you push any changes
This app can be run by typing python3 main.py or python main.py in your terminal. Since Tkinter is included with the basic Python installation, no additional libraries or frameworks are required to be downloaded via the Python package installer (pip).
- Currently, this project uses Tkinter for its GUI. This decision was made due to the popularity of Tkinter, the large amount of available resources, and the fact that Tkinter comes installed with a standard Python installation. In the future, this project may apply Tkinter themes or design modules to createa more modern design look. There are myriad resources for using Tkinter available online:
todo...
- Create branch with correct naming scheme (see section)
- Ensure code is working properly and passed all tests (see section)
- Open PR (against dev branch)
- Code review must be completed by running the code and tests, and ensuring code meets our coding standards (see section)
- review is not necessary if PR is related to documentation or project maintenance
- Upon approving PR:
- Close the github issue that the PR for
- Delete PR branch
- Merge PR into
devbranch (just merge PR to main if its related to documenation or project maintenance)
todo...
We are discussing this project on discord. Please contact andromedamoon-stack or PatrickBruso by DM on Github for details on our server.