Remo Python documentation¶
Here you can find the documentation for the Remo Python library.
The library aims to integrate Remo in existing workflows of developers and data scientists. Functionalities include:
- visualise images, annotations and model predictions
- organise your data to feed it to a Computer Vision algorithms
- manage annotations (e.g.rename, add, delete classes, tags, objects)
- open remo directly in Jupyter notebooks, in the browser or in its own app
About the library¶
The library is distributed as a pip package remo-sdk
, which is automatically installed together with Remo. Under the hood, remo-sdk calls a set of endpoints exposed by the local webapp.
The library is open source. You can checkout and contribute on our GitHub repo.
Work in progress
We are iterating quite fast on the SDK design in this phase, which means some functionalities might break from one version to the other.
Any feedback on the design or missing functionalities is welcome.
Launching remo¶
The library can be called doing import remo
.
Local vs remote¶
Upon import, the library will automatically check if a local remo is running, and try to connect to it. To launch remo itself, you'd need to run python -m remo_app
from the command line.
Alternatively, you can use the python library to connect to a remote running remo by doing
import remo
remo.connect(address,username,password)
Choice of frontend¶
Remo will open by default in its own app. You can also have remo embed in Jupyter, by running:
remo.set_viewer('jupyter')
localhost:8123
).
You can also change the default viewer in the config file.
Main entities¶
The main entities in the Python library are:
- Dataset Class: high-level operations on images and annotations
- SDK Class: management functions
For finer control, you can use:
- Annotation Set Class: high-level operations on annotations
- Image Class: low-level operations on individual images
- Annotation Class: low-level operations on individual annotation objects
- API Class: here we call directly the Rest API endpoints. You shouldn't need to look here, except if you want to build new functionalities
Tutorials¶
To get quickly started, you can have a look at some notebook tutorials:
Tutorial | What | Download |
---|---|---|
Intro Notebook | Quick intro to main functionalities | intro_to_remo-SDK.ipynb |
Upload Annotations Notebook | Tutorial on uploading annotations | tutorial_upload_annotations.ipynb |
Other programming languages¶
If you are using a programming language other than Python, you can still call Remo from code
You still need a version of Remo installed, but then you could directly call the app REST API end-points - maybe taking inspiration from what we have done within the Python SDK.