Open-Source Project: Introduction to Python

WI-Project: Open-Source Project

Introduction to Python (2)

Prof. Dr. Gerit Wagner
Faculty Information Systems and Applied Computer Sciences
Otto-Friedrich-Universität Bamberg

center

♻️ 🛠️
Open-Source Project: Introduction to Python

Information on this session:

  • Form groups of three to four participants to collaborate on the tasks, solve them together, and engage in meaningful discussions about your solutions.
  • Over the course of two sessions, we will focus on refining a single module using the colrev run command, progressively enhancing it with each iteration.
♻️ 🛠️
Open-Source Project: Introduction to Python

Start our development environment on GitHub Codespaces

Resume the Codespace started in the previous session

center

♻️ 🛠️
Open-Source Project: Introduction to Python

Package setup

To create a new Python package, you can use package and dependency management tools, such as Poetry and poetry init.

If you work on existing CoLRev packages, you can extend the existing code available in the internal packages directory.

To create a new CoLRev package, navigate to the internal packages directory and run

colrev package --init

This command assists you in setting up a new CoLRev package interactively.

More information on package development is available here and in the documentation.

♻️ 🛠️
Open-Source Project: Introduction to Python

Next: Best practice and hacking sessions (per group)

  • Study the overview of Python and CoLRev packages
  • Read the CoLRev-Enhancement Proposal on SearchSources CEP-002, and raise questions in the issue feed (if any)
  • Take notes on key challenges and questions (for the best practice session)
  • Schedule consultation sessions as needed via Calendly

Useful links and resources for learning Python are available here.

♻️ 🛠️
Open-Source Project: Introduction to Python

Deliverables

Contribute code to a fork, create branches and merge code (see deadline).

  • The merge should be done in one of the first hacking session meetings
  • Students should prepare the merge by selecting suitable branches and explaining why they should be merged
  • We will complete the merge together with the students to prevent and solve problems
♻️ 🛠️