Skip to content

Commit

Permalink
Merge pull request #188 from Tauffer-Consulting/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
luiztauffer authored Nov 28, 2023
2 parents 2a2ce45 + 74fab15 commit acde53d
Show file tree
Hide file tree
Showing 16 changed files with 78 additions and 32 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# v0.8.1

### Features
* Update gallery workflows with latest repositories versions

### Fixes
* Fix bug on CLI run compose option


# v0.8.0

### Features
Expand Down
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<a href="https://artifacthub.io/packages/helm/domino/domino">
<img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/domino">
</a>
<a href="https://codecov.io/gh/Tauffer-Consulting/domino" >
<img src="https://codecov.io/gh/Tauffer-Consulting/domino/graph/badge.svg?token=WTJPH7FSNJ"/>
<a href="https://codecov.io/gh/Tauffer-Consulting/domino" >
<img src="https://codecov.io/gh/Tauffer-Consulting/domino/graph/badge.svg?token=WTJPH7FSNJ"/>
</a>
<a href="https://github.com/sponsors/Tauffer-Consulting">
<img src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86">
Expand All @@ -23,7 +23,7 @@

<br>

![create-workflow](https://github.com/Tauffer-Consulting/domino/assets/54302847/34d619fa-4b6c-4761-8b24-3ca829cfc28c)
![create-workflow](https://raw.githubusercontent.com/Tauffer-Consulting/domino/main/media/gif-example.gif)

# Table of contents
- [About](#about)
Expand Down Expand Up @@ -64,6 +64,8 @@ You can think of Domino as Airflow with superpowers:

# Quick start

Check out the quick start guide in the [documentation](https://domino-workflows.io/docs/quickstart).

The Domino Python package can be installed via pip. We reccommend you install Domino in a separate Python environment.

```bash
Expand All @@ -79,12 +81,12 @@ domino platform run-compose
After all processes started successfully, navigate to `localhost:3000` to access the Domino frontend service. <br>
Obs.: the first time you run the platform, it may take a few minutes to download the Docker images.

Running the Domino platform locally with Docker compose is useful for development and testing purposes. For production environments, we recommend you install Domino in a Kubernetes cluster. For local testing, check out the instructions for running Domino in a [local Kubernetes cluster with Kind](https://domino-py.readthedocs.io/en/latest/pages/platform.html).
Running the Domino platform locally with Docker compose is useful for development and testing purposes. For production environments, we recommend you deploy Domino and Airflow to a Kubernetes cluster. For other deployment modes, check out the instructions in the [documentation](https://domino-workflows.io/docs/category/run-domino).

<br>

# GUI
The Domino frontend service is a React application that provides the GUI for easily creating, editing and monitoring Workflows. Here are some of its features:
The Domino frontend service is a React application that provides the GUI for easily creating, editing and monitoring Workflows. Check out the [GUI documentation](https://domino-workflows.io/docs/domino_components/domino_components_gui) for more details.

<details>
<summary>
Expand Down Expand Up @@ -123,7 +125,7 @@ The Domino frontend service is a React application that provides the GUI for eas
Create Workflows by dragging and dropping Pieces to the canvas, and connecting them. <br></br>

![create-workflow](https://github.com/Tauffer-Consulting/domino/assets/54302847/34d619fa-4b6c-4761-8b24-3ca829cfc28c)

</details>

<details>
Expand Down Expand Up @@ -177,7 +179,7 @@ It is very easy to create and share your own Pieces:

The [Pieces repository template](https://github.com/Tauffer-Consulting/domino_pieces_repository_template) provides the basic structure, example files and automatic actions for a seamless Pieces creation experience.

Read more in the [Pieces documentation](https://domino-py.readthedocs.io/en/latest/pages/pieces.html).
Read more in the [Pieces documentation](https://domino-workflows.io/docs/pieces).


<br>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
import { Modal, type ModalRef } from "components/Modal";
import { useWorkspaces, usesPieces } from "context/workspaces";
import { type Differences } from "features/workflowEditor/utils/importWorkflow";
import theme from "providers/theme.config";
import React, { forwardRef, useCallback, useMemo, useState } from "react";
import { Link } from "react-router-dom";
import { toast } from "react-toastify";
Expand Down Expand Up @@ -162,6 +163,14 @@ export const DifferencesModal = forwardRef<ModalRef, Props>(
variant="outlined"
onClick={handleInstallMissingRepositories}
disabled={installState !== 0}
style={
installState === 2
? {
borderColor: theme.palette.success.main,
color: theme.palette.success.main,
}
: {}
}
>
{installState === 1 && (
<>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { Modal, type ModalRef } from "components/Modal";
import theme from "providers/theme.config";
import { forwardRef, type ForwardedRef, useState } from "react";

import CloudSegmentationWorkflow from "../../utils/workflows/cloud_segmentation_workflow.json";
import DimensionalityReductionWorkflow from "../../utils/workflows/dimensionality_reduction.json";
import ImageFilterWorkflow from "../../utils/workflows/image_filter_workflow.json";
import NasaImageWorkflow from "../../utils/workflows/nasa_workflow.json";
Expand Down Expand Up @@ -64,6 +65,13 @@ const WorkflowExamplesGalleryModal = forwardRef(
jsonFile: RandomForestClassifierWorkflow,
levelTag: "Intermediate",
},
{
title: "Cloud Segmentation Workflow",
description:
"A workflow that uses OpenCV to create a cloud segmentation over a NASA earth image. To use it, you must use Shared Storage",
jsonFile: CloudSegmentationWorkflow,
levelTag: "Intermediate",
},
];

const levelTagMap: any = {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"workflowPieces":{"2569_f896c512-7a37-4f85-a1a6-0e256e77848b":{"id":2569,"name":"NasaEarthImagePiece","description":"This Piece uses the NASA EPIC API to get satellite images of the Earth.\nReferences: \n- https://epic.gsfc.nasa.gov/about/api \n- https://api.nasa.gov/","dependency":{"dockerfile":null,"requirements_file":"requirements.txt"},"source_image":"ghcr.io/tauffer-consulting/data_apis_domino_pieces:0.2.0-group0","input_schema":{"$defs":{"LocationTypes":{"enum":["random","America","Atlantic Ocean","Africa","Asia","Pacific Ocean"],"title":"LocationTypes","type":"string"}},"properties":{"location":{"allOf":[{"$ref":"#/$defs/LocationTypes"}],"default":"random","description":"Retrieve image centered approximately on this location."}},"title":"NasaEarthImagePiece","type":"object"},"output_schema":{"properties":{"image_url":{"default":null,"description":"URL of the image.","title":"Image Url","type":"string"},"image_base64_string":{"default":null,"description":"Output data as base64 encoded string.","title":"Image Base64 String","type":"string"},"image_file_path":{"default":null,"description":"Path to the image file.","title":"Image File Path","type":"string"}},"title":"OutputModel","type":"object"},"secrets_schema":{"properties":{"NASA_API_KEY":{"default":"DEMO_KEY","description":"API key for NASA Earth Image API.","title":"Nasa Api Key","type":"string"}},"title":"SecretsModel","type":"object"},"style":{"module":"NasaEarthImagePiece","label":"NASA Earth Image","nodeType":"default","nodeStyle":{"backgroundColor":"#ebebeb"},"useIcon":true,"iconClassName":"ion:earth-sharp","iconStyle":{"cursor":"pointer"}},"source_url":"https://github.com/Tauffer-Consulting/data_apis_domino_pieces/tree/main/pieces/NasaEarthImagePiece","repository_url":"https://github.com/Tauffer-Consulting/data_apis_domino_pieces","repository_id":569},"2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7":{"id":2577,"name":"OpenCVFilterPiece","description":"Piece that uses OpenCV filter on an Image","dependency":{"dockerfile":"Dockerfile_opencv","requirements_file":null},"source_image":"ghcr.io/tauffer-consulting/ml-domino-pieces:0.2.0-group1","input_schema":{"$defs":{"FilterNaem":{"enum":["canny","binary"],"title":"FilterNaem","type":"string"}},"properties":{"image_path":{"description":"The path to the image to apply filter.","from_upstream":"always","title":"Image Path","type":"string"},"filter_name":{"allOf":[{"$ref":"#/$defs/FilterNaem"}],"default":"canny","description":"The name of the filter to apply.","title":"Filter Name"}},"required":["image_path"],"title":"OpenCVFilterPiece","type":"object"},"output_schema":{"properties":{"image_path":{"description":"The path to the image with the filter applied.","title":"Output image Path","type":"string"}},"required":["image_path"],"title":"OutputModel","type":"object"},"secrets_schema":null,"style":{"module":"OpenCVFilterPiece","label":"OpenCV Filter Piece","nodeType":"default","nodeStyle":{"backgroundColor":"#38b2be"},"useIcon":true,"iconClassName":"material-symbols:image-outline","iconStyle":{"cursor":"pointer"}},"source_url":"https://github.com/Tauffer-Consulting/ml_domino_pieces/tree/main/pieces/OpenCVFilterPiece","repository_url":"https://github.com/Tauffer-Consulting/ml_domino_pieces","repository_id":570}},"workflowPiecesData":{"2569_f896c512-7a37-4f85-a1a6-0e256e77848b":{"storage":{"storageAccessMode":"Read/Write"},"containerResources":{"cpu":{"min":100,"max":100},"memory":{"min":128,"max":128},"useGpu":false},"inputs":{"location":{"fromUpstream":false,"upstreamId":"","upstreamArgument":"","upstreamValue":"","value":"random"}}},"2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7":{"storage":{"storageAccessMode":"Read/Write"},"containerResources":{"cpu":{"min":100,"max":100},"memory":{"min":128,"max":128},"useGpu":false},"inputs":{"image_path":{"fromUpstream":true,"upstreamId":"NasaEarthI_f896c5127a374f85a1a60e256e77848b","upstreamArgument":"image_file_path","upstreamValue":"NasaEarthImagePiece (f896c512) - Image File Path","value":""},"filter_name":{"fromUpstream":false,"upstreamId":"","upstreamArgument":"","upstreamValue":"","value":"binary"}}}},"workflowNodes":[{"id":"2569_f896c512-7a37-4f85-a1a6-0e256e77848b","type":"CustomNode","position":{"x":556,"y":235.5},"data":{"name":"NasaEarthImagePiece","style":{"module":"NasaEarthImagePiece","label":"NASA Earth Image","nodeType":"default","nodeStyle":{"backgroundColor":"#ebebeb"},"useIcon":true,"iconClassName":"ion:earth-sharp","iconStyle":{"cursor":"pointer"}},"validationError":false,"orientation":"horizontal"},"width":150,"height":70},{"id":"2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7","type":"CustomNode","position":{"x":842,"y":269.5},"data":{"name":"OpenCVFilterPiece","style":{"module":"OpenCVFilterPiece","label":"OpenCV Filter Piece","nodeType":"default","nodeStyle":{"backgroundColor":"#38b2be"},"useIcon":true,"iconClassName":"material-symbols:image-outline","iconStyle":{"cursor":"pointer"}},"validationError":false,"orientation":"horizontal"},"width":150,"height":70,"selected":true,"dragging":false}],"workflowEdges":[{"source":"2569_f896c512-7a37-4f85-a1a6-0e256e77848b","sourceHandle":"source-2569_f896c512-7a37-4f85-a1a6-0e256e77848b","target":"2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7","targetHandle":"target-2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7","id":"reactflow__edge-2569_f896c512-7a37-4f85-a1a6-0e256e77848bsource-2569_f896c512-7a37-4f85-a1a6-0e256e77848b-2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7target-2577_8a1d77ee-29a8-45c8-8578-9ca890afe3f7"}]}
Loading

0 comments on commit acde53d

Please sign in to comment.