← all organisations

ukparliament / Code

29 languages, 70.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

29
languages in use
70.8 MB of source
38.9k
files at HEAD
across every analysed repository
0 B
on disk as mirrors
full history, every branch and tag
2.0 GB
largest repository
ontologies

What stands out

One archived repository holds 50% of all the bytes.

ontologies is 2.0 GB of git - a 2013 static snapshot of www.gov.uk, not source code. It single-handedly makes HTML the largest language by volume (50% 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 33% of archived repositories but only 31% 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.

65% 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.

HTMLHTML: 35.3 MB35.3 MBJavaScriptJavaScript: 19.4 MB19.4 MBRubyRuby: 8.8 MB8.8 MBCSSCSS: 3.9 MB3.9 MBC#C#: 2.1 MB2.1 MBPythonPython: 259.7 kB259.7 kBTSQLTSQL: 181.8 kB181.8 kBSCSSSCSS: 166.8 kB166.8 kBLiquidLiquid: 123.4 kB123.4 kBMakefileMakefile: 114.5 kB114.5 kBPowerShellPowerShell: 98.6 kB98.6 kBHamlHaml: 42.9 kB42.9 kBShellShell: 34.8 kB34.8 kBGoGo: 32.6 kB32.6 kB

By number of repositories

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

HTMLHTML: 8787JavaScriptJavaScript: 7272CSSCSS: 7171RubyRuby: 6363MakefileMakefile: 6060ShellShell: 4343C#C#: 2525DockerfileDockerfile: 1818ProcfileProcfile: 1717PowerShellPowerShell: 1313PythonPython: 1111SCSSSCSS: 1010CoffeeScriptCoffeeScript: 66HCLHCL: 66

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

RubyRuby: 4444HTMLHTML: 2222JavaScriptJavaScript: 2020C#C#: 1717CSSCSS: 88PythonPython: 77HCLHCL: 66PowerShellPowerShell: 44MakefileMakefile: 44GoGo: 22

Archived repositories

RubyRuby: 11HTMLHTML: 11JavaScriptJavaScript: 00C#C#: 00CSSCSS: 11PythonPython: 00HCLHCL: 00PowerShellPowerShell: 00MakefileMakefile: 00GoGo: 00

Scale

Repository size distribution

Git data per repository, log-ish buckets.

4936.824.512.20< 10 kB: 24< 10 kB< 100 kB: 30< 100 kB< 1 MB: 49< 1 MB< 10 MB: 34< 10 MB< 100 MB: 16< 100 MB100 MB +: 5100 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.

20.5k2.6k320.040.05.0110.6112.41.2k12.6kApiManagement: 70 commits, 51 files, 6 authorsDocker: 9 commits, 6 files, 2 authorsMapping: 51 commits, 59 files, 5 authorsMend-Demo: 8 commits, 80 files, 1 authorsOData: 86 commits, 25 files, 6 authorsOntology: 276 commits, 24 files, 11 authorsOrchestration: 461 commits, 434 files, 10 authorsPhoto: 77 commits, 33 files, 4 authorsProcedure: 109 commits, 60 files, 6 authorsProcedureEditor: 98 commits, 223 files, 5 authorsProcedures: 123 commits, 67 files, 6 authorsQuery: 945 commits, 327 files, 30 authorsSearch: 138 commits, 55 files, 12 authorsShortener: 11 commits, 23 files, 3 authorsTreaty: 38 commits, 254 files, 7 authorsVocabularyBrowser: 35 commits, 58 files, 3 authorsWeeknotes: 576 commits, 79 files, 8 authorsarmada.parliament.uk: 43 commits, 966 files, 12 authorsaugustus: 516 commits, 172 files, 24 authorsbandiera: 284 commits, 73 files, 29 authorsbeta-landing-page: 22 commits, 6 files, 8 authorsbill-paper: 386 commits, 137 files, 5 authorscdp.ecs-cloudwatch-logs: 10 commits, 7 files, 2 authorschefcookbook.gocd-agent: 15 commits, 272 files, 3 authorschefcookbook.gocd-agent-linux: 44 commits, 25 files, 6 authorschefcookbook.gocd-server: 41 commits, 18 files, 8 authorschefcookbook.gocd-update-in-environment: 12 commits, 2 files, 2 authorschefcookbook.template: 24 commits, 27 files, 3 authorschefcookbook.template-linux: 20 commits, 19 files, 4 authorscommittees: 730 commits, 337 files, 6 authorscommons-library-open-day: 222 commits, 18 files, 5 authorsconstituency-responsibilities: 27 commits, 149 files, 2 authorscontent-driven: 105 commits, 62 files, 6 authorscontentful-ui-extensions: 7 commits, 1 files, 3 authorsdata-analysis: 94 commits, 26 files, 11 authorsdata-driven: 524 commits, 172 files, 10 authorsdata-library: 48 commits, 90 files, 3 authorsdesign-assets: 239 commits, 80 files, 4 authorsdesign-prototypes: 236 commits, 167 files, 21 authorsdesign-system: 26 commits, 3 files, 2 authorsdomain-models: 97 commits, 106 files, 6 authorsegg-timer: 2,960 commits, 360 files, 13 authorselastic-curator: 27 commits, 8 files, 1 authorsemail-components: 30 commits, 45 files, 11 authorsemail.parliament.uk: 214 commits, 52 files, 23 authorsfuellingthedebate.parliament.uk: 34 commits, 36 files, 8 authorsgeosparql_to_geojson: 20 commits, 40 files, 6 authorsgrom: 321 commits, 39 files, 13 authorsgromnative: 12 commits, 38 files, 1 authorslambda-instance-control: 14 commits, 8 files, 1 authorslambda-template: 52 commits, 12 files, 4 authorslambda-tools: 158 commits, 43 files, 2 authorslibrary-feeds: 326 commits, 108 files, 5 authorslord-bishops: 128 commits, 172 files, 3 authorsmember-service-api: 458 commits, 66 files, 15 authorsmembers-prototype-integration: 22 commits, 273 files, 4 authorsmembers-query-application: 80 commits, 67 files, 5 authorsmnis-prodder: 332 commits, 100 files, 6 authorsmp-for-a-week: 12 commits, 4,174 files, 5 authorsmpsallowances.parliament.uk: 24 commits, 25 files, 7 authorsmpsallowancesdb.parliament.uk: 28 commits, 18 files, 8 authorsmy-constituency-app: 11 commits, 2,003 files, 4 authorsnode-ntriples-data-example: 9 commits, 16 files, 4 authorsocean-dynamo: 305 commits, 103 files, 3 authorsontologies: 20,480 commits, 1,187 files, 35 authorspacker.docker-registrator: 8 commits, 5 files, 3 authorsparliament-grom-decorators: 277 commits, 143 files, 19 authorsparliament-ntriple: 54 commits, 70 files, 13 authorsparliament-opensearch: 58 commits, 52 files, 10 authorsparliament-ruby: 364 commits, 50 files, 24 authorsparliament-utils: 121 commits, 240 files, 17 authorsparliament.uk-awt: 21 commits, 14 files, 5 authorsparliament.uk-committee-prototypes: 166 commits, 151 files, 7 authorsparliament.uk-hybrid-bill-prototypes: 32 commits, 242 files, 9 authorsparliament.uk-lists: 493 commits, 1,056 files, 35 authorsparliament.uk-outputs-prototypes: 9 commits, 79 files, 1 authorsparliament.uk-packer: 50 commits, 22 files, 4 authorsparliament.uk-prototype: 1,776 commits, 815 files, 39 authorsparliament.uk-pugin: 1,362 commits, 148 files, 35 authorsparliament.uk-pugin-components-ruby: 898 commits, 174 files, 34 authorsparliament.uk-pugin-composition: 15 commits, 15 files, 5 authorsparliament.uk-routes: 198 commits, 86 files, 21 authorsparliament.uk-routing: 123 commits, 21 files, 21 authorsparliament.uk-search-prototype: 242 commits, 47 files, 21 authorsparliament.uk-static-api: 180 commits, 219 files, 20 authorsparliament.uk-static-assets-public: 55 commits, 34 files, 15 authorsparliament.uk-statutory-instrument-prototypes: 66 commits, 127 files, 7 authorsparliament.uk-styleguide: 5 commits, 10 files, 3 authorsparliament.uk-things: 811 commits, 464 files, 42 authorsparliament.uk-topic-prototypes: 5 commits, 50 files, 2 authorsparliament.uk-utilities: 579 commits, 180 files, 38 authorspeerages: 683 commits, 385 files, 2 authorspetitions-data-driven: 96 commits, 21 files, 7 authorsprocedure-bots: 153 commits, 103 files, 3 authorsprocedure-browser: 1,845 commits, 726 files, 5 authorsprocedure-parsing: 1,048 commits, 249 files, 4 authorsproduct-developer-home-exercise: 10 commits, 22 files, 2 authorsproduct-lead-developer-home-exercise: 32 commits, 55 files, 3 authorsproduct-principal-developer-home-exercise: 23 commits, 55 files, 2 authorsproduct-senior-developer-home-exercise: 33 commits, 55 files, 3 authorspsephology: 3,755 commits, 836 files, 7 authorspsephology-datasette: 624 commits, 267 files, 5 authorspublications-data: 250 commits, 146 files, 2 authorspugin-components: 260 commits, 295 files, 17 authorspugin-components-shunter-prototype-example: 5 commits, 16 files, 1 authorsquestion-checker: 282 commits, 127 files, 3 authorsregnal_years: 479 commits, 163 files, 6 authorsresearch-briefings-wp: 9 commits, 48 files, 3 authorsrss-notification-service: 208 commits, 64 files, 15 authorssearch-for-member: 141 commits, 84 files, 9 authorssearch-mock: 59 commits, 110 files, 2 authorssearch-prototype: 1,379 commits, 625 files, 10 authorssenior-engineer-home-exercise: 12 commits, 21 files, 3 authorsshop.parliament.uk: 617 commits, 179 files, 14 authorsshunter-prototype: 19 commits, 1 files, 1 authorssolr-specs: 154 commits, 15 files, 3 authorssprintnotes.outputs: 18 commits, 9 files, 2 authorssprintnotes.people: 94 commits, 37 files, 7 authorsstanding-orders: 501 commits, 284 files, 3 authorsstyleguide: 359 commits, 202 files, 17 authorstf_aws_customer_gw: 30 commits, 4 files, 8 authorstf_aws_public_subnet: 10 commits, 3 files, 2 authorstf_aws_vpc: 75 commits, 6 files, 36 authorstf_aws_vpc_only: 7 commits, 5 files, 3 authorstf_aws_vpn_gw: 5 commits, 4 files, 4 authorsthorney: 519 commits, 685 files, 20 authorstrumpton: 39 commits, 708 files, 2 authorsuk-general-elections: 375 commits, 145 files, 8 authorsuk-treaties: 338 commits, 12,645 files, 6 authorsuk.parliament-ansible: 1,618 commits, 185 files, 8 authorsuk.parliament-visual: 272 commits, 151 files, 11 authorsuk.parliament-visual-files: 48 commits, 5 files, 5 authorsvagrant: 18 commits, 36 files, 5 authorsvisual.parliament.uk-msoanames: 168 commits, 86 files, 5 authorsvisual.parliament.uk-static: 9 commits, 146 files, 5 authorsweeknotes.data-search: 487 commits, 69 files, 8 authorswritten-answer-bots: 562 commits, 170 files, 6 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

specspec: 5050configconfig: 4949binbin: 4848liblib: 4646publicpublic: 4141appapp: 3939gocdgocd: 3838loglog: 3737vendorvendor: 2727dbdb: 2424tmptmp: 2424testtest: 2020aws_ecsaws_ecs: 1919srcsrc: 1818assetsassets: 88storagestorage: 88recipesrecipes: 66docsdocs: 55

Most common file extensions

By total file count across the estate.

.json.json: 13k13k.rb.rb: 3.8k3.8k.yml.yml: 2.5k2.5k.erb.erb: 2.3k2.3k.pdf.pdf: 2k2k.png.png: 1.9k1.9k.mp3.mp3: 1.5k1.5k.ogg.ogg: 1.2k1.2k.cs.cs: 761761.md.md: 751751.html.html: 717717.js.js: 613613.jpg.jpg: 554554.haml.haml: 444444.pug.pug: 427427.scss.scss: 416416

The twenty largest repositories

RepositoryLanguageGit size CommitsFilesStatus
ontologiesHTML2.0 GB20,4801,187active
armada.parliament.ukHTML813.7 MB43966active
mp-for-a-weekJavaScript279.8 MB124,174active
my-constituency-appJavaScript225.5 MB112,003active
uk-treatiesRuby155.2 MB33812,645archived
standing-ordersJavaScript61.9 MB501284active
parliament.uk-prototypeRuby37.9 MB1,776815active
OrchestrationC#31.0 MB461434active
psephologyHTML30.5 MB3,755836active
uk.parliament-visualJavaScript27.9 MB272151active
parliament.uk-outputs-prototypesHTML19.2 MB979archived
parliament.uk-listsRuby19.2 MB4931,056active
peeragesJavaScript19.0 MB683385active
ProceduresCSS18.9 MB12367active
ProcedureCSS18.9 MB10960active
domain-models-17.9 MB97106active
egg-timerHTML17.2 MB2,960360active
pugin-componentsJavaScript15.4 MB260295active
visual.parliament.uk-msoanamesCSS15.2 MB16886active
procedure-parsingJavaScript12.6 MB1,048249active