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).
- you already installed all the dependencies to develop your notebooks locally
- your preprint repository follows the NeuroLibre 🗂 Preprint repository structure.
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
pip install repo2data
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()
Check this example for running repo2data, agnostic to server data path.
3. Book build¶
- Navigate to the repository location in a terminal
- Trigger a jupyter book build
jupyter-book build ./content
Please visit reference documentation on executing and caching your outputs during a book build.
Testing on NeuroLibre servers¶
RoboNeuro! Our preprint submission bot is at your service 24/7 to help you create a NeuroLibre preprint.
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.
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.
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¶
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.
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.
--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.
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.
Please remember to remove the flag
--neurolibre-debug when you are ready to submit, since NeuroLibre needs to build the jupyter book.