Giter Site home page Giter Site logo

osdc-2023-07-pyconil's Introduction

Open Sorce Development Course at PyCon Israel 2023

  • site

  • Single-day event on: 2023.07.05

Videos

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.

Session:

  • 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

Communities

Assignments

  • Send pull-request to our repository adding a json file to the participants/ folder.

    • The filename is your_github_user.json in lower-case
    • It contains at least one field, github with your username again.
  • 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.

Notes

osdc-2023-07-pyconil's People

Contributors

adi-bzn avatar amit-goldblatt avatar anatw avatar assafr avatar bicogal avatar cm-demo avatar daniel8688 avatar dennistex avatar dvir478 avatar hadarser avatar jonathan-berezin avatar kazaz-or avatar noyki avatar oreltahary avatar ori-roza avatar pumerantzuriya avatar shir-ah avatar szabgab avatar yonah-trachtman avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.