- Install required tools:
- Ensure that Python is installed on your system.
- Install Git, and create a GitHub account if you haven't already.
- Install Miniconda on your system (refer to the installation guide here).
- Set up a
gitrepository and virtual environment:- Open your terminal and create a conda environment named
devtools_scicompwith Python 3.9 by running:conda create --name devtools_scicomp python=3.9
- Install essential packages by running:
Note: Always install packages inside the conda environment using
python -m pip install pytest
python -m pip, which ensures that you're using the Python interpreter andpippackage manager within the environment. - Open GitHub in your web browser and follow these steps:
- Create a new empty repository titled
devtools_scicomp_project_2025, and select a specific license and the Python.gitignorefile. - Open your terminal or command prompt, clone the repository, create a
README.mdfile, and push your changes to the origin with the commit messagefirst commit.
- Create a new empty repository titled
- Open your terminal and create a conda environment named
A small note on pushing:
- Add your changes using:
git add [FILES]
- Commit your changes with:
git commit -m "[COMMIT MESSAGE]" - Push your commits with:
git push origin HEAD:main
- Inside your cloned GitHub repository, create the following directories:
src/pyclassify/,scripts,test,shell, andexperiments. - Inside the
src/pyclassify/directory, create an__init__.pyandutils.pyfile. - Inside the
scripts/directory, create anrun.pyfile. - Inside the
shell/directory, create ansubmit.sbatchandsubmit.shfile. - Inside the
experiments/directory, create anconfig.yamlfile. - Inside the
test/directory, create antest_.pyfile. - Generate a
requirements.txtfile from thedevtools_scicompconda environment by running:python -m pip freeze > requirements.txt
Add the requirements.txt file to the root of your project folder (devtools_scicomp_project_2025/).
- Create a
pyproject.tomlfile for your project from this template, and complete the[INSERT]placeholders. - Add in the
.gitignorefile a removal of.datand.datafiles. - Add, commit, and push these changes to the origin repository with the commit message
structuring the package.
The repository with the right structure and commits is available here: GitHub repo