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
Prior to deployment on the Neurolibre server, it is crucial to thoroughly test your submission locally to prevent potential issues. Here are the essential steps to ensure a smooth deployment:
Verify Local Notebook Execution:
Test all the notebooks locally, ensuring they run seamlessly with the specified hardware requirements mentioned in the computation and data section.
Validate Jupyter Book Build:
Locally build the Jupyter book without relying on cache files to ensure it compiles successfully. By meticulously testing your submission locally, you can preemptively address any problems and guarantee a reliable deployment experience on the Neurolibre server. This proactive approach will save time and ensure a smoother integration into the platform.
Test your NRP on RoboNeuro
We provide a web service to test your NRP builds using the same infrastructure involved in the technical screening process.
Quick guide for local testing
With the necessary dependencies already installed for local notebook development and your preprint repository structured according to the Structure your NRP repository, conducting a local test of your preprint build becomes a straightforward process.
Install Jupyter Book (prefer <= 0.14.0
)
pip install jupyter-book
Describe your data dependencies
Given the following minimalistic repository structure:
├── binder
│ ├── requirements.txt
│ └── data_requirement.json
├── content
│ ├── _build
│ ├── notebook.ipynb
│ ├── _config.ym
│ └── _toc.yml
└── README.md
Create a folder named data
at the root of the repository and don’t forget to add it to the .gitignore file to exclude it from version control:
Install Repo2Data:
pip install repo2data
Configure the dst
from the requirement file (binder/data_requirement.json
), so it points to the data
folder you created:
{"src" : "/url/to/the/online/source",
"dst" : "../data",
"projectName": "my_dataset"}
Run repo2data
inside your notebook and get the path to the data.
Build your Jupyter Book
cd /your/repo/directory
jupyter-book build ./content
Please visit reference documentation on executing and caching your outputs during a book build.
See also: GitHub Actions to test book builds
You can take a look at this example GitHub Actions file to see how you can trigger a book build whenever a commit is pushed to the main branch of your NRP repository.
Please be aware that the GitHub Actions workflow’s necessary steps may vary depending on your specific requirements. It’s essential to adapt the workflow accordingly to suit your NRP’s needs.
Testing on NeuroLibre servers
We are thrilled to present 🤖 RoboNeuro 🤖, our dedicated preprint submission bot, designed to assist you in effortlessly creating NeuroLibre preprints anytime you need. With RoboNeuro at your service round the clock, preprint submission becomes a breeze!
This service allows you to evaluate whether your submission meets specific requirements before formal submission. It helps ensure that all contributions align with our guidelines and standards.
Using the RoboNeuro preview service is a straightforward process:
Access the service at https://robo.neurolibre.org.
Provide the URL of your public GitHub repository.
Enter your email address and the GitHub commit SHA for the build.
Wait for the service to process your request and send you the results via email.
By leveraging the RoboNeuro preview service, we aim to enhance the quality and consistency of submitted preprints. It serves as a valuable tool for authors, allowing them to verify that their work aligns with the necessary criteria before proceeding with the formal submission process.
Note
The RoboNeuro book build process comprises two distinct stages:
Firstly, it establishes a virtual environment based on your specified runtime descriptions (
runtime build
).Upon successful completion of this stage, it proceeds to the second phase, where it builds the Jupyter Book by re-executing your code within that environment (
book build
).
🌱 On a successful book build, we will return you a https://preview.neurolibre.org URL that serves your NRP at the provided commit SHA from which it was built.
- 🥀 If the build fails, we will send you an html file that contains the following logs:
Binder build logs
Book build logs
Execution logs of individual notebooks
A successful book build on RoboNeuro preview service makes technical screening easier.
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 using https://robo.neurolibre.org.
Debugging a long-running book build
We offer https://test.conp.cloud, a Binder build page, where you can initiate a runtime build.
By default, if the runtime build
succeeds, it automatically proceeds to perform a book build.
However, if the execution of all your notebooks take considerably long time (say more than 20 minutes), you may
want to bypass the book build
phase to debug a particular notebook in the runtime environment built on our test
BinderHub. This is particularly useful in cases where the Jupyter book build fails on Neurolibre but works locally.
To bypass the book build
, simply include --neurolibre-debug
in your latest commit message, as demonstrated in this
git commit. Upon a successful runtime build
,
you can interact with your NeuroLibre Research Preprint (NRP) through the Jupyter Notebook interface in your web browser. This interface allows you to execute code cells
in specific notebooks or run commands in the terminal as needed.
Note
If you run into 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 in the same session.
Do not forget to remove the debug flag
Once you have finished debugging your executable content on https://test.conp.cloud, make sure that your latest commit does not have
the --neurolibre-debug
in its commit message. Otherwise, following requests will not trigger a book build
.