Skip to main content
← Back to Schedule

How to design and implement extensible software with plugins

to View on time.is

Junior Ballroom

We're sorry!

We made a mistake in processing the videos from DjangoCon US 2024. The sponsor acknowledgements are missing our wonderful sponsor, the Wharton School. We deeply regret this and are working to re-upload videos with our correct sponsor acknowledgements.

All videos have been marked as unlisted and will be removed in the future. We expect the new, permanent videos to be uploaded in two weeks.

About this session

This talk will cover:

  • When to consider adding plugin support to your project
  • Understanding Pluggy, the Python world's most mature plugin mechanism and possibly the most effective plugin framework in any language
  • How entrypoints enable simply installing a new Python package to register it as an installed plugin
  • How to effectively design your plugin hooks: the ways in which your software can be customized by plugins
  • Traps to avoid in implementing plugins
  • Documentation! How to ensure potential authors have everything they need to start writing plugins

I'll illustrate the talk with examples of different plugin patterns I have tried in my own software.

Presented by

  • Simon Willison

    Simon Willison

    Simon Willison is the creator of Datasette, an open source tool for exploring and publishing data. He currently works full-time developing open source tools for data journalism, built around Datasette and SQLite.

    Simon has spent the last year and a half deeply immersed in the world of Large Language Models, trying to solve the fascinating problems of how to responsibly use the technology in the two fields he knows best: journalism and software engineering.

    Prior to becoming an independent open source developer, Simon was an engineering director at Eventbrite. Simon joined Eventbrite through their acquisition of Lanyrd, a Y Combinator funded company he co-founded in 2010.

    He is a board member of the Python Software Foundation and a co-creator of the Django Web Framework, and has been blogging about web development and programming since 2002 at https://simonwillison.net/