FatturaElettronica v3.4 released

Today I released v3.4 of FatturaElettronica, a .NET open source project that allows validation and de/serialization of electronic invoices adhering to the standard defined by the Italian “Agenzia delle Entrate”. It’s doing very well for such a niche project, with downloads now well beyond the one hundred thousand mark. Be aware that this release anticipates support for v1.7.1 of the specification going into effect on October 1, 2022. For more information, see the appropriate ticket and the changelog. ...

September 9, 2022

The Docker Event Monitor

I added a new tool to my amateurish DevOps toolbox. Developed in the open by Tom Williams, the Docker Event Monitor is a “tiny container that monitors the local Docker event system in real-time and sends notifications to various integrations for event types that match the configuration. For example, you can trigger an alert when a container is stopped, killed, runs out of memory or health status change.” At its core sits a simple python script that monitors the docker.sock file for noticeable changes. The code is straightforward and looks safe to me. It only took a few minutes to set DEM up so that our alerts channel on Slack gets notified of any health status changes. Some handy options are included; my favorite is silence to set a time window during which alerts are not fired. It avoids unnecessary spam when routine maintenance goes off on your stack. ...

September 8, 2022

Eve 2.0.1 released

Today I released Eve 2.0.1, which contains an essential fix if you’re using MONGO_URI to connect to your MongoDB instance. See the relevant ticket for details. I’ve also pinned Flask dependency to v2.1, as v2.2 brings some breaking changes that, you guessed it, break our CI runs. If you think you can help wiht that, please do so. The complete changelog is available here.

September 7, 2022

How I stopped Spotify from draining both my RAM and CPU

A few days ago, I was browsing my Twitter feed when a suggestion from my friend @flaper87 caught my attention: On my “comfortably old” MacBook Pro1, Spotify has been an absolute hog. The simple act of opening it will require three hundred MBs. That’s a remarkable amount of memory for staying idle and doing nothing useful. Let it play for a few hours, and have fun glancing at CPU and RAM usage ramping up like there’s no tomorrow. Just for the record, here’s Spotify memory usage at launch: ...

September 5, 2022

"A project you maintain has been designated as critical"

Last week, I got a mail from PyPI, the Python package index. They informed me that one of my open source projects had been designated as ‘critical,’ and I was therefore required to enable two-factor authentication. If I didn’t oblige, I would soon lose the ability to add new releases or modify the project. The project in question was Cerberus. The ‘critical’ designation happens when a project has been in the top 1% of downloads over the prior six months. Given that there are currently 388K packages on the Python Package Index, I must admit that having one of my projects in the top 1% does feel good. ...

July 18, 2022

Eve 2.0 released

It’s been a long time coming, but I’m glad to announce that Eve 2 has finally been released today. This release drops support for Python 2, Python 3.5 and Python 3.6 hence the major version bump. Other than that, expect some fixes, a new uuidRepresentation setting for MONGO_OPTIONS, and an alignment to the latest Werkzeug/PyMongo idiosyncrasies. The full changelog is available on the project website. The Eve project has been out for ten years. As said elsewhere, I believe it’s mature and stable enough for most use cases. I consider it done in terms of features, and it is now in ‘maintenance mode’. ...

June 8, 2022

Eve-Swagger v0.2 released

I just released Eve-Swagger v0.2 on PyPI. Eve-Swagger is a Swagger/OpenAPI extension for Eve powered RESTful APIs. This maintenance release addresses a few issues and adds support for eve-auth-jwt. Many thanks to Roberto Romero for his contributions to this release.

May 17, 2022

Work in progress on Eve 2.0

I’ve been back at the forge working on Eve 2.0. Version 2 will support Python 3.7+ and drop Python 2.7, 3.5 and 3.6. It will bring support for PyMongo 4+ as well, along with several other minor fixes and improvements (changelog). It would be nice if you guys and gals, users of Eve, would give it a spin before the release. I know. I recently stated that Eve was in maintenance mode. All of those considerations still apply, but what can I say? I want Eve 2 out. ...

February 13, 2022

Is Eve still maintained?

Tonight someone opened a ticket on the Eve repository. I jotted down a quick reply and was about to hit the Comment button when I thought a more articulated reply was in order. I also want it published on my website. So the question is: Is Eve still maintained? My reply goes like this: Hello, yes, Eve is in ‘maintenance mode’, as I call it. I don’t actively develop new features anymore. Still, I am more than willing to code-review and merge relevant pull requests, especially so if they are bug fixes or improvements over existing features. ...

November 6, 2021

Drama going on at the .NET Foundation

A few months after I released my first .NET open source project (a niche one targeting the Italian fintech world), I was contacted by a representative of Team Digitale, the digital innovation branch of the Italian Public Administration. He suggested joining the Developers Italia initiative and moving my project to the their organization on GitHub “to enjoy enhanced visibility and broaden the audience”. I politely refused. I did not doubt my counterpart’s good faith. At the same time, I was concerned about the possible long-term consequences of a seemingly easy move. Moving a GitHub project away from your profile or an organization you control means ceding control over it. I was assured I would keep control of the project. But what happens if sometime in the future, when people in charge might even have changed, they revoke my access rights? As long as I am involved with my project, I should be in control. Also, I was not convinced that the move would help promote the project. We live in the search-engine age; people search for solutions to their problems. I was, and still am, confident that if I did my due diligence and my project is any good, people will find it1. ...

October 7, 2021