Federico Di Gregorio is an owner and longtime open-source engineer based in Turin, Italy, with over 21 years of experience spanning embedded systems, databases and web applications. Trained as a physicist who moved through biophysics into computer science, he brings a researcher's rigor to pragmatic engineering and community-driven projects. A Debian developer since 1997 and founder of an open-source consulting practice, he has contributed to high-profile projects such as psycopg2—fixing memory leaks and improving PostgreSQL type handling—MimeKit, and the Zephyr RTOS support for the Arduino OPTA M7. He combines system integration and hands-on coding (from device trees and RS485/Ethernet to database adapters) with teaching and knowledge-transfer work at the Politecnico di Torino. Known for attention to correctness and efficiency, he excels at turning complex, cross-domain problems into reliable, maintainable systems.
21 years of coding experience
Graduate, Physics, Graduate, Physics at Università degli Studi di Torino
PostgreSQL database adapter for the Python programming language
Role in this project:
Back-end Developer & Database Engineer
Contributions:467 commits, 13 PRs, 13 pushes in 15 years 9 months
Contributions summary:Federico contributed to the PostgreSQL database adapter for Python (`psycopg2`) by fixing memory leaks, and implementing features like the copy_expert and the get_transaction_status features. They worked extensively on improving the handling of various data types, including UUID arrays and time zone offsets, with a focus on correctness and efficiency. The contributions demonstrate a deep understanding of the PostgreSQL database internals and the Python database API.
A .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.
Role in this project:
Back-end Developer
Contributions:13 commits in 6 months
Contributions summary:Federico primarily focused on improving the `MimeKit` library. They implemented new features using LINQ-like fluid constructors to create `MimeMessage`, `TextPart`, `Multipart`, and `MimePart` objects. They also added tests for these constructors and fixed an issue regarding content object parameters. Additionally, the user contributed to code cleanup and made modifications to support PostgreSQL-based certificate database functionality.
unixextractionc-sharpdkimspools
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.