WoodLB commited on
Commit
bf955de
ยท
1 Parent(s): 2ad1936
Files changed (5) hide show
  1. Dockerfile +27 -0
  2. README.md +10 -6
  3. app.py +42 -0
  4. packages.txt +0 -0
  5. requirements.txt +3 -0
Dockerfile ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.8.9
2
+
3
+ WORKDIR /app
4
+
5
+ COPY ./requirements.txt /app/requirements.txt
6
+ COPY ./packages.txt /app/packages.txt
7
+
8
+ RUN apt-get update && xargs -r -a /app/packages.txt apt-get install -y && rm -rf /var/lib/apt/lists/*
9
+ RUN pip3 install --no-cache-dir -r /app/requirements.txt
10
+
11
+ # User
12
+ RUN useradd -m -u 1000 user
13
+ USER user
14
+ ENV HOME /home/user
15
+ ENV PATH $HOME/.local/bin:$PATH
16
+
17
+ WORKDIR $HOME
18
+ RUN mkdir app
19
+ WORKDIR $HOME/app
20
+ COPY . $HOME/app
21
+
22
+ EXPOSE 8501
23
+ CMD streamlit run app.py \
24
+ --server.headless true \
25
+ --server.enableCORS false \
26
+ --server.enableXsrfProtection false \
27
+ --server.fileWatcherType none
README.md CHANGED
@@ -1,11 +1,15 @@
1
  ---
2
- title: Testspace
3
- emoji: ๐Ÿƒ
4
- colorFrom: green
5
- colorTo: pink
6
  sdk: docker
 
7
  pinned: false
8
- license: apache-2.0
9
  ---
10
 
11
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
1
  ---
2
+ title: Streamlit Docker Template
3
+ emoji: ๐Ÿ“‰
4
+ colorFrom: blue
5
+ colorTo: green
6
  sdk: docker
7
+ app_port: 8501
8
  pinned: false
 
9
  ---
10
 
11
+ ## ๐Ÿง  Streamlit Docker Template ๐Ÿ”Ž
12
+
13
+ Streamlit Docker Template is a template for creating a Streamlit app with Docker and Hugging Face Spaces.
14
+
15
+ Code from https://docs.streamlit.io/library/get-started/create-an-app
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+
5
+ st.title('Uber pickups in NYC')
6
+
7
+ DATE_COLUMN = 'date/time'
8
+ DATA_URL = ('https://s3-us-west-2.amazonaws.com/'
9
+ 'streamlit-demo-data/uber-raw-data-sep14.csv.gz')
10
+
11
+ @st.cache_data
12
+ def load_data(nrows):
13
+ data = pd.read_csv(DATA_URL, nrows=nrows)
14
+ lowercase = lambda x: str(x).lower()
15
+ data.rename(lowercase, axis='columns', inplace=True)
16
+ data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
17
+ return data
18
+
19
+ data_load_state = st.text('Loading data...')
20
+ data = load_data(10000)
21
+ data_load_state.text("Done! (using st.cache)")
22
+
23
+ if st.checkbox('Show raw data'):
24
+ st.subheader('Raw data')
25
+ st.write(data)
26
+
27
+ st.subheader('Number of pickups by hour')
28
+ hist_values = np.histogram(data[DATE_COLUMN].dt.hour, bins=24, range=(0,24))[0]
29
+ st.bar_chart(hist_values)
30
+
31
+ # Some number in the range 0-23
32
+ hour_to_filter = st.slider('hour', 0, 23, 17)
33
+ filtered_data = data[data[DATE_COLUMN].dt.hour == hour_to_filter]
34
+
35
+ st.subheader('Map of all pickups at %s:00' % hour_to_filter)
36
+ st.map(filtered_data)
37
+
38
+ uploaded_file = st.file_uploader("Choose a file")
39
+ if uploaded_file is not None:
40
+ st.write(uploaded_file.name)
41
+ bytes_data = uploaded_file.getvalue()
42
+ st.write(len(bytes_data), "bytes")
packages.txt ADDED
File without changes
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ streamlit
2
+ numpy
3
+ pandas