Spaces:
Sleeping
Sleeping
initial commit
Browse files
README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
emoji:
|
4 |
-
colorFrom:
|
5 |
-
colorTo:
|
6 |
sdk: gradio
|
7 |
sdk_version: 4.24.0
|
8 |
app_file: app.py
|
@@ -10,8 +10,6 @@ pinned: false
|
|
10 |
license: apache-2.0
|
11 |
---
|
12 |
|
13 |
-
This
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
In addition, this form aims to identify plugins that might naturally preclude this plugin in a standard pipeline based on the required inputs, as well as compatible plugins that might follow this plugin in a pipeline based on its outputs.
|
|
|
1 |
---
|
2 |
+
title: Impact Framework Pipeline Builder
|
3 |
+
emoji: 🚰
|
4 |
+
colorFrom: indigo
|
5 |
+
colorTo: blue
|
6 |
sdk: gradio
|
7 |
sdk_version: 4.24.0
|
8 |
app_file: app.py
|
|
|
10 |
license: apache-2.0
|
11 |
---
|
12 |
|
13 |
+
This plugin helps you to construct your Impact Framework pipeline through a graphical user interface.
|
14 |
|
15 |
+
Based on your chosen plugin, you can specify the inputs and configurations necessary to plug in to the manifest file, and see a sample of the outputs you will likely receive from each plugin in order to help decide the next step in your measurement process.
|
|
|
|
app.py
CHANGED
@@ -6,77 +6,54 @@ css = """
|
|
6 |
}
|
7 |
"""
|
8 |
|
9 |
-
with gr.Blocks(css=css) as
|
10 |
-
gr.Markdown("#
|
11 |
-
gr.Markdown("
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
with gr.Row(
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
with gr.Row(
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
gr.Markdown("## Input Plugins")
|
58 |
-
gr.Markdown("List any known plugins that can provide input into your plugin")
|
59 |
-
|
60 |
-
with gr.Row(elem_classes=["input-row"],variant="panel"):
|
61 |
-
with gr.Column():
|
62 |
-
# a url field for the registry page where the plugin can be found
|
63 |
-
plugin_input_plugin_1 = gr.Textbox(placeholder="https://greensoftware.foundation/if/[ID]", label="Plugin URL", info="Enter the impact framework registry URL where the plugin can be found")
|
64 |
-
with gr.Column():
|
65 |
-
gr.Markdown("Alternatively, search for plugins that are compatible with your required inputs")
|
66 |
-
# a button to help users find compatible plugins
|
67 |
-
plugin_find_input_plugin = gr.Button("Find Compatible Plugins")
|
68 |
-
gr.Button("Add Input Plugin")
|
69 |
-
|
70 |
-
gr.Markdown("## Dependent Plugins")
|
71 |
-
gr.Markdown("List any plugins that can utilize the output of your plugin")
|
72 |
-
|
73 |
-
with gr.Row(elem_classes=["output-row"],variant="panel"):
|
74 |
-
with gr.Column():
|
75 |
-
plugin_output_plugin_1 = gr.Textbox(placeholder="https://greensoftware.foundation/if/[ID]", label="Plugin URL", info="Enter the impact framework registry URL where the plugin can be found")
|
76 |
-
with gr.Column():
|
77 |
-
gr.Markdown("Alternatively, search for plugins that are compatible with your output")
|
78 |
-
plugin_find_output_plugin = gr.Button("Find Compatible Plugins")
|
79 |
-
gr.Button("Add Output Plugin")
|
80 |
|
81 |
gr.Button("Submit Plugin",variant="primary")
|
82 |
|
@@ -85,4 +62,4 @@ with gr.Blocks(css=css) as registry_submit:
|
|
85 |
#btn = gr.Button("Run")
|
86 |
#btn.click(fn=update, inputs=inp, outputs=out)
|
87 |
|
88 |
-
|
|
|
6 |
}
|
7 |
"""
|
8 |
|
9 |
+
with gr.Blocks(css=css) as pipeline_builder:
|
10 |
+
gr.Markdown("# 🚰 Impact Framework Pipeline Builder")
|
11 |
+
gr.Markdown("Visually construct your Impact Framework manifest file pipeline with this helpful interface.")
|
12 |
+
|
13 |
+
gr.Markdown("## Plugin Selector")
|
14 |
+
plugin_selector = gr.Dropdown(["Watt-Time","CO2.js","TDP Finder","Cloud Metadata"], label="Plugin",value="Cloud Metadata",interactive=True,info="Plugins available on the Impact Framework Registry")
|
15 |
+
|
16 |
+
with gr.Accordion("Chosen Plugin",open=True,elem_classes=["plugin-accordion"]):
|
17 |
+
gr.Markdown("## Cloud Metadata")
|
18 |
+
with gr.Row(variant="panel"):
|
19 |
+
plugin_input_1 = gr.Dropdown(["AWS","GCP","Azure","Other"], label="Cloud Vendor", info="Where is your data hosted?",interactive=True,value="AWS")
|
20 |
+
plugin_input_2 = gr.Dropdown(["C5 Metal","d3.xlarge","m5.large"], label="Cloud Instance", info="Wnat cloud instance is your server using?",interactive=True,value="m5.large")
|
21 |
+
with gr.Row():
|
22 |
+
plugin_input_finder_btn = gr.Button("Help me find my inputs")
|
23 |
+
|
24 |
+
with gr.Accordion("Find your cloud metadata inputs",open=True,elem_classes=["plugin-accordion"]):
|
25 |
+
|
26 |
+
plugin_input_finder_url = gr.Textbox(placeholder="https://[your_website.com]", label="Your website URL", info="If you are measuring energy based on a hosted website, enter the URL")
|
27 |
+
gr.Markdown("### <center>- OR -</center> ")
|
28 |
+
|
29 |
+
plugin_input_finder_host = gr.Dropdown(["AWS","GCP","Azure","Other"], label="Cloud Vendor", info="Where is your data hosted?",interactive=True,value="AWS")
|
30 |
+
plugin_input_finder_servers = gr.Dropdown(["uswest-3","a1.xl"], label="Select an Instance", info="Your instance is the machine type your website is being run with",interactive=True,value="uswest-3")
|
31 |
+
with gr.Row():
|
32 |
+
plugin_input_finder_geolocate = gr.Button("Find My Location")
|
33 |
+
|
34 |
+
with gr.Accordion("Sample plugin outputs",open=True,elem_classes=["plugin-accordion"]):
|
35 |
+
|
36 |
+
gr.Markdown("### Plugin Output Format")
|
37 |
+
|
38 |
+
gr.Markdown("#### CPU/TDP")
|
39 |
+
with gr.Row(variant="panel"):
|
40 |
+
gr.Textbox(value=270,label="Amount")
|
41 |
+
gr.Textbox(value="Watts",label="Units")
|
42 |
+
gr.Textbox(value="CPU/GPU Heat Dissipation",label="ℹ️")
|
43 |
+
|
44 |
+
gr.Markdown("#### Memory")
|
45 |
+
with gr.Row(variant="panel"):
|
46 |
+
gr.Textbox(value=432,label="Amount")
|
47 |
+
gr.Textbox(value="GB",label="Units")
|
48 |
+
|
49 |
+
gr.Markdown("#### Processor")
|
50 |
+
with gr.Row(variant="panel"):
|
51 |
+
gr.Textbox(value="Intel XEON 830C",label="type")
|
52 |
+
|
53 |
+
gr.Markdown("#### VCPUs")
|
54 |
+
with gr.Row(variant="panel"):
|
55 |
+
gr.Textbox(value="64 / 64",label="used / available")
|
56 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
gr.Button("Submit Plugin",variant="primary")
|
59 |
|
|
|
62 |
#btn = gr.Button("Run")
|
63 |
#btn.click(fn=update, inputs=inp, outputs=out)
|
64 |
|
65 |
+
pipeline_builder.launch()
|