Skip to content

ITISFoundation/osparc-simcore

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a60c3b8 · Nov 27, 2022
Nov 15, 2022
Nov 27, 2022
Nov 23, 2022
Nov 7, 2022
Nov 25, 2022
Nov 25, 2022
Nov 7, 2022
Nov 21, 2022
Nov 27, 2022
Nov 25, 2022
Nov 9, 2022
Oct 31, 2022
Dec 14, 2020
Oct 25, 2022
Nov 15, 2022
Aug 26, 2022
May 16, 2018
Mar 24, 2020
Oct 21, 2022
Oct 16, 2020
Sep 14, 2022
Aug 12, 2022
Feb 15, 2021
Oct 14, 2022
May 12, 2020
Jan 23, 2018
Nov 11, 2022
Nov 25, 2022
Oct 17, 2022
Aug 12, 2021
Sep 9, 2020

Repository files navigation

osparc-simcore platform

Code style: black Requires.io CI codecov github.io itis.dockerhub license

Quality Gate Status

The SIM-CORE, named o2S2PARCOpen Online Simulations for Stimulating Peripheral Activity to Relieve Conditions – is one of the three integrative cores of the SPARC program’s Data Resource Center (DRC). The aim of o2S2PARC is to establish a comprehensive, freely accessible, intuitive, and interactive online platform for simulating peripheral nerve system neuromodulation/ stimulation and its impact on organ physiology in a precise and predictive manner. To achieve this, the platform will comprise both state-of-the art and highly detailed animal and human anatomical models with realistic tissue property distributions that make it possible to perform simulations ranging from the molecular scale up to the complexity of the human body.

Getting Started

This is the common workflow to build and deploy locally:

  # clone repo
  git clone https://github.com/ITISFoundation/osparc-simcore.git
  cd osparc-simcore

  # show setup info and build core services
  make info build

  # starts swarm and deploys services
  make up-prod

  # display swarm configuration
  make info-swarm

  # open front-end in the browser
  #  127.0.0.1.nip.io:9081 - simcore front-end site
  #
  xdg-open http://127.0.0.1.nip.io:9081/

  # stops
  make down

Some routes can only be reached via DNS such as UUID.services.DNS. Since UUID.services.127.0.0.1 is not a valid DNS, the solution is to use nip.io. A service that maps <anything>[.-]<IP Address>.nip.io in "dot", "dash" or "hexadecimal" notation to the corresponding <IP Address>.

Services are deployed in two stacks:simcore-stack comprises all core-services in the framework and ops-stack is a subset of services from ITISFoundation/osparc-ops used for operations during development.

Requirements

To verify current base OS, Docker and Python build versions have a look at:

To build and run:

  • docker
  • make >=4.2
  • awk, jq (optional tools within makefiles)

To develop, in addition:

  • python 3.9
  • nodejs for client part (this dependency will be deprecated soon)
  • swagger-cli (make sure to have a recent version of nodejs)
  • vscode (highly recommended)

This project works and is developed under linux (Ubuntu recommended).

Setting up Other Operating Systems

When developing on these platforms you are on your own.

In windows, it works under WSL2 (windows subsystem for linux version2). Some details on the setup:

In MacOS, replacing the MacOS utilities with GNU utils might be required.

Upgrading services requirements

Updates are upgraded using a docker container and pip-sync. Build and start the container:

    cd requirements/tools
    make build
    make shell

Once inside the container navigate to the service's requirements directory.

To upgrade all requirements run:

    make reqs

To upgrade a single requirement named fastapirun:

    make reqs upgrade=fastapi

Releases

WARNING This application is still under development.

Contributing

Would you like to make a change or add something new? Please read the contributing guidelines.

License

This project is licensed under the terms of the MIT license.


Made with love at www.z43.swiss