PyCon Lithuania 2024

Python package creation using bleeding edge toolset
2024-04-04 , Room 218

We will create a new Python package from scratch using the best practices and will deploy it to pypi.org. We will also learn the benefits and how to use the bleeding edge tools for code linting, unit testing and deployment. Let's make Python ecosystem even more awesome!


We will create a simple Python package from scratch using this bleeding-edge toolset:
- Ruff for linting (with strict rules enabled) and code formatting.
- MyPy for type checking.
- pip-audit for vulnerability in dependencies detection.
- deadcode for globally unused code detection.
- pytest - for executing unit tests and defining fixtures
- pytest-cov - for tracking test coverage
- hachling - for code deployment to pypi.org.
- Makefile - for commonly used command aliases
- pre-commit hooks - for enabling linting checks on every commit
- Gitlab-CI - for enabling checks on every code push
- UV - for Python virtual environment and dependency locking
- pyproject.toml - for package and dependency configuration

The newly created package will provide a primitive command line utility for displaying information.

A Tech Lead Python Engineer with a PhD in Informatics. Mainly specializes in back-end development using Django and Tornado frameworks and their related technologies like SQL/NoSQL databases, infrastructure as code and cloud providers.

This speaker also appears in: