This repository contains companion code for the course "Diseño e Implementación de Bibliotecas de Software" (DIBS).
Note
While the course is taught in Spanish, the code and documentation here are in English to ensure clarity, accessibility, and alignment with broader software development conventions.
This repository includes working examples and code fragments discussed in the following lessons from the DIBS course:
- 📘 Variable Declarations: Learn how Python’s flexible approach to variables and properties enables rapid development, while also exploring the trade-offs it presents when building maintainable libraries.
- 📘 Sum Types as Enumerations in Python: Exploring how to model sum types using
Enum
andmatch
in Python, introduced in Python 3.10. - 📘 Advanced Modeling with Enumerations: A deeper dive into using
Enum
for more complex data modeling scenarios.
More lessons will be added as the course progresses.
- Python 3.10 or higher
- uv for running the examples
- Recommended: PyCharm or any other Python IDE for a better development experience.
For installation help, see the setup guide.
To get started, clone the repository to your local machine:
git clone https://gitlab.com/r8vnhill/python-dibs.git
cd python-dibs
To run the examples, you can use the uv
command:
uv run <example_file.py>
Replace
<example_file.py>
with the specific Python file you want to run.
For example:
uv run type-fundamentals/basics/main.py
This project is licensed under the BSD 2-Clause License.
You may use, adapt, and share this code freely for personal, academic, or educational purposes, as long as attribution is given.
To access the full course (in Spanish), visit: 👉 https://dibs.ravenhill.cl
There you'll find lesson explanations, exercises, and supporting materials.