Learn how to securely upload Python packages to PyPI from GitLab CI / CD pipelines using a “Trusted Publisher” (and without API tokens). Continuously test the release process with TestPyPI on every push. Use GitLab (deploy) environments as an additional security measure.
I wrote a new settings library that has advantages and disadvantages compared to other settings libraries. With the use cases I have encountered over the last years, the advantages outweigh the disadvantages, though.
Pylint 2.6.0 raises the new warning raise-missing-from . What does that mean? This post explains Pythons raise ... from ... syntax and demonstrates, how you can improve the meaning of re-raised exceptions by adding their underlying cause.
Attrs , data classes and pydantic seem very similar on a first glance, but they are very different when you take a closer look. In this article, I’ll find out, what these libraries have in common, how they differ and which one I’m going to use in the future.
Conda, GitLab and Docker can be used to manage and publish non- OSS code, e.g. inside organizations. You need some additional tooling for a smooth user experience, though.
MacOS’ new Dark Mode is quite nice, but as a developer, you might also want to switch your Terminal profile and Vim theme – all at the same time, of course …
Masking a QPixmap with a smooth circle is not as easily done as one might wish. I’ll show you how to do it with the help of a QImage , a QPainter and a QBrush . I also take care of Retina displays.
I demonstrate how you can use pytest’s fixture system and the plug-in pytest-asyncio to reduce the boilerplate code required for testing networking libraries.
Pytest currently offers no helpers for testing (asyncio) coroutines. Its powerful plug-in architecture allows you fix that and write elegant tests for coroutines.
aiomas is a new, asyncio based library that helps you with creating distributed multi-agent systems. It allows different clocks (real-time, coupled to simulations, …) and different codecs (MsgPack, JSON ) to be used. You can also just use the lower level abstractions for RPC or message based request-reply channels.
Using good passwords is hard. You can’t remember complicated ones but you also don’t want store them in the cloud. Biometry is not a solution either. The master password algorithm comes to help. There are various implementations of it and I did one in Python.
SimPy is a discrete-event simulation library for Python. It can perform simulations as fast as possible as well as in real time (or wall-clock time ). This guide describes real-time simulations can be achieved in SimPy.
SimPy is a discrete-event simulation library for Python. This guide describes its shared resources and shows how you can use them to model things like producer/consumer problems.
SimPy is a discrete-event simulation library for Python. This guide describes how you can let processes interact with each other – because this is what makes simulation fun!
Mosaik is a co-simulation framework for smart energy systems. We’ve been working on it since four years now and finally had the opportunity to release it as Open Source Software.
SimPy is a discrete-event simulation library for Python. This guide describes the simulation environments: A simulation environment manages the simulation time as well as the scheduling and processing of events. It also provides means to step through or execute the simulation.
SimPy is a discrete-event simulation library for Python. This guide describes the basic concepts of SimPy: How does it work? What are processes, events and the environment? What can I do with them?
Until recently, Bitbucket nicely rendered reStructuredText (reST) formatted README .txt files for Python projects. This made totally sense, because PyPI requires the project’s description in reST and most people …
SimPy is a process-based and event-driven simulation framework written in pure Python. It can also be used for multi-agent systems and other eventloop-based applications. After several months of work and …
A while ago, I found a nice little script called check_for_updates.py which uses PIP to check your installed Python packages for updates. However, it didn’t work under Python …
The third and last part of this series is again just about testing. While the previous article focused on unit testing, this one will be about testing complete PyZMQ processes …
This is the second part of the series Designing and Testing PyZMQ Applications . In the first part , I wrote about designing a PyZMQ application, so this time it’s all …
ZeroMQ (or ØMQ or ZMQ ) is an intelligent messaging framework and described as “sockets on steroids”. That is, they look like normal TCP sockets but actually work as you’d …
I recently got the chance to review the book NumPy 1.5 Beginner’s Guide by Ivan Idris and published by Packt Publishing . It covers many aspects of NumPy and …
SimPy is a process-based discrete-event simulation library written in pure Python. Ontje Lünsdorf and I have already contributed to prior version of SimPy and now have become members of the …
It took me nearly three months to fix five small issues with the documentation. But now I finally released Collectors v1.0 . :-) You can read everything important in the RC1 …