1lab
A formalised, cross-linked reference resource for mathematics done in Homotopy Type Theory
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.4%) to scientific vocabulary
Keywords
Repository
A formalised, cross-linked reference resource for mathematics done in Homotopy Type Theory
Basic Info
- Host: GitHub
- Owner: the1lab
- License: agpl-3.0
- Language: Agda
- Default Branch: main
- Homepage: https://1lab.dev
- Size: 9.67 MB
Statistics
- Stars: 393
- Watchers: 15
- Forks: 84
- Open Issues: 52
- Releases: 0
Topics
Metadata Files
README.md
1Lab
A formalised, cross-linked reference resource for mathematics done in Homotopy Type Theory. Unlike the HoTT book, the 1lab is not a “linear” resource: Concepts are presented as a directed graph, with links indicating dependencies.
Building
Building the 1Lab is a rather complicated task, which has led to a lot
of homebrew infrastructure being developed for it. We build against a
specific build of Agda (see the rev field in
support/nix/dep/Agda/github.json), and there are also quite a few
external dependencies (e.g. pdftocairo, katex). The recommended way of
building the 1Lab is using Nix.
As a quick point of reference, nix-build will type-check and compile
the entire thing, and copy the necessary assets (TeX Gyre Pagella and
KaTeX's CSS and fonts) to the right locations. The result will be linked
as ./result, which can then be used to serve a website:
bash
$ nix-build
$ python -m http.server --directory result
Note that using Nix to build the website takes around ~20-30 minutes,
since it will type-check the entire codebase from scratch every time.
For interactive development, nix-shell will give you a shell with
everything you need to hack on the 1Lab, including Agda and the
pre-built Shakefile as 1lab-shake:
bash
$ 1lab-shake all -j
Since nix-shell will load the derivation steps as environment
variables, you can use something like this to copy the static assets
into place:
bash
$ eval "${installPhase}"
$ python -m http.server --directory _build/site
To hack on a file continuously, you can use "watch mode", which will attempt to only check and build the changed file.
$ 1lab-shake all -w
Additionally, since the validity of the Agda code is generally upheld by
agda-mode, you can use --skip-agda to only build the prose. Note
that this will disable checking the integrity of link targets, the
translation of `ref`{.Agda} spans, and the code blocks will be
right ugly.
Our build tools are routinely built for x86_64-linux and uploaded to
Cachix. If you have the Cachix CLI installed, simply run cachix use
1lab. Otherwise, add the following to your Nix configuration:
substituters = https://1lab.cachix.org
trusted-public-keys = 1lab.cachix.org-1:eYjd9F9RfibulS4OSFBYeaTMxWojPYLyMqgJHDvG1fs=
Directly
If you're feeling brave, you can try to replicate one of the build environments above. You will need:
The
cabal-installpackage manager. Usingstackis no longer supported.A working LaTeX installation (TeXLive, etc) with the packages
tikz-cd(depends onpgf),mathpazo,xcolor,preview, andstandalone(depends onvarwidthandxkeyval);Node + required Node modules. Run
npm cito install those.
You can then use cabal-install to build and run our specific version of Agda and our Shakefile:
```bash $ cabal install Agda -foptimise-heavily
This will take quite a while!
$ cabal v2-run shake -- -j --skip-agda
the double dash separates cabal-install's arguments from our
shakefile's.
```
Owner
- Name: The 1Lab
- Login: the1lab
- Kind: organization
- Website: https://1lab.dev
- Repositories: 1
- Profile: https://github.com/the1lab
An experiment in discoverable formalisation.
Citation (CITATION.bib)
@online{1lab,
author = {The {1Lab Development Team}},
title = {{The 1Lab}},
url = {https://1lab.dev},
year = 2024,
}
GitHub Events
Total
- Create event: 81
- Commit comment event: 2
- Issues event: 20
- Watch event: 46
- Delete event: 68
- Issue comment event: 160
- Push event: 431
- Pull request review event: 372
- Pull request review comment event: 407
- Pull request event: 162
- Fork event: 13
Last Year
- Create event: 81
- Commit comment event: 2
- Issues event: 20
- Watch event: 46
- Delete event: 68
- Issue comment event: 160
- Push event: 431
- Pull request review event: 372
- Pull request review comment event: 407
- Pull request event: 162
- Fork event: 13
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 19
- Total pull requests: 114
- Average time to close issues: 5 months
- Average time to close pull requests: 6 days
- Total issue authors: 9
- Total pull request authors: 11
- Average comments per issue: 0.74
- Average comments per pull request: 1.03
- Merged pull requests: 74
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 13
- Pull requests: 100
- Average time to close issues: 1 day
- Average time to close pull requests: 4 days
- Issue authors: 8
- Pull request authors: 11
- Average comments per issue: 1.0
- Average comments per pull request: 1.04
- Merged pull requests: 66
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- TOTBWF (7)
- plt-amy (3)
- cdo256 (2)
- 4e554c4c (2)
- SquidDev (1)
- carlostome (1)
- ncfavier (1)
- AndrasKovacs (1)
- finegeometer (1)
Pull Request Authors
- plt-amy (45)
- TOTBWF (27)
- ncfavier (24)
- 4e554c4c (8)
- jake-87 (3)
- finegeometer (2)
- anshwad10 (1)
- phi16 (1)
- VojtechStep (1)
- mmcqd (1)
- elkcl (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- @types/d3 7.4.0 development
- @types/d3-array 3.0.3 development
- @types/d3-axis 3.0.1 development
- @types/d3-brush 3.0.1 development
- @types/d3-chord 3.0.1 development
- @types/d3-color 3.1.0 development
- @types/d3-contour 3.0.1 development
- @types/d3-delaunay 6.0.1 development
- @types/d3-dispatch 3.0.1 development
- @types/d3-drag 3.0.1 development
- @types/d3-dsv 3.0.0 development
- @types/d3-ease 3.0.0 development
- @types/d3-fetch 3.0.1 development
- @types/d3-force 3.0.3 development
- @types/d3-format 3.0.1 development
- @types/d3-geo 3.0.2 development
- @types/d3-hierarchy 3.1.0 development
- @types/d3-interpolate 3.0.1 development
- @types/d3-path 3.0.0 development
- @types/d3-polygon 3.0.0 development
- @types/d3-quadtree 3.0.2 development
- @types/d3-random 3.0.1 development
- @types/d3-scale 4.0.2 development
- @types/d3-scale-chromatic 3.0.0 development
- @types/d3-selection 3.0.2 development
- @types/d3-shape 3.1.0 development
- @types/d3-time 3.0.0 development
- @types/d3-time-format 4.0.0 development
- @types/d3-timer 3.0.0 development
- @types/d3-transition 3.0.1 development
- @types/d3-zoom 3.0.1 development
- @types/geojson 7946.0.8 development
- commander 7.2.0 development
- commander 8.3.0 development
- d3 7.4.4 development
- d3-array 3.1.6 development
- d3-axis 3.0.0 development
- d3-brush 3.0.0 development
- d3-chord 3.0.1 development
- d3-color 3.1.0 development
- d3-contour 3.0.1 development
- d3-delaunay 6.0.2 development
- d3-dispatch 3.0.1 development
- d3-drag 3.0.0 development
- d3-dsv 3.0.1 development
- d3-ease 3.0.1 development
- d3-fetch 3.0.1 development
- d3-force 3.0.0 development
- d3-format 3.1.0 development
- d3-geo 3.0.1 development
- d3-hierarchy 3.1.2 development
- d3-interpolate 3.0.1 development
- d3-path 3.0.1 development
- d3-polygon 3.0.1 development
- d3-quadtree 3.0.1 development
- d3-random 3.0.1 development
- d3-scale 4.0.2 development
- d3-scale-chromatic 3.0.0 development
- d3-selection 3.0.0 development
- d3-shape 3.1.0 development
- d3-time 3.0.0 development
- d3-time-format 4.1.0 development
- d3-timer 3.0.1 development
- d3-transition 3.0.1 development
- d3-zoom 3.0.0 development
- delaunator 5.0.0 development
- esbuild 0.14.42 development
- esbuild-android-64 0.14.42 development
- esbuild-android-arm64 0.14.42 development
- esbuild-darwin-64 0.14.42 development
- esbuild-darwin-arm64 0.14.42 development
- esbuild-freebsd-64 0.14.42 development
- esbuild-freebsd-arm64 0.14.42 development
- esbuild-linux-32 0.14.42 development
- esbuild-linux-64 0.14.42 development
- esbuild-linux-arm 0.14.42 development
- esbuild-linux-arm64 0.14.42 development
- esbuild-linux-mips64le 0.14.42 development
- esbuild-linux-ppc64le 0.14.42 development
- esbuild-linux-riscv64 0.14.42 development
- esbuild-linux-s390x 0.14.42 development
- esbuild-netbsd-64 0.14.42 development
- esbuild-openbsd-64 0.14.42 development
- esbuild-sunos-64 0.14.42 development
- esbuild-windows-32 0.14.42 development
- esbuild-windows-64 0.14.42 development
- esbuild-windows-arm64 0.14.42 development
- iconv-lite 0.6.3 development
- internmap 2.0.3 development
- katex 0.15.6 development
- robust-predicates 3.0.1 development
- rw 1.3.3 development
- safer-buffer 2.1.2 development
- typescript 4.7.2 development
- fast-fuzzy 1.11.2
- graphemesplit 2.4.4
- js-base64 3.7.2
- pako 0.2.9
- tiny-inflate 1.0.3
- unicode-trie 2.0.0
- @types/d3 ^7.1.0 development
- d3 ^7.4.4 development
- esbuild ^0.14.38 development
- katex ^0.15.3 development
- typescript ^4.6.4 development
- fast-fuzzy ^1.11.1
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/deploy-pages v1 composite
- actions/upload-pages-artifact v1 composite
- cachix/cachix-action v12 composite
- cachix/install-nix-action v18 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- cachix/cachix-action v12 composite
- cachix/install-nix-action v20 composite
- dmnemec/copy_file_to_another_repo_action main composite
- marocchino/sticky-pull-request-comment v2 composite