Single-day event on: 2023.07.05
No videos, this was a class-room worksop.
My first contribution to an Open Source Python project
Writing Python inside a corporation is one thing, contributing to an open source project is a totally different experience. It brings a lot of joy.
During this workshop we'll go over the basics of contributing to an open source Python project hosted on GitHub and you will contribute to several open source projects.
- First we'll learn about forks and pull-requests on GitHub.
- Then GitHub Actions and Continuous Integration (CI) in general.
- Then we'll see the basics of writing tests and creating test coverage report.
- Finally we'll pick several Python projects, set up the local development environment for them and send at least one pull-request by each participant of the workshop.
You are expected to bring your own computer that already has Python installed and preferably also Docker, to make our tasks easier. You are expected to already have an account on GitHub and your picture or avatar added to it.
- Self introduction
- my open pull-requests
Contributing to a complex project is, well, complex. We'll start small and hopefully by the end of the day you will have conbtributed to at least one project and you have the understanding of how to contribute to some other project
What will we do today?
- Pull-request to this project - a JSON file, CI, fixing
- Introduction to Python testing.
- Show GitHub Actions running Python tests.
- Setting up local environment with or without Docker
What stops you from contributing to an open source project?
- What is a contribution to an open source project?
- Anwering a question on Stack Overflow
- Opening and issue
- Improving the documentation
- Writing a test
- Setting up Continuous Integration
- Fixing a bug
- Implementing a feature
- How to select an open source project to contribute to? Which open source project to work on?
- Set up local development environment
Send pull-request to our repository adding a json file to the
- The filename is
- It contains at least one field,
githubwith your username again.
- The filename is
Send a pull-request to the List of all awesome lists.
Setup PyDigger locally and run the tests.
Find a project that does not have instructions how to set up the local development environment and run the tests. Set it up, send a PR explaining how to do that.
Find a project that has tests, but no CI. Configure GitHub Actions.
Find a project that does not have (enough) tests. Write a test.