- Create a new Github repository on own account or on organization account
- Create a new pycharm project by using the pycharm github integration and cloning the repo from github into pycharm
- Add any pre-exisiting files to the pycharm project that is now automatically set up with a git remote
- Once inside pycharm, create a local virtual environment using pycharm's own venv creation interface
- Project specific
.py
files go intosrc
or sub-dir ofsrc
. All plotting scripts go insrc/plotting
. Avoid anymatplotlib
or related imports in mainsrc
files - All scripts (think
.sh
files, and template.py
files) that write toresults
should be inscripts/
- All
.ipynb
files go intonotebooks
. Using google colab is preffered but files should be downloaded into this folder once done - All figures/videos/plots go in the corresponding sub-dir of
results
. Example all.png
files inresults/figures
- All models (bullet/mujoco physcis based, trained, or otherwise) go into
models
or sub-dir ofmodels
- Any documentation that does not belong in the README.md (text files for minor references etc.) and things like referred PDFs go into
notes
- All local datasets and problem instance files go into
data
or sub-dir ofdata
notes/
data/
Command used to push this empty template repo to git/guthub was. Run this before pushing whenever a new dir is added to this template
find . -type d -empty -not -path "./.git/*" -exec touch {}/.gitkeep \;
Once cloned, run the following to get rid of these .gitkeep
files and keep your project pristine
find . -name '*.gitkeep' -delete
When a python-project reaches a stage where it is ready to transition from a collection of scripts to a "code-base" then at that point (this should happen once the viability of the project has been established) a remote (typically a GitHub) should be created for it using this template to save time and maintain standardization in relative paths.