I love to contribute to Open Source projects. Besides being a maintainer of a top 1000 Python library and a few others, my contributions have mostly been little bits here and there, reporting and fixing bugs as I find them in projects I use. You can find my contributions on the following platforms:
Specific Projects
ciso8601
ciso8601 is the world’s fastest Python library for parsing ISO 8601 timestamps.
I completely rewrote the existing ciso8601 library, creating version 2.0.0
.
As part of the rewrite I:
- Fixed the interface to have consistent error handling (the most asked for issue)
- Improved test coverage by automatically generating test cases for all valid formats.
- Made it >65% faster
Since then, I’ve continued to improve its performance. With the 2.3.0 release, it is 3x faster than it was when I took over the project.
It is now the fastest way to parse ISO 8601 in Python, by far!
backports.datetime_fromisoformat
backports.datetime_fromisoformat is a simple backport of Python 3.11’s datetime.fromisoformat
methods to earlier versions of Python 3.
Foam
Foam is a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub.
I took on the project of designing and implementing a unified user experience for creating notes from templates (“Templates v2”).
This involved:
- Designing a new user experience for note templates:
- Allowing for templates to be able to be used by all the note creation mechanisms, unifying their differing needs into a cohesive and simple mental model that users could reason about.
- Extending the syntax of templates, in order to support useful metadata
- Drafting the proposed changes as a proposal document; communicating clearly and asynchronously with all of the relevant stakeholders
- Actually implementing the changes. More than a dozen PRs and counting…
Bug Patches
- Ruby’s
i18n
gem - Ruby on Rails: #41381 (Minor)
- Ansible: #24545 #24546
- AtomLinter/linter-pyflakes: (Minor)
- retype: #1 #2
- Construct: #360 #365 #372 (Documentation) #398
- pint: #387
- pyhocon: #53 #132 #134 #135
- deepdiff: (Documentation)
- Cabot: Various
- Evolus Pencil: #329
- pyfirebirdsql: #61
- pyorbital: #6
- ansible-vault: Various fixes
- ansible-modules-hashivault: (Documentation)
- Blackberry2Droid: #2 #3
- Many, many, many more…
Bugs Reported
- PostgreSQL: #14289
- GitLab: #31838
- rubocop
- tree-sitter: #316
- autopep8: #333
- NetworkX: #2134
- Evolus Pencil: #331 #332
- fastavro: #49 #66
- pyhocon: #102
- Esri/geometry-api-java: #75
- Hypothesis: #379
- Cobbler: #17220
- pyfirebirdsql: #58 #60
- akka: #13962
- markdown-toc: #50
- PHYLO: Various
- Many, many, many more…