Thank you for considering contributing to openqcp-lab! Here are some guidelines to help you get started.
-
Fork the Repository:
- Click the "Fork" button at the top right of the repository page.
-
Clone Your Fork Locally:
- Clone your fork to your local machine:
git clone git@codeberg.org:<YOURCODEBERGUSERNAME>/openqcp-lab.git
- Navigate to the cloned directory:
cd openqcp-lab
- Clone your fork to your local machine:
-
Set Up the Development Environment:
- Set up the Python environment using one of the methods described
in the main README:
# Option 1: Using the setup script ./setup_env.sh # Option 2: Using Makefile make env # Option 3: Manual setup python3 -m venv venv . venv/bin/activate pip install -r requirements.txt
- Activate the environment:
. venv/bin/activate
- Set up the Python environment using one of the methods described
in the main README:
-
Set Up the Upstream Repository:
- Add the original repository as an upstream remote to keep your
fork up-to-date:
git remote add upstream git@codeberg.org:mkhellat/openqcp-lab.git
- Add the original repository as an upstream remote to keep your
fork up-to-date:
-
Create a Branch:
- Create a new branch for your changes:
git checkout -b feature/your-feature-name
- Create a new branch for your changes:
-
Make Your Changes:
- Make your changes to the codebase.
- Follow the notebook structure guidelines in
NOTEBOOK_TEMPLATE.mdif adding or modifying notebooks. - Ensure code follows Python style conventions (PEP 8).
-
Test Your Changes:
- Run basic tests to ensure dependencies are working:
make test - If modifying notebooks, verify they have valid JSON structure and can be opened in Jupyter.
- Run basic tests to ensure dependencies are working:
-
Commit Your Changes:
- Commit your changes with a clear and descriptive message:
git add . git commit - It would be quite helpful if your commit messages are
comprehensive and explanatory of what has been done and adhere
to the following format with line breaks at 70 characters:
[COMMIT MSG TITLE] [COMMIT BODY]
- Commit your changes with a clear and descriptive message:
-
Push Your Changes:
- Push your changes to your fork:
git push origin feature/your-feature-name
- Push your changes to your fork:
-
Create a Pull Request:
- Go to the fork repository (your repository) on Codeberg.
- Create a "New Pull Request".
- Select your fork and the branch you created as the
HEAD, andopenqcp-lab/mainas theBASEand then submit the pull request.
-
Update your Fork and Local repos:
- Upon successful merge of your changes to
openqcp-lab, sync your fork repo and then update the cloned local repo:git checkout main git pull (--rebase) origin main git branch -D feature/your-feature-name
- Upon successful merge of your changes to
- Python Code: Follow PEP 8 style guidelines where applicable
- Notebooks: Follow the structure outlined in
NOTEBOOK_TEMPLATE.md - Documentation: Update README files when adding new features or notebooks
- Dependencies: Add new dependencies to
requirements.txtwith appropriate version constraints
In a productive, open, and transparent collaboration, we should be wary of all sorts of discrimination especially the ones rooted in nationality, race, and gender.
If you find a bug or have a feature request, please open an issue here.
If you have any questions, feel free to reach out to the maintainers.