GN4 Guile Webservice
This directory provides a Guile web service incl. the new REST API. It is used in conjunction with the Python web services and (very much) WIP.
Run
- Navigate to the Web Directory and Start the Server
Running the web server is documented in guix script.
curl http://127.0.0.1:8091/version
"4.0.0"
Documentation
Start with this file and then the documentation in doc.
Development
The current repository lives at
git clone tux02.genenetwork.org:/home/git/public/gn-guile
GNU Guile allows you to develop against a live running web server using emacs-geiser. To try this fire up the web server from the web
directory as
guix shell --container --network --file=guix.scm -- guile -L . --fresh-auto-compile --listen=1970 -e main web/webserver.scm 8091
The --container
option runs the code in an isolated container, and the --network
option connects that container's networking to the host to allow you to access the running service.
Welcome to the world of interactive Lisp programming
Next fire up emacs with emacs-geiser-guile
and connect to the running web server with M-x geiser-connect
and the port 1970
. Now you can not only inspect procedures, but also update any prodedure on the live server using C-M-x
on code, call and get updated output from the webserver! No need to save/reload files and all that.
Note that you may have to try different versions of guile+emacs to succeed.
Tools
Some tooling and scripts that run independently are stored in ./scripts
.
Development
git remote add gn git.genenetwork.org:/home/git/public/gn-guile
Topics
LICENSE
This software is published by the GeneNetwork team under the AGPL3. See LICENSE.