Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: documentation

on: [push, pull_request, workflow_dispatch]

permissions:
contents: write

jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
run: |
pip install sphinx sphinx_rtd_theme sphinx-tabs sphinx_copybutton myst_parser numpy peewee
- name: Sphinx build
run: |
sphinx-build docs/src docs/build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/build/
force_orphan: true
25 changes: 0 additions & 25 deletions .readthedocs.yaml

This file was deleted.

68 changes: 15 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,79 +2,41 @@

![logo](docs/src/_static/images/logo.svg)

The **SSD** project provides Python3 tools allowing users to easily develop **data storage** and **visualization**
strategies for their **numerical simulations** with a minimal lines of code.
The **SSD** project provides Python3 tools to easily develop a **storage** management system for **any synthetic data**
from **numerical simulations** on runtime with a minimal lines of code.

This project has two main objectives:
* Easy **storage** management system for **any data** from a numerical simulation;
* Easy **storage** & **rendering** management systems for **visual data** from a numerical simulation.
The project is mainly using the [Peewee](http://docs.peewee-orm.com/en/latest/) Python3 library and was mostly designed
to fit the [**DeepPhysX**](https://github.com/mimesis-inria/DeepPhysX) and [**SOFA**](https://www.sofa-framework.org/)
frameworks.

The **SSD** project is mainly using the [Peewee](http://docs.peewee-orm.com/en/latest/) Python3 library and was mostly
designed to fit the [**DeepPhysX**](https://github.com/mimesis-inria/DeepPhysX) and
[**SOFA**](https://www.sofa-framework.org/) frameworks.

Discover more about the project on the dedicated
[**Documentation**](https://simulationsimpledatabase.readthedocs.io/en/latest/).

## Features

The **SSD** project provides the following `Core` packages:
* `SSD.Core.Storage`
The **SSD** project provides the following `Core` features:
* Automatic management of Database file for any data;
* Creation of highly customizable Tables in the Database;
* Easy writing and reading user interface;
* Event management system;
* Tools such as merging and exporting data in other formats.
* `SSD.Core.Rendering`
* Automatic management of Database file for visualization data;
* Live rendering of numerical simulations;
* Replay of stored numerical simulation steps;
* Various object types and highly customizable rendering styles;
* Several Python libraries available: [Vedo](https://vedo.embl.es/), [Open3D](http://www.open3d.org/)

The **SSD** project also provides a `SOFA` compatible package with additional features:
* `SSD.SOFA.Storage`
* Callbacks to automatically record any Data field of SOFA objects.
* Recording can be done whether the simulation is running with *runSofa* or with a *python* interpreter.
* `SSD.SOFA.Rendering`
* Callbacks to automatically record visual Data fields of SOFA objects.
* Callbacks to automatically record any Data field of SOFA objects;
* Recording can be done whether the simulation is running with *runSofa* or with a *python* interpreter.
* Rendering is available when a simulation is driven with a *python* interpreter.


## Install

### Install with pip

The **SSD** project is registered on [PyPi]('https://pypi.org/project/SimulationSimpleDatabase/), thus it can easily
be installed using `pip`:

``` bash
$ pip3 install SimulationSimpleDatabase
```

### Install from sources
# Option 1 (USERS): install with pip
$ pip install git+https://github.com/mimesis-inria/SimulationSimpleDatabase.git

You can also easily install the **SSD** project from sources using the following instructions:

``` bash
$ git clone https://github.com/RobinEnjalbert/SimulationSimpleDatabase.git
$ cd SimpleSimulationDatabase

# Option 1: Install as non-editable (users)
$ pip3 install .

# Option 2: Install as editable (developers)
$ python3 setup_dev.py set
# Option 2 (DEVS): install as editable
$ git clone https://github.com/mimesis-inria/SimulationSimpleDatabase.git
$ cd SimRender
$ pip install -e .
```


## Gallery

| **examples/SOFA/rendering-offscreen/replay.py** |
|:---------------------------------------------------------:|
| ![caduceus](docs/src/_static/images/gallery_caduceus.png) |
## Documentation

| **examples/SOFA/rendering/replay.py** |
|:---------------------------------------------------:|
| ![liver](docs/src/_static/images/gallery_liver.png) |
See more ⟶ [**documentation**](https://mimesis-inria.github.io/SimulationSimpleDatabase/)
17 changes: 0 additions & 17 deletions docs/src/Core/Rendering/api.rst

This file was deleted.

Loading