Sign inSign up

benesee/dsiunitsfrontend

By benesee

•Updated 9 months ago

this is the docker iamge for the dsiUnit python module containing a Web-GUI and a REST-API see

Image
Data science
0

529

benesee/dsiunitsfrontend repository overview

⁠Content

This repo contains a Bokeh application that allows to validate D-SI⁠ unit parsing and conversion by the dsiUnit⁠ Module

The Web Gui Looks Like: GUI Overview

⁠Install localy

git clone https://gitlab1.ptb.de/digitaldynamicmeasurement/dsi-parser-frontend.git
cd dsi-parser-frontend
pip install -r requirements.txt
⁠Run the Bokeh Server
bokeh serve ./ --port 5020
⁠Run the rest API
uvicorn restAPIServer:app --host 0.0.0.0 --port 5021

⁠Use Docker Container

docker pull benesee/dsiunitsfrontend:latest
docker run -p 5020:5020 -p 5021:5021 benesee/dsiunitsfrontend:latest

Change target port by changing the first port number in the -p option to the desired port number urls of the services are:

⁠API Documentation for Unit Conversion Service

This documentation covers the available REST API endpoints for converting unit strings to UTF-8 and LaTeX formats, as well as comparing different units for scalability and conversion. Each endpoint is described with its functionality, required input, and example responses.

⁠Endpoints

⁠Convert to UTF-8
  • URL: /convert/utf8/
  • Method: POST
  • Description: Converts a unit string to its UTF-8 representation.
  • Request Body:
    {
      "unit_string": "String"
    }
    
  • Responses:
    • 200 OK:
      {
        "utf8_string": "Converted UTF-8 string"
      }
      
    • 500 Internal Server Error:
      {
        "detail": "Error message"
      }
      
⁠Convert to LaTeX
  • URL: /convert/latex/
  • Method: POST
  • Description: Converts a unit string to its LaTeX representation.
  • Request Body:
    {
      "unit_string": "String"
    }
    
  • Responses:
    • 200 OK:
      {
        "latex_string": "Converted LaTeX string"
      }
      
    • 500 Internal Server Error:
      {
        "detail": "Error message"
      }
      
⁠Compare Units
  • URL: /compare/units/
  • Method: POST
  • Description: Compares two unit strings for scalability and equivalence. Optionally performs a complete conversion comparison if specified.
  • Request Body:
    {
      "unit_string1": "First unit string",
      "unit_string2": "Second unit string",
      "complete": false
    }
    
  • Responses:
    • 200 OK:
      {
        "scale_factor": "Scale factor if units are scalable",
        "base_unit": "Base unit derived from comparison"
      }
      
    • 400 Bad Request:
      {
      "detail": "Warnings or error details from unit validation"
      }
      
    • 500 Internal Server Error:
      {
        "detail": "Error message"
      }
      

⁠Error Handling

Errors are returned as standard HTTP response codes along with a JSON body specifying the detail of the error.

  • 400 Bad Request: Sent when there's a validation error with the input data.
  • 500 Internal Server Error: Sent when the server encounters an unexpected condition.

⁠Example Usage

Here's an example using curl to make a request to the /convert/utf8/ endpoint:

curl -X POST "http://localhost:8000/convert/utf8/" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"unit_string\":\"\\meter\"}"

Tag summary

Content type

Image

Digest

sha256:78bc547b3…

Size

149 MB

Last updated

9 months ago

docker pull benesee/dsiunitsfrontend