A notebook for writing, running, organizing and sharing research computation.
For researchers: Pointy is a web app where you upload experiment design / outcome data, and run analyses on them using any program. The results are pinned to the exact program versions that produced them for maximum traceability even after years. The server side needs to be set up on a Linux computer. Ask your admin.
For admins: Pointy is a web app for templating Nix derivations and presenting an auto-generated web UI for users. You write Nix derivation templates, the researchers parametrize and run them, browse and share the outputs, and organize them in projects. The data plane is a pluggable git repository where templates and data co-evolve in a shared history.
User and admin guides are available at pointy.cloud.
A NixOS VM runs a server environment:
nix run .#dev-vmThis starts the VM with the backend and nginx, and forwards:
localhost:8080→ VM nginx (backend)localhost:2222→ VM SSH
Useful commands inside the VM:
systemctl status- check servicesjournalctl -u backend -f- follow backend logssqueue- list Slurm step build jobsscontrol show job <job-id>- inspect a Slurm build jobjournalctl -u slurmctld -u slurmd -f- follow Slurm controller/worker logs
Press C-a x to shut the VM down. Delete nixos.qcow2 to reset its persistent state. Restart the VM to pick up backend changes.
To run the frontend dev server against the VM backend, from frontend/:
nix develop .#frontend -c npm run dev-vmnix build .#backend # Haskell backend binary
nix build .#frontend # compiled static assets
nix run .#generate-openapi # generate OpenAPI specificationPointy Notebook is distributed under the GNU Affero General Public License, version 3 or later. See LICENSE for the full text.