Created
November 20, 2025 21:24
-
-
Save vossisboss/1fe45a566d0aa003d91c4a4ab3e2266d to your computer and use it in GitHub Desktop.
BigQuery query for 2025 Wagtail package analysis
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #standardSQL | |
| CREATE TEMP FUNCTION toMarkdown( | |
| name STRING, | |
| version STRING, | |
| home_page STRING, | |
| project_urls ARRAY<STRING>) | |
| RETURNS STRING | |
| LANGUAGE js AS """ | |
| // Convert project_urls to map for easy access | |
| const urls = {}; | |
| project_urls.forEach((entry) => { | |
| const [key, value] = entry.split(', '); | |
| urls[key.toLowerCase()] = value; | |
| }); | |
| const url = urls.changelog || urls.home || urls.homepage || urls.source || urls.repository || home_page || `https://pypi.org/project/${name}/`; | |
| return `- [${name} v${version}](${url})`; | |
| """; | |
| WITH | |
| -- Factor out the pattern logic once. | |
| allowed_packages AS ( | |
| SELECT DISTINCT name | |
| FROM `bigquery-public-data.pypi.distribution_metadata` | |
| WHERE packagetype = 'bdist_wheel' | |
| AND ( | |
| name IN ('wagtail', 'coderedcms', 'longclaw', 'django-cast', 'wagalytics', 'puput', 'ls.joyous') | |
| OR name LIKE 'wagtail%' | |
| OR name LIKE '%wagtail' | |
| ) | |
| ), | |
| latest AS ( | |
| SELECT | |
| dm.name, | |
| dm.version, | |
| dm.author, | |
| dm.home_page, | |
| dm.project_urls, | |
| dm.upload_time, | |
| toMarkdown(dm.name, dm.version, dm.home_page, dm.project_urls) AS markdown, | |
| CONCAT('https://pypi.org/project/', dm.name, '/', dm.version, '/') AS pypi_url | |
| FROM `bigquery-public-data.pypi.distribution_metadata` dm | |
| JOIN allowed_packages ap | |
| ON dm.name = ap.name | |
| WHERE dm.packagetype = 'bdist_wheel' | |
| AND dm.upload_time >= TIMESTAMP('2025-01-01 00:00:00') | |
| ) | |
| SELECT | |
| l.name, | |
| l.version AS latest_release, | |
| l.author, | |
| l.home_page, | |
| l.project_urls, | |
| l.upload_time, | |
| l.markdown, | |
| l.pypi_url | |
| FROM latest l | |
| ORDER BY l.upload_time DESC; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment