← all organisations

britishlibrary / Code

26 languages, 107.8 MB of source, and what the live estate is written in today.

Language figures come from GitHub's own per-repository byte counts, which measure source rather than a single headline label. File counts and repository sizes come from the mirrors themselves. The two tell different stories, and the difference is the point.

The codebase

26
languages in use
107.8 MB of source
22.1k
files at HEAD
across every analysed repository
0 B
on disk as mirrors
full history, every branch and tag
429.8 MB
largest repository
peripleo-lanc

What stands out

One archived repository holds 20% of all the bytes.

peripleo-lanc is 429.8 MB of git - a 2013 static snapshot of www.gov.uk, not source code. It single-handedly makes HTML the largest language by volume (0% of all source bytes). Any size or language statistic that does not exclude it is measuring an archive, not a codebase.

Sizes here are GitHub's reported figures.

This organisation was harvested with blobless partial clones, which fetch every commit and file path but not file contents, so there is no local size to measure against. Checked elsewhere in this dataset against 1,526 fully mirrored repositories, GitHub's reported size is accurate to within about six percent.

Ruby is the house language, but its share is falling.

Ruby is the primary language of 0% of archived repositories but only 0% of live ones. Python, Go, TypeScript and HCL have taken the difference - the signature of a shift from monolithic Rails publishing apps toward data pipelines, infrastructure-as-code and platform tooling.

Most repositories are small; a handful are enormous.

58% of repositories are under a megabyte of git data. The estate is not a monolith - it is a very long tail of small services, gems and prototypes around a few large publishing applications.

Languages, two ways

By volume of source

Bytes of code. Dominated by archived static HTML.

mIRC ScriptmIRC Script: 49.3 MB49.3 MBJupyter NotebookJupyter Notebook: 29.3 MB29.3 MBJavaScriptJavaScript: 15.9 MB15.9 MBCSSCSS: 5.6 MB5.6 MBCC: 1.8 MB1.8 MBTypeScriptTypeScript: 1.6 MB1.6 MBPythonPython: 1.5 MB1.5 MBLexLex: 751.2 kB751.2 kBC#C#: 488.0 kB488.0 kBLessLess: 431.9 kB431.9 kBJavaJava: 249.7 kB249.7 kBHTMLHTML: 240.0 kB240.0 kBXSLTXSLT: 237.2 kB237.2 kBPHPPHP: 123.7 kB123.7 kB

By number of repositories

How many repositories name each language as their primary one. A better guide to what engineers actually work in.

PythonPython: 2121JavaScriptJavaScript: 1919CSSCSS: 1717HTMLHTML: 1111Jupyter NotebookJupyter Notebook: 1010TypeScriptTypeScript: 77ShellShell: 77C#C#: 44SCSSSCSS: 33JavaJava: 33ASPASP: 33mIRC ScriptmIRC Script: 22PHPPHP: 22LessLess: 22

Live estate versus archive

The same language ranking, split by whether the repository is still active. The shift is the clearest signal of technical direction in the whole dataset.

Active repositories

JavaScriptJavaScript: 66PythonPython: 1212Jupyter NotebookJupyter Notebook: 99CSSCSS: 22TypeScriptTypeScript: 33mIRC ScriptmIRC Script: 22C#C#: 11JavaJava: 11HTMLHTML: 11XSLTXSLT: 11

Archived repositories

JavaScriptJavaScript: 77PythonPython: 11Jupyter NotebookJupyter Notebook: 00CSSCSS: 22TypeScriptTypeScript: 00mIRC ScriptmIRC Script: 00C#C#: 11JavaJava: 11HTMLHTML: 00XSLTXSLT: 00

Scale

Repository size distribution

Git data per repository, log-ish buckets.

2115.810.55.20< 10 kB: 7< 10 kB< 100 kB: 5< 100 kB< 1 MB: 21< 1 MB< 10 MB: 6< 10 MB< 100 MB: 9< 100 MB100 MB +: 9100 MB +

Commits against files

Each circle is a repository, sized by number of distinct authors. Both axes are logarithmic. The diagonal band is the normal relationship between codebase size and churn; outliers above it are long-lived apps with heavy iteration, below it are dumps and imports.

3.8k730.2138.726.35.0218.5170.81.6k14.6kBL-design-system: 53 commits, 162 files, 3 authorsBL-primo-customization: 7 commits, 32 files, 3 authorsBL-primo-explore-devenv: 160 commits, 82 files, 33 authorsBLL01: 107 commits, 1,037 files, 1 authorsBLL60: 6 commits, 7 files, 1 authorsIIIFImageService: 38 commits, 62 files, 3 authorsIncunabula-Catalogue-Entry-Detection: 167 commits, 22 files, 9 authorsMaRMAT: 323 commits, 20 files, 6 authorsTremendousIIIF: 85 commits, 95 files, 5 authorsUniversalViewer-old: 970 commits, 470 files, 13 authorsUniversalViewerDefaultTheme: 23 commits, 27 files, 2 authorsUniversalViewerExamples: 226 commits, 762 files, 7 authorsUniversalViewerTests: 58 commits, 42 files, 7 authorsaudio-offset-finder: 39 commits, 12 files, 1 authorsblitter: 109 commits, 73 files, 4 authorscomputing_for_cultural_heritage_2: 18 commits, 2 files, 3 authorsconvert-a-card: 196 commits, 887 files, 4 authorsdata.bl.uk: 10 commits, 115 files, 2 authorsdatacite-automation: 23 commits, 13 files, 3 authorsearly-malay-printed-books: 56 commits, 21 files, 3 authorsexamples: 1,026 commits, 645 files, 9 authorsfihrist-mss: 2,607 commits, 14,583 files, 38 authorsgeoreferencer_research_repo: 5 commits, 6 files, 2 authorsgraph-rag: 41 commits, 15 files, 1 authorshipe-ocrepair: 61 commits, 29 files, 4 authorsiiif-av-samples: 37 commits, 103 files, 1 authorsiiif-metadata-component: 53 commits, 33 files, 4 authorsimage-validator: 80 commits, 91 files, 9 authorsincu-binder-content-repo: 143 commits, 108 files, 5 authorsistc-to-csv: 9 commits, 11 files, 1 authorsjcpc-linked-data: 5 commits, 157 files, 3 authorsjpylyzer: 603 commits, 86 files, 24 authorslocating-a-national-collection: 753 commits, 123 files, 265 authorsmetadata-api: 10 commits, 14 files, 3 authorsmpt: 15 commits, 18 files, 7 authorsnginx-vod-module: 1,178 commits, 286 files, 21 authorsperipleo: 165 commits, 23 files, 7 authorsperipleo-lanc: 654 commits, 257 files, 6 authorssamiTools: 48 commits, 8 files, 2 authorssurvey-reports-coleridge-25: 50 commits, 23 files, 4 authorsunion-lists: 71 commits, 33 files, 2 authorsuniversalviewer: 3,845 commits, 614 files, 71 authorsuv-cy-GB-theme: 27 commits, 10 files, 2 authorsuv-en-GB-theme: 28 commits, 11 files, 3 authorsuvAppDevNorthBL2023: 3,131 commits, 469 files, 48 authorsfiles at HEAD (log)commits (log)

The shape of a repository

Directory layout is the cheapest reliable signal of what a repository actually is. app/ with config/ and spec/ is a Rails application; src/ with test/ is Java or Node. Counted by how many repositories contain each top-level directory at HEAD.

Most common top-level directories

srcsrc: 1414teststests: 1111notebooksnotebooks: 99docsdocs: 77datadata: 55liblib: 44PropertiesProperties: 33buildbuild: 33imgimg: 33.vscode.vscode: 33packagespackages: 22scriptsscripts: 22ReportsReports: 22docdoc: 22manifestmanifest: 22binbin: 22jpylyzerjpylyzer: 22modelsmodels: 22

Most common file extensions

By total file count across the estate.

.xml.xml: 14.6k14.6k.js.js: 864864.png.png: 856856.txt.txt: 559559.mrk.mrk: 480480.ts.ts: 479479.jpg.jpg: 461461.pxml.pxml: 446446.properties.properties: 421421.json.json: 408408.html.html: 292292.py.py: 261261.less.less: 200200.scss.scss: 137137.md.md: 136136.h.h: 124124

The twenty largest repositories

RepositoryLanguageGit size CommitsFilesStatus
peripleo-lancJavaScript429.8 MB654257active
fihrist-mssXSLT347.4 MB2,60714,583active
BLL01mIRC Script215.8 MB1071,037active
jpylyzerPython205.4 MB60386active
UniversalViewer-oldJavaScript187.5 MB970470archived
examplesJavaScript142.8 MB1,026645active
Incunabula-Catalogue-Entry-DetectionJupyter Notebook131.4 MB16722active
incu-binder-content-repoJupyter Notebook130.9 MB143108active
iiif-av-samplesCSS128.4 MB37103archived
locating-a-national-collectionPHP44.5 MB753123active
universalviewerJavaScript35.9 MB3,845614active
uvAppDevNorthBL2023TypeScript34.0 MB3,131469active
convert-a-cardJupyter Notebook29.1 MB196887active
TremendousIIIFC#28.9 MB8595active
blitterPython18.1 MB10973active
jcpc-linked-dataJavaScript13.9 MB5157active
data.bl.ukHTML12.2 MB10115active
graph-ragJupyter Notebook10.4 MB4115active
peripleo-9.2 MB16523active
UniversalViewerExamplesJavaScript6.4 MB226762archived