Contributing to Tkinter Designer
Thank you for your interest in contributing to our project! All contributions from the open-source community, individuals, and partners are welcomed. Our achievement is a result of your active participation.
Code of Conduct
To ensure our community is approachable and respectable, we have a Code of Conduct that all contributors are expected to follow. Please read the full Code of Conduct before participating.
In short, we pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
Contribution Workflow
1. Find or Create an Issue
Before you start working on something, please check the existing issues.
- If you find a bug or have a feature request, check if an issue already exists.
- If not, please create a new issue using the appropriate template.
- If you want to work on an existing issue, please leave a comment to let others know you're on it.
2. Set Up Your Development Environment
- Fork the repository on GitHub.
-
Clone your forked repository to your local machine:
git clone https://github.com/YOUR_USERNAME/Tkinter-Designer.git cd Tkinter-Designer
-
Install dependencies. This project uses Poetry for dependency management.
- First, install Poetry on your system.
- Then, run the following command to install all project dependencies into a virtual environment:
poetry install
3. Make Your Changes
- Create a new branch for your feature or bugfix:
git checkout -b my-awesome-feature
- Write your code. Make sure to follow the existing code style.
4. Run Linters and Tests
Before committing your changes, ensure that the code is clean and that all tests pass. We use flake8
for linting and pytest
for testing. The Makefile
provides convenient shortcuts.
-
To run the linter:
make lint # Or directly with poetry: # poetry run flake8 --ignore=E251,E226 --max-line-length=127
-
To run the tests:
make test # Or directly with poetry: # poetry run pytest
-
To run both (pre-commit check):
make precommit
5. Submit a Pull Request
- Commit your changes with a clear and descriptive message:
git commit -m "feat: Add support for rounded rectangles"
- Push your branch to your fork on GitHub:
git push origin my-awesome-feature
- Open a Pull Request from your forked repository to the
master
branch of the mainTkinter-Designer
repository. - In your PR description, briefly explain the changes you made and link to the issue it resolves (e.g.,
Closes #42
).
Your PR will be reviewed, and once it's approved and passes all checks, it will be merged. Congratulations, and thank you for your contribution!