Managing code is difficult because it is modular and constantly being updated. When you build an application using that code, you have to make certain assumptions. During testing, these assumptions are confirmed for a particular state of that code. However, when that state changes, there is no certainty that these assumptions will remain valid.

There is a wide range of applications built using Python. Python gives developers the power to perform various complex tasks. A key component of this success is modules - a collection of code that performs a specific task. Modules can be installed using pip and used with import.

pip install requests
import requests

Python is open source, so anyone can contribute. Looking at the source, the Python programming language has over 3000 contributors. Most of the development is managed by a few developers - these are the core maintainers. 20 people are responsible for almost 60% of commits.

Python modules are separate from the Python programming language itself, and these are maintained by a different set of maintainers.

The reason software is continously being updated is because of fixes and features. Fixes are required for existing features that don’t work as expected. More features may be required to solve larger problems, or support more applications.

Modules for python change.

what is python, what are modules?

why can’t they be moved?

Module version conflict

virtualenv (venv)

Python version conflict

pyenv