File size: 4,665 Bytes
5e3a6e4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import os
import streamlit as st
from hydralit import HydraHeadApp

MENU_LAYOUT = [1,1,1,7,2]

class HomeApp(HydraHeadApp):


    def __init__(self, title = 'Hydralit Explorer', **kwargs):
        self.__dict__.update(kwargs)
        self.title = title


    #This one method that must be implemented in order to be used in a Hydralit application.
    #The application must also inherit from the hydrapp class in order to correctly work within Hydralit.
    def run(self):

        try:
            st.markdown("<h1 style='text-align:center;padding: 0px 0px;color:black;font-size:200%;'>Home</h1>",unsafe_allow_html=True)     
            st.markdown("<h2 style='text-align: center;'>This example was written using the <a href = https://github.com/TangleSpace/hydralit>Hydralit</a> library. Sourecode for this example is located <a href = https://github.com/TangleSpace/hydralit-example>here</a>.</h2>",unsafe_allow_html=True)

            col_header_logo_left_far, col_header_logo_left,col_header_text,col_header_logo_right,col_header_logo_right_far = st.columns([1,2,2,2,1])
            
            #col_header_logo_right_far.image(os.path.join(".","resources","hydra.png"),width=100,)

            if col_header_text.button('This will open a new tab and go'):
                self.do_redirect("https://hotstepper.readthedocs.io/index.html")

            _,_,col_logo, col_text,_ = st.columns(MENU_LAYOUT)
            col_logo.image(os.path.join(".","resources","data.png"),width=80,)
            col_text.subheader("This explorer has multiple applications, each application could be run individually, however where is the fun in that? Below is a sample home page.")

            st.markdown('<br><br>',unsafe_allow_html=True)


            _,_,col_logo, col_text,col_btn = st.columns(MENU_LAYOUT)
            # if col_text.button('Cheat Sheet ➡️'):
            #     self.do_redirect('Cheat Sheet')
            col_logo.image(os.path.join(".","resources","classroom.png"),width=50,)
            col_text.info("This application is all credit to [streamlit cheat sheet](https://github.com/daniellewisDL/streamlit-cheat-sheet), this is an example of how quickly an existing application can be wrapped in a HydraHeadAPP class and used in Hydralit.")

            #The sample content in a sub-section with jump to format.
            _,_,col_logo, col_text,col_btn = st.columns(MENU_LAYOUT)
            # if col_text.button('Sequency Denoising ➡️'):
            #     self.do_redirect('Sequency Denoising')
                
            col_logo.image(os.path.join(".","resources","denoise.png"),width=50,)
            col_text.info("This application is a quick look at some analysis of vessel queue data with discrete denoising using Sequency methods as provided by the [Hotstepper](https://github.com/TangleSpace/hotstepper) package.")

            _,_,col_logo, col_text,col_btn = st.columns(MENU_LAYOUT)
            # if col_text.button('Solar Mach ➡️'):
            #     self.do_redirect('Solar Mach')
            col_logo.image(os.path.join(".","resources","satellite.png"),width=50,)
            col_text.info("This application is all credit to [Solar-MACH](https://github.com/jgieseler/Solar-MACH), this is an example of how quickly an existing application can be wrapped in a HydraHeadAPP class and used in Hydralit.")

            _,_,col_logo, col_text,col_btn = st.columns(MENU_LAYOUT)
            # if col_text.button('Spacy NLP ➡️'):
            #     self.do_redirect('Spacy NLP')
            col_logo.image(os.path.join(".","resources","belgium.png"),width=50,)
            col_text.info("This application is all credit to [spacy-streamlit-demo](https://github.com/ines/spacy-streamlit-demo), this is an example of how quickly an existing application can be wrapped in a HydraHeadAPP class and used in Hydralit.")

            _,_,col_logo, col_text,col_btn = st.columns(MENU_LAYOUT)
            # if col_text.button('Uber Pickups ➡️'):
            #     self.do_redirect('Uber Pickups')
            col_logo.image(os.path.join(".","resources","taxi.png"),width=50,)
            col_text.info("This application is all credit to [demo-uber-nyc-pickups](https://github.com/streamlit/demo-uber-nyc-pickups), this is an example of how quickly an existing application can be wrapped in a HydraHeadAPP class and used in Hydralit.")

        
        except Exception as e:
            st.image(os.path.join(".","resources","failure.png"),width=100,)
            st.error('An error has occurred, someone will be punished for your inconvenience, we humbly request you try again.')
            st.error('Error details: {}'.format(e))