CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
sagemathinc

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/assets/README.md
Views: 687

Static Webapp Assets

This code is part of https://github.com/sagemathinc/cocalc and isn't currently designed to be used standalone.

TODO: This module is called "assets" so you immediately think "I better not put things other than assets here", and usually "assets" refers to static assets in the context of web application.


This sub-directory contains assets (images, code, etc.) for the frontend and static pages.

Compute Environment

Here is a description of two optional files describing the content of the computational environment (programming languages, libraries, ...)

Do this if you want to test rendering with the full production data for compute-*.json:

~/cocalc/src/packages/assets$ curl https://storage.googleapis.com/cocalc-compute-environment/compute-components.json > compute-components.json ~/cocalc/src/packages/assets$ curl https://storage.googleapis.com/cocalc-compute-environment/compute-inventory.json > compute-inventory.json

Do NOT commit this to the repo. It's unlikely you accidentally will, because neither file is in the cocalc git repo.

compute-inventory.json

This is the "ground truth" of what is installed in the environment. Layout:

{ "language_exes": map of a full executable path to this dictionary: { "path to executable": { "doc" : documentation string "lang" : language (python, R, ...) "name" : Anaconda R "url" : website }, "another path to a language executable": { ... } } For each such language and executable path: "language name" : e.g. "python" { "path to executable" : defined in the dictionary above { "library 1" : "version" "library 2" : "version" ... }, "path to another executable of that language": { ... } }, "another language": { ... } } }

compute-components.json

This JSON dictionary contains descriptions of each library. It is hand curated or autogenerated from databases. Note, there can be several instances of the same library being installed in the inventory file, while this description file only lists it once.

{ "language": { "library name": { "descr" : "long description of the library", "doc" : "documentation URL", "name" : "Name", "summary" : "short summary", "url" : "website" }, "library 2": { ... } }, "another language" : { ... } "executables": { # special language listing all executables with their full path "/bin/bash": { "name": "Bash", "..." : ... }, ... }