Metadata-Version: 2.1
Name: cosapp-lab
Version: 0.15.2
Summary: Toolbox for managing and deploying CoSApp powered dashboards.
Home-page: https://gitlab.com/cosapp/cosapp_lab
Author: CoSApp Development Team
Author-email: duc-trung.le@safrangroup.com
License: Apache-2.0
Keywords: Jupyter,Widgets,CoSApp
Platform: Linux
Platform: Windows
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Framework :: Jupyter
Description-Content-Type: text/markdown
Requires-Dist: cosapp (>=0.11)
Requires-Dist: ipywidgets (>=7.6.3)
Requires-Dist: jinja2
Requires-Dist: cookiecutter
Requires-Dist: click
Requires-Dist: requests
Requires-Dist: jupyter-client (>=6.1)
Requires-Dist: jupyter-server (>=1.2)
Requires-Dist: tornado (>=6.1.0)
Requires-Dist: markdown
Provides-Extra: tests
Requires-Dist: ipykernel ; extra == 'tests'
Requires-Dist: nbconvert ; extra == 'tests'
Requires-Dist: pytest ; extra == 'tests'

# CosApp Lab - Toolbox for managing and deploying CoSApp powered dashboards.



## Introduction


The primary goal of **CoSApp Lab** is to help users transform existing CoSApp 
modules into interactive dashboards, with almost no additional development or
configuration.


### Examples



#### Using CosApp Lab in JupyterLab

CoSApp Lab provides a JupyterLab extension named **SysExplorer** creating interactive dashboards. This extension allows users to dynamically customize the layout and fill their dashboard with multiple predefined widgets, such as charts, controllers (sliders, *etc.*), 3D visualization panels...

![CosApp Lab in JupyterLab](./docs/img/cosapp_lab.gif)



#### Using CosApp Lab standalone mode

Dashboards defined with **SysExplorer** in JupyterLab can also be exported into libraries and served by CoSApp Lab as web applications.  

![CoSApp Lab standalone](./docs/img/cosapp_lab_all.gif)




## Documentation

A more detailed **CoSApp Lab** documentation is available at:

https://cosapp-lab.readthedocs.io/



## Installation


### Stable release


The easiest way to obtain `cosapp_lab` is to install the conda package:

```shell
conda install cosapp_lab
``` 

`cosapp_lab` is also available on PyPI. However, since `pythonocc-core` is not, users can install `cosapp_lab` with *pip*, but the 3D viewer widget will not work.

```shell
pip install cosapp-lab
``` 

`JupyterLab` is not a direct dependency of `cosapp_lab`, but users need to have JupyterLab (>3.0) in order to create CoSApp dashboard in notebooks.  

### Development



#### Setup development environment


```shell
    # create a new conda environment
    conda create -n cosapplab -c conda-forge python jupyterlab nodejs
    conda activate cosapplab

    # download cosapp_lab from gitlab
    git clone --recursive https://gitlab.com/cosapp/cosapp_lab.git

    # install JS dependencies, build and install JupyterLab extension in development mode 
    cd cosapp_lab
    jlpm install
    jlpm build:all
    jlpm install:extension

    # install cosapp_lab in editable mode
    python -m pip install -e .
``` 


#### Testing

```shell
    # Test python code
    python -m pytest

    # Test typescript code
    jlpm test
``` 



#### Build documents


```shell
cd docs
sphinx-build -b html -d _build/doctrees . _build
``` 





