🧵 From script to version 1.0.0 — 12 years later
In 2013, I wrote a tiny Python script to help with local SMTP debugging during development.
It used smtpd
, docopt
, and had no ambition other than making my day a little easier.
This tiny helper evolved into a CLI tool: dsmtpd
Then, I forgot about it.
🧹 2021: Minor cleanup, no big plans
Eight years later, I dusted it off:
- Removed
docopt
- Dropped Python 2.x support
- Cleaned up the CLI a bit
- Pushed version 0.3
And once again, the tool went dormant.
⚡ 2025: A wild pull request appears
Fast forward to 2025:
I receive a PR from Sebastian Wagner to replace the deprecated smtpd
module with aiosmtpd
, now required for Python 3.12+.
The PR was 🔥:
- Clean and focused
- Added basic test coverage
- Included a
systemd
service file - Brought the project back to life
🏁 Result: Version 1.0.0 released
Twelve years after the first commit, I officially tagged v1.0.0.
📅 Release date: May 20, 2025
🍒 The cherry on top?
Turns out dsmtpd
has been running in production — quietly, usefully — for years.
No one told me. No compensation. No feedback. Just… usage.
That’s the beauty (and irony) of open source.
💡 Reflections
- Even the tiniest utility script can have long-term impact.
- Open source is full of quiet users and surprise contributors.
- Sometimes, one well-placed
git tag v1.0.0
is all it takes to honor the journey.
🔗 Project links
- 📎 GitHub: github.com/matrixise/dsmtpd
- 📦 PyPI: pypi.org/project/dsmtpd
If you’re like me and you enjoy keeping small tools alive — or watching them get resurrected years later — I’d love to hear your stories.
#python #opensource #cli #developer #smtpd #aiosmtpd #emailtools #dsmtpd #systemd #productionwithoutknowing #devlife