Spaces:
Running
Running
use persistent storage
Browse files
app.py
CHANGED
@@ -19,7 +19,9 @@ PAGE_SIZE = 5
|
|
19 |
NUM_TRENDING_DATASETS = 10
|
20 |
NUM_USER_DATASETS = 10
|
21 |
SESSIONS_DIR = "s"
|
22 |
-
|
|
|
|
|
23 |
css = """
|
24 |
.transparent-dropdown, .transparent-dropdown .container .wrap, .transparent-accordion {
|
25 |
background: var(--body-background-fill);
|
@@ -56,7 +58,6 @@ def setup_edits(con: Connection, dataset: str, pattern: str) -> None:
|
|
56 |
"WITH edits_per_rowid AS (SELECT * FROM (SELECT unnest(range(max(rowid) + 1)) AS rowid FROM edits) LEFT JOIN edits USING (rowid) ORDER BY rowid) "
|
57 |
f"SELECT {', '.join('ifnull(edits_per_rowid.' + col + ', dataset.' + col + ') AS ' + col for col in columns)} FROM dataset POSITIONAL JOIN edits_per_rowid"
|
58 |
)
|
59 |
-
gr.set_static_paths(paths=[SESSIONS_DIR + "/"])
|
60 |
|
61 |
with gr.Blocks(css=css) as demo:
|
62 |
session_state = gr.BrowserState()
|
@@ -94,7 +95,6 @@ with gr.Blocks(css=css) as demo:
|
|
94 |
pattern = ([loading_code["arguments"]["splits"][split] for loading_code in loading_codes if loading_code["config_name"] == subset] or [None])[0]
|
95 |
if session and dataset and subset and split and pattern:
|
96 |
duckdb_file = session + ".duckdb"
|
97 |
-
os.makedirs(SESSIONS_DIR, exist_ok=True)
|
98 |
con = duckdb.connect(os.path.join(SESSIONS_DIR, duckdb_file))
|
99 |
setup_edits(con, dataset, pattern)
|
100 |
# Uncomment to have one edit for testing
|
@@ -176,7 +176,6 @@ with gr.Blocks(css=css) as demo:
|
|
176 |
pattern = ([loading_code["arguments"]["splits"][split] for loading_code in loading_codes if loading_code["config_name"] == subset] or [None])[0]
|
177 |
if session and dataset and subset and split and pattern:
|
178 |
duckdb_file = session + ".duckdb"
|
179 |
-
os.makedirs(SESSIONS_DIR, exist_ok=True)
|
180 |
con = duckdb.connect(os.path.join(SESSIONS_DIR, duckdb_file))
|
181 |
setup_edits(con, dataset, pattern)
|
182 |
empty_dataset_tbl = con.sql("SELECT * EXCLUDE (rowid) FROM edits LIMIT 0;")
|
@@ -189,4 +188,13 @@ with gr.Blocks(css=css) as demo:
|
|
189 |
|
190 |
|
191 |
if __name__ == "__main__":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
demo.launch()
|
|
|
19 |
NUM_TRENDING_DATASETS = 10
|
20 |
NUM_USER_DATASETS = 10
|
21 |
SESSIONS_DIR = "s"
|
22 |
+
SESSION_DIR_SPACES_SYMLINK = os.path.join("/data", SESSIONS_DIR)
|
23 |
+
SPACE_REPO_NAME = os.getenv("SPACE_REPO_NAME")
|
24 |
+
URL = f"https://huggingface.co/spaces/{SPACE_REPO_NAME}" if SPACE_REPO_NAME else "http://127.0.0.1:7870"
|
25 |
css = """
|
26 |
.transparent-dropdown, .transparent-dropdown .container .wrap, .transparent-accordion {
|
27 |
background: var(--body-background-fill);
|
|
|
58 |
"WITH edits_per_rowid AS (SELECT * FROM (SELECT unnest(range(max(rowid) + 1)) AS rowid FROM edits) LEFT JOIN edits USING (rowid) ORDER BY rowid) "
|
59 |
f"SELECT {', '.join('ifnull(edits_per_rowid.' + col + ', dataset.' + col + ') AS ' + col for col in columns)} FROM dataset POSITIONAL JOIN edits_per_rowid"
|
60 |
)
|
|
|
61 |
|
62 |
with gr.Blocks(css=css) as demo:
|
63 |
session_state = gr.BrowserState()
|
|
|
95 |
pattern = ([loading_code["arguments"]["splits"][split] for loading_code in loading_codes if loading_code["config_name"] == subset] or [None])[0]
|
96 |
if session and dataset and subset and split and pattern:
|
97 |
duckdb_file = session + ".duckdb"
|
|
|
98 |
con = duckdb.connect(os.path.join(SESSIONS_DIR, duckdb_file))
|
99 |
setup_edits(con, dataset, pattern)
|
100 |
# Uncomment to have one edit for testing
|
|
|
176 |
pattern = ([loading_code["arguments"]["splits"][split] for loading_code in loading_codes if loading_code["config_name"] == subset] or [None])[0]
|
177 |
if session and dataset and subset and split and pattern:
|
178 |
duckdb_file = session + ".duckdb"
|
|
|
179 |
con = duckdb.connect(os.path.join(SESSIONS_DIR, duckdb_file))
|
180 |
setup_edits(con, dataset, pattern)
|
181 |
empty_dataset_tbl = con.sql("SELECT * EXCLUDE (rowid) FROM edits LIMIT 0;")
|
|
|
188 |
|
189 |
|
190 |
if __name__ == "__main__":
|
191 |
+
if SPACE_REPO_NAME:
|
192 |
+
os.makedirs(SESSION_DIR_SPACES_SYMLINK, exist_ok=True)
|
193 |
+
try:
|
194 |
+
os.symlink(SESSION_DIR_SPACES_SYMLINK, SESSIONS_DIR, target_is_directory=True)
|
195 |
+
except FileExistsError:
|
196 |
+
pass
|
197 |
+
else:
|
198 |
+
os.makedirs(SESSIONS_DIR, exist_ok=True)
|
199 |
+
gr.set_static_paths(paths=[SESSIONS_DIR])
|
200 |
demo.launch()
|