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, Curator
The canonical gallery of HTML themes available for the Sphinx documentation generator. Also, the home of my best PR, in terms of numbers.
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.