.pyi

6 claimants 0 primary 6 secondary secondary-only

SWH popularity

From the SWH-MSR-ARV dataset (Desmazières, Di Cosmo, Lorentz, MSR 2025; file nb_extensions_alphanum.csv) — one row per (ext, year) in the full SWH archive. Case-aggregated. citation.

844.5K
total occurrences
646.2K
since 2019 (76.5%)
1970–2023
years active

Case variants in archive: .pyi (844.5K), .pyI (10), .PYI (1) — aggregated above.

Confirm or correct this extension

Existing claims are only secondary or weakly-attested. A confirmation (or correction) would strengthen the catalog. Vocabulary reference: docs/extension_labels.md.

Quick pick — proposed PLs. Tick one or more to auto-fill the label as pl/<id>. Each chip is a PL that upstream sources or Linguist heuristics already suggest for .pyi. Multi-tick for a polysemous extension.
— or, if the button is blocked, use the link just below:
(fill the form to enable this link)
What happens after I submit?
  1. A new GitHub issue is opened in this repo with your form contents in a structured YAML block and the label ext-review. Your GitHub login becomes the annotator; the issue's created_at is the submission timestamp.
  2. A curator script (tools/process_extension_labels.py) fetches all ext-review issues and writes their parsed contents into data/derived/extension_labels.csv with curator_status="new". Until this script runs, your submission lives only as the GitHub issue.
  3. Your submission shows up on the curator triage page (/review/curator/) under "new". Maintainers review the issue (comment, ask for clarification, accept or reject) and edit extension_labels.csv to set curator_status to accepted.
  4. For pl/<id> labels, build_pl_taxonomy.py promotes accepted labels into ext_claim.csv with source="manual_review:<your-login>" and strength="proposed". The next site rebuild then shows your claim on this extension's page and on the language's page.
  5. Friendly-name + reference-URL labels (e.g. binary:image for .png) are not promoted into ext_claim.csv (they aren't PL claims) but are surfaced on this page's "Prior labels" table so anyone landing here sees them next to the auto-detected category.

In short: submitting opens an issue (provenance), and a small ingestion pipeline turns issues into rows the site renders. The loop is currently manual (the curator script must be run by a maintainer); GitHub Actions could automate it on each new issue.

Claimants (8)

Languages that list .pyi among their extensions. Strength reflects whether the upstream source treated it as their primary extension.
LanguageSourceStrength
bazelpygmentssecondary
pypygmentssecondary
Pythonlinguistsecondary
Pythonpygmentssecondary
Python (programming language)pygmentssecondary
Sagepygmentssecondary
Starlarkpygmentssecondary
Pythonwikidatadeprecated

Wikidata says… (1)

File formats, image formats, audio codecs and other non-PL entities that claim .pyi on Wikidata (property P1195) or in the Wikipedia infobox. Source: data/derived/external_extension_index.csv. Click Use as new PL on any row to open the Add-PL form pre-filled with that entry's name, Wikipedia/Wikidata URL, and this extension — one submission creates the PL + claim.
Right entry isn't listed? Add manually ↗
FormatClass (Wikidata P31)Suggested labelMIMENotesAction
Python type stub file Q123483284
file format
file formatUse as new PL ↗

SWH-mined examples (1)

Real archived programs with this extension, byte-verified against the SWH archive. Useful for deciding what this extension actually is when the attribution is uncertain.
backend.pyi · 859 B · seen 1337× in SWH
predicted: unclassified via fallback
swh:1:cnt:461c943a7cc6b9e35e6e668ea9292f6963bb6cc3;origin=https://github.com/NVIDIA/DALI;anchor=swh:1:rev:dfca5e96db44cecda517f67010e2779b3c4a7ea0;path=/dali/python/nvidia/dali/backend.pyi
Open in SWH · Raw bytes
Request more SWH-mined examples
If the examples above don't disambiguate what .pyi is, request a fresh mining run.
(or open the pre-filled issue directly)