I am a software engineer, who likes to work on improving the experience of using
software for other humans. I have a keen interest in open source software, with
deep experience with developer tooling and technical writing & communication.
I wear many hats in open source software spaces, including maintaining critical
projects that serve as the foundational digital infrastructure for the ecosystem
of the Python programming language, making it easier to create good technical
documentation websites and being involved in community events.
My current day job is to make it easier for software developers to write
software in Python; as part of Bloomberg Engineering’s Python Infrastructure
team.
This page is where I document stuff that I am responsible for, am involved in,
etc. For things like work experience and education, see Linkedin.
Open Source Software#
I contribute to a lot of open source software projects.
Maintainer
The standard package manager for Python, for installing and managing libraries
that aren’t included in Python’s standard library.
Maintainer
Configuration file format, with an emphasis on simplicity. It is used in many
places, including Python’s pyproject.toml
file and Rust’s cargo.toml
file.
Moderator
Serves as the primary repository of software for the Python programming language.
Core Developer
The Python programming language. (became triager in 2022)
Creator
Command line tool for vendoring Python Packages. It is designed specifically
for pip’s use case.
Maintainer
Library providing the basic functionality to help write tooling that generates
distribution files from Python projects.
Creator
Documentation theme for
Sphinx-based (technical) documentation, designed
to emphasize on the content while still providing capable navigation around
the documentation.
Creator
Sphinx plugin that provides simple and easy-to-use tabs for inline
content; for use in technical documentation.
Creator
Library for installing Python “wheel” distributions, serving as building
block for Python package/dependency management tooling.
Maintainer
Simplified packaging of Python modules and scripts. It tries to require less
thought about packaging and help you avoid common mistakes.
Creator
Simplified packaging and development workflow for Sphinx themes, by building
upon existing de-facto standard tooling.
Maintainer
Spack is a multi-platform package manager that builds and installs multiple
versions and configurations of software.
Maintainer
Rebuild Sphinx documentation on changes, with live-reload in the browser.
Community Organisation and Engagement#
Recognized as a fellow by the Python Software Foundation for my significant
contributions to the Python community.
Recognized as an external-to-Google individual who has made exceptional
contributions to open source.
Python Packaging Authority
Member
Maintain tooling that serves foundational digital infrastructure for the Python packaging ecosystem.
Executable Books
Member
Part of a collaboration to create executable books with Jupyter, building upon the Sphinx ecosystem.
PyCon US
Co-organised the Python Packaging Summit.
Google Summer of Code
Mentored a student who worked on pip.
PyCon India
Volunteered at the conference, mentor at Open Source sprint.
PyConf Hyderabad
Volunteered at the conference, mentor at Open Source sprint.
PyCon US
Volunteered at the conference, participant at the “Python Packaging Mini-Summit” and in the development sprints.
Google Summer of Code
I learnt a lot working toward introducing a better dependency resolver in pip.
Talks#
I am an experienced public speaker, having presented at numerous conferences and
meetups on topics related to Python and software development. My talks have
covered a range of subjects, such as open source project management,
documentation best practices, UX design, and Python packaging.
Python packaging at Bloomberg
Sponsor Talk: PackagingCon 2023
Python and Bloomberg: An Open Source Duo
Sponsor Talk: PyCon US 2023
Growing pains of an open source project
Keynote: DjangoCon EU 2022
How to write horrible documentation
Talk: PyIstanbul Python Hour #128
UX contributions to pip, Python’s package installer
Panel: FOSDEM 2021
Improving pip for all users
Panel: FOSDEM 2021
How pip works internally
Talk: HydPy Meetup
Rethinking Python Packaging - a thought experiment
Talk: PyConf Hyderabad
Python Packaging - where we are and where we’re headed
Talk: PyCon India 2019
How did I get here?
Keynote: PyCon Korea
Interviews & Features#
In a variety of interviews and podcast appearances, I have had the opportunity
to discuss my work in the Python community as well as my insights and
experiences as an open source developer.
Episode 354
Invited to a panel on “Sphinx, MyST, and Python Docs in 2022”, an area of the Python
ecosystem that I’ve become deeply involved in.
Interviewed about my work in the Python ecosystem, journey as the “PyDev of the
week”.
Episode 264
Invited to a panel discussion about on pip’s next-generation dependency resolver, a
project that I worked on.
Episode 264
Interviewed as part of an ongoing series of “Interviews with open source maintainers
and developers” by SourceSort.
Update Nov 2022: The original blog post is now a broken link. :(
Thankfully, I keep extensive notes.
Older Projects#
These are projects that I have stepped away from.
Creator
An attempt at creating a theme for Sphinx, based off of
mkdocs-material.
This was the final piece to motivate me to write Furo.
Creator
An attempt at writing a compatibility layer between
Sphinx and themes
written for
MkDocs (specifically,
mkdocs-material). This led to me
starting work on
materialism
.
Maintainer
A tool for creating isolated “virtual” Python environments.
Maintainer
A minifier algorithm for JSON to remove comments and whitespace, implemented
in multiple programming languages.
Maintainer
Zsh plugin to help users remember shell aliases defined in their
shell configuration.
Creator
An initial attempt to design a dependency resolver, outside of pip,
for pip.
Creator
An adaptive UI theme for Sublime Text 2/3 that changed colors based on the
active colour scheme. This concept is now shipped as part of Sublime Text,
as the “Adaptive” theme.
Creator
Generate an HTML report for a nose
test suite run.
Creator
An optimistic teenager’s learning ground for parsers, language design,
API design, how languages differ and transpilation.
Creator
A Python library interact with to Stack Exchange’s API.