rerun-io / rerun

Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.
https://rerun.io/
Apache License 2.0
6.79k stars 344 forks source link

Python API to administer (remove) applications, recordings and entities #7990

Open Famok opened 3 weeks ago

Famok commented 3 weeks ago

Is your feature request related to a problem? Please describe. Currently, it is not possible to administer applications, recordings, or entities via the Python API. When working with multiple recordings or wanting to update recordings, I would like the ability to remove them programmatically. At present, the only way to remove them is by manually clicking in the viewer. Additionally, when working with numerous recordings, the viewer may end up with partially deleted recordings, as it automatically drops the oldest datasets.

Describe the solution you'd like A few api commands to administer recordings.

Commands to get the current state:

rr.get_applications() -> returns all application ids
rr.get_recordings(<application_id>) -> returns all recording ids for the given application id
rr.get_entities(<application_id>,<recording_id>) -> returns all entity ids for given application and recording id

Commands to delete specific things:

rr.delete_application(<application_id>)
rr.delete_recording(<application_id>,<recording_id>)
rr.delete_entity_path(<application_id>,<recording_id>,<entity_path>)

Commands to delete more / all things:

rr.delete_all_applications()
rr.delete_applications([list of ids])
...

Describe alternatives you've considered There seems to be a pull request here: and an issue here but I can't find any documentation on drop_entity_path in the python api.

All these things exist in the viewer, so I hope this could be easy to implement.

Wumpf commented 3 weeks ago

Superset of