Skip to content

421anon/pointy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pointy Notebook

A notebook for writing, running, organizing and sharing research computation.

Demo

Project view

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.

Documentation

User and admin guides live under docs/. Build them with nix build .#docs and open ./result/index.html. But it is possible to view them using a markdown reader as well, such as the GitHub web UI.

Development

A NixOS VM runs a server environment:

nix run .#dev-vm

This starts the VM with the backend and nginx, and forwards:

  • localhost:8080 → VM nginx (backend + docs proxy)
  • localhost:2222 → VM SSH

Useful commands inside the VM:

  • systemctl status - check services
  • journalctl -u backend -f - follow backend logs
  • journalctl _SYSTEMD_SLICE=pointy-builds.slice -f - follow step build 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-vm

Building artifacts

nix build .#backend        # Haskell backend binary
nix build .#frontend       # compiled static assets
nix build .#docs           # mkdocs site
nix run .#take-screenshots # take screenshots for the mkdocs site

License

Pointy Notebook is distributed under the GNU Affero General Public License, version 3 or later. See LICENSE for the full text.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors