I am excited to introduce JupyterLab Marketplace - a community-run catalog of available JupyterLab extensions that surfaces real signals for each extension (PyPI downloads, GitHub stars, last release date).
Try: https://labextensions.dev
Repo: GitHub - orbrx/jupyter-marketplace
Feedback / issues: Sign in to GitHub · GitHub
Why this exists
End users (researchers, data scientists)
- No unified marketplace like VS Code; discovery is scattered across PyPI, repos, and blog posts. (see No marketplace for jupyter extensions? )
- Hard to judge trust quickly (is it active? widely used?).
Extension developers
- Metrics are spread across GitHub and PyPI; hard to see everything in one place.
- Difficult to compare with adjacent tools or show progress to users/stakeholders.
- New authors can’t easily scan what already exists and where gaps are.
Project Jupyter / ecosystem stewards
- Hard to quantify the “liveliness” of the ecosystem and show platform growth to stakeholders/funders.
- A lack of extension catalog makes it difficult to gauge adoption, activity, and areas to invest.
What’s in the beta today
-
Search across name, summary, description, author
-
Sorts: New & Rising, Popular (last 30 d), Most Downloaded, Most Stars, Recently Updated, Name (A–Z)
-
Cards show GitHub stars, 30-day & all-time PyPI downloads, and “Updated X days ago”
-
Install guidance that works in normal and read-only/JupyterHub environments
-
Nightly refresh; public, read-only data view documented on the About page
Note: PyPI “downloads” are download events (a good proxy), not guaranteed installs.
How it works (data pipeline)
-
PyPI BigQuery for metadata + download stats.
-
Filtering out packages that are no longer published on PyPI + a small blocklist of extensions
-
GitHub API for stars/issues/recency
-
Curated into a read-only Supabase view consumed by the Next.js frontend
-
Scheduled daily BigQuery aggregation and GitHub Actions workflow to update Supabase
-
Privacy-respecting: no accounts; preferences live in your browser
Get your extension listed / fixed
If your package uses the Framework :: Jupyter :: JupyterLab :: Extensions
classifier on PyPI, it should appear automatically after the next refresh.
Missing or incorrect? Please open a Data correction issue with the PyPI name and the fix. We try not to have ad-hoc fixes, but rather update the data pipeline to deal with the all similar issues at once.
Looking for feedback
- Would a small deep-link hook in the Extension Manager (to pre-focus a package) be acceptable upstream?
- What would be the most useful addition for discovery:
- last supported major version of JupyterLab (i.e.
Framework :: Jupyter :: JupyterLab :: 4
) - extension categories and tags (theme, frontend/backend, AI tools)
- security scans
- last supported major version of JupyterLab (i.e.
- Volunteers for curation/testing and org verification are very welcome.
Live demo on the Community Call
I am aiming for a brief demo and Q&A on the Jupyter Community Call at Sep 4, 2025 at 15:00 UTC:
Would love your questions and early feedback there or in the repo.
This is a community project built by Orange Bricks and is not affiliated with Project Jupyter. The Jupyter® trademark is registered with the U.S. Patent & Trademark Office by LF Charities. © 2025