~/talk

How to design and implement extensible software with plugins with Simon Willison

Talkat DjangoCon US 2024 · 2024-09-22..09-27· [python]
slides:none on file

Live coding demonstrates a working plugin lifecycle: building small packages, running tests, pushing releases, and deploying to PyPI via GitHub Actions to add features without touching core. Details include using Pluggy and Python entrypoints, a new Django plugin system called djp, real examples (dataset with 158 plugins, llm supporting ~200 models, llm plugins adding local and API models, demo blog/header/database-url plugins), cookiecutter templates, and a gzip plugin shipped as proof it works.

AI-written summary · about

  1. 0:00Extensible software with plugins
  2. 1:02Plugins as architectural concept
  3. 3:07Plugins in Data Set project
  4. 4:11Plugins for experimentation
  5. 6:16Live demo: LLM plugin system
  6. 10:27Python for building plugins
  7. 11:33Introducing pluggy library
  8. 11:53Live coding: Add LLM models
  9. 14:23Deploying plugins with GitHub Actions
  10. 15:50Plugin lifestyle advantages
  11. 17:14Django plugin system design
  12. 18:38Live demo: Install Django plugins
  13. 23:17Data Set Cloud plugins
  14. 25:44Live coding: Django gzip plugin
  15. 32:33Designing plugin hooks
  16. 35:43Forward compatibility in hooks
  17. 37:29Async in plugin implementations
  18. 38:32Q&A on plugin systems
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.