DESOSA 2021

Pip

So, what is pip? pip is a package manager for Python. That means it’s a tool that allows you to install and manage additional libraries and dependencies that are not distributed as part of the standard library.

Package management is so important that pip has been included with the Python installer since versions 3.4 for Python 3 and 2.7.9 for Python 2, and it’s used by many Python projects, which makes it an essential tool for every developer that uses Python.

During this project, our team will analyze the source code and have a look at their current issues. Where possible, we will try to make a contribution to this open-source project.

Authors

Martin Li

MSc Computer Science student at TU Delft

Quentin Lee

First year Computer Science master student at TU Delft, interested in software engineering and data science

Thijmen Langendam

MSc Computer Science student at Delft University of Technology, interested in Machine/Deep Learning, AI and Computer Graphics

Wang Hao Wang

MSc Computer Science student @ Delft University of Technology.

pip - Variability analysis

The previous three essays described the product vision, architecture and quality assessment of pip. This essay will discuss the variability features of pip. pip allows a lot of configuration, while it still allows users to run pip on all operating systems with all versions of Python 3. Therefore, it would be interesting to take a deeper look into the variability features of pip and how they handle it. This essay will discuss how pip handles different hardware, operating systems, and how users can configure different commands suiting their personal needs.
Pip
March 26, 2021

pip - Quality and Technical Debt

The previous two essays described the product vision and architecture of pip. This essay will discuss the code base and software quality processes of pip. pip utilises continuous integration, tests and thorough code review to keep the code quality up to standards. Continuous integration runs several checks to ensure that all tests pass and all code adheres to pip’s code style. Thorough code review pushes maintainers and contributors to write efficient solutions.
Pip
March 17, 2021

pip - The architecture

In our last blogpost, we described the product vision of pip. In this blogpost, we will dive deeper into the architecture of pip. We will discuss a few different architectural views of pip and also discuss some made design choices. Main architectural style pip uses a component-based architectural style for their project. A component-based architectural style focuses on the decomposition of the design into individual functional or logical components. These components represent well-defined communication interfaces containing methods, events, and properties.
Pip
March 15, 2021

pip - The Product Vision

What is pip? pip is the package manager for Python. A package manager is a tool that allows you to install and manage additional libraries and dependencies that are not distributed as part of the standard library. It can be used to install packages from the Python Package Index and other indexes. These indexes are online repositories that host these libraries and dependencies. pip has been included with the Python installer since versions 3.
Pip
March 8, 2021

Contributions