Beta Release

Please be advised that our service is currently in its beta release of development. As a beta user, your feedback and suggestions are highly valuable in helping us identify and address any issues. We kindly request your patience and understanding as we work diligently to enhance the service based on your input.

Test your NRPΒΆ

It is really important to first test your submission locally to alleviate further issues when deploying on Neurolibre server. You need to make sure that:

  • All the notebooks run locally with the hardware requirements from computation and data section.
  • The jupyter book builds fine locally (make sure that you are not using cache files).

Test locallyΒΆ

Assuming that:

You can easily test your preprint build locally.

1. Install Jupyter BookΒΆ

pip install jupyter-book

2. Manage your dataΒΆ

Given the following minimalistic repository structure:

.
β”œβ”€β”€ binder
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── data_requirement.json
β”œβ”€β”€ content
β”‚   β”œβ”€β”€ _build
β”‚   β”œβ”€β”€ notebook.ipynb
β”‚   β”œβ”€β”€ _config.ym
β”‚   └── _toc.yml
└── README.md

Create a directory data at the root of the repository. Install Repo2Data and configure the dst from the requirement file so it points to the data folder.

pip install repo2data

Run repo2data inside your notebook and get the path to the data.

# install the data if running locally, or points to cached data if running on neurolibre
data_req_path = os.path.join("..", "binder", "data_requirement.json")
# download data
repo2data = Repo2Data(data_req_path)
data_path = repo2data.install()

See also

Check this example for running repo2data, agnostic to server data path.

3. Book buildΒΆ

  • Navigate to the repository location in a terminal
cd /your/repo/directory
  • Trigger a jupyter book build
jupyter-book build ./content

See also

Please visit reference documentation on executing and caching your outputs during a book build.

Testing on NeuroLibre serversΒΆ

Meet RoboNeuro! Our preprint submission bot is at your service 24/7 to help you create a NeuroLibre preprint.

https://github.com/neurolibre/brand/blob/main/png/preview_magn.png?raw=true

We would like to ensure that all the submissions we receive meet certain requirements. To that end, we created the RoboNeuro preview service, where you point RoboNeuro to a public GitHub repository, enter your email address, then sit back and wait for the results.

Note

RoboNeuro book build process has two stages. First, it creates a virtual environment based on your runtime descriptions. If this stage is successful, then it proceeds to build a Jupyter Book by re-executing your code in that environment.

  • On a successful book build, we will return you a preprint that is beyond PDF!
  • If the build fails, we will send two log files for your inspection.

Warning

A successful book build on RoboNeuro preview service is a prerequisite for submission.

Please note that RoboNeuro book preview is provided as a public service with limited computational resources. Therefore we encourage you to build your book locally before requesting our online service. Instructions are available in πŸ–±οΈ Local testing.

Debugging for long NeuroLibre submissionΒΆ

As for mybinder, we also provide a binder submission page so you can play with your notebooks on our servers. Our binder submission page is available here: https://test.conp.cloud.

When this process is really usefull for debugging your submission live, it can be verry long to get it. Indeed, a jupyter book build will always occur under the hood, and as part of the build process it will try to execute everything within your submission. This can make the build process very long (especially if you have a lot of long-running notebooks), and so you will end up waiting forever to get the binder instance.

If you are in a case where the jupyter book build fails on Neurolibre for whatever reason but works locally, you can bypass the jupyter book build to get the interactive session almost instantly.

Note

For example if you have β€œout of memory” errors on Neurolibre, you can reduce the RAM requirements on the interactive session, and try to re-run the jupyter book build directly on the fly.

Just add --neurolibre-debug in your latest commit message to bypass the jupyter book build (as in this git commit). Now if you register your repository on https://test.conp.cloud, you will have your binder instance almost instantly. You should be able to open a terminal session or play with the notebooks from there.

Note

This setup requires a previous valid binder build. If you are not able to build your binder, then you don’t have a choice to fix the installation locally on your PC.

Warning

Please remember to remove the flag --neurolibre-debug when you are ready to submit, since NeuroLibre needs to build the jupyter book.