Initial commit
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
102
.gitignore
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
reverie/backend_server/utils.py
|
||||
frontend_server/settings/local.py
|
||||
storage/*
|
||||
static_dirs/*
|
||||
|
||||
!storage/base_the_ville_isabella_maria_klaus/*
|
||||
!storage/base_the_ville_n25/*
|
||||
|
||||
bin/
|
||||
include/
|
||||
pip-selfcheck.json
|
||||
.DS_Store
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# IPython Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# dotenv
|
||||
.env
|
||||
|
||||
# virtualenv
|
||||
venv/
|
||||
ENV/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
2
README.md
Normal file
@ -0,0 +1,2 @@
|
||||
# generative_agents
|
||||
Generative Agents: Interactive Simulacra of Human Behavior
|
||||
1
environment/frontend_server/Procfile
Normal file
@ -0,0 +1 @@
|
||||
web: gunicorn frontend_server.wsgi --timeout 600 --log-file -
|
||||
@ -0,0 +1,36 @@
|
||||
{
|
||||
"0": {
|
||||
"Klaus Mueller": {
|
||||
"movement": [
|
||||
127,
|
||||
46
|
||||
],
|
||||
"pronunciatio": "\ud83d\udca4",
|
||||
"description": "sleeping @ the Ville:Dorm for Oak Hill College:Klaus Mueller's room:bed",
|
||||
"chat": null
|
||||
},
|
||||
"Isabella Rodriguez": {
|
||||
"movement": [
|
||||
73,
|
||||
14
|
||||
],
|
||||
"pronunciatio": "\ud83d\ude34",
|
||||
"description": "sleeping @ the Ville:Isabella Rodriguez's apartment:main room:bed",
|
||||
"chat": null
|
||||
},
|
||||
"Maria Lopez": {
|
||||
"movement": [
|
||||
123,
|
||||
57
|
||||
],
|
||||
"pronunciatio": "\ud83d\ude34",
|
||||
"description": "sleeping @ the Ville:Dorm for Oak Hill College:Maria Lopez's room:bed",
|
||||
"chat": null
|
||||
}
|
||||
},
|
||||
"1": {},
|
||||
"2": {},
|
||||
"3": {},
|
||||
"4": {},
|
||||
"5": {}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
{
|
||||
"fork_sim_code": "base_the_ville_isabella_maria_klaus",
|
||||
"start_date": "February 13, 2023",
|
||||
"curr_time": "February 13, 2023, 00:01:00",
|
||||
"sec_per_step": 10,
|
||||
"maze_name": "the_ville",
|
||||
"persona_names": [
|
||||
"Isabella Rodriguez",
|
||||
"Maria Lopez",
|
||||
"Klaus Mueller"
|
||||
],
|
||||
"step": 6
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
{"kw_strength_event": {"bed": 1, "used": 1, "isabella rodriguez": 1, "sleep": 1}, "kw_strength_thought": {"plan": 1}}
|
||||
@ -0,0 +1 @@
|
||||
{"node_9": {"node_count": 9, "type_count": 8, "type": "event", "depth": 0, "created": "2023-02-13 00:00:10", "expiration": null, "subject": "Isabella Rodriguez", "predicate": "is", "object": "sleep", "description": "Isabella Rodriguez is sleeping", "embedding_key": "Isabella Rodriguez is sleeping", "poignancy": 1, "keywords": ["Isabella Rodriguez", "sleep"], "filling": []}, "node_8": {"node_count": 8, "type_count": 7, "type": "event", "depth": 0, "created": "2023-02-13 00:00:10", "expiration": null, "subject": "the Ville:Isabella Rodriguez's apartment:main room:bed", "predicate": "be", "object": "used", "description": "bed is being used", "embedding_key": "bed is being used", "poignancy": 1, "keywords": ["bed", "used"], "filling": []}, "node_7": {"node_count": 7, "type_count": 1, "type": "thought", "depth": 1, "created": "2023-02-13 00:00:00", "expiration": "2023-03-15 00:00:00", "subject": "Isabella Rodriguez", "predicate": "plan", "object": "Monday February 13", "description": "This is Isabella Rodriguez's plan for Monday February 13: wake up and complete the morning routine at 6:00 am, open Hobbs Cafe at 8:00 am, continuously serve customers at the cafe counter until 12 noon, have a lunch at 12:00 pm, serve customers from 1:00 pm to 4:00 pm, prepare the upcoming Valentine's Day party for 5pm to 7 pm, rest from 4:00 pm to 6:00 pm and prepare other admin tasks from 6:00 pm, watch TV from 7:00 pm to 8:00 pm.", "embedding_key": "This is Isabella Rodriguez's plan for Monday February 13: wake up and complete the morning routine at 6:00 am, open Hobbs Cafe at 8:00 am, continuously serve customers at the cafe counter until 12 noon, have a lunch at 12:00 pm, serve customers from 1:00 pm to 4:00 pm, prepare the upcoming Valentine's Day party for 5pm to 7 pm, rest from 4:00 pm to 6:00 pm and prepare other admin tasks from 6:00 pm, watch TV from 7:00 pm to 8:00 pm.", "poignancy": 5, "keywords": ["plan"], "filling": null}, "node_6": {"node_count": 6, "type_count": 6, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Isabella Rodriguez's apartment:main room:shelf", "predicate": "is", "object": "idle", "description": "shelf is idle", "embedding_key": "shelf is idle", "poignancy": 1, "keywords": ["idle", "shelf"], "filling": []}, "node_5": {"node_count": 5, "type_count": 5, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Isabella Rodriguez's apartment:main room:closet", "predicate": "is", "object": "idle", "description": "closet is idle", "embedding_key": "closet is idle", "poignancy": 1, "keywords": ["idle", "closet"], "filling": []}, "node_4": {"node_count": 4, "type_count": 4, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Isabella Rodriguez's apartment:main room:refrigerator", "predicate": "is", "object": "idle", "description": "refrigerator is idle", "embedding_key": "refrigerator is idle", "poignancy": 1, "keywords": ["idle", "refrigerator"], "filling": []}, "node_3": {"node_count": 3, "type_count": 3, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Isabella Rodriguez's apartment:main room:desk", "predicate": "is", "object": "idle", "description": "desk is idle", "embedding_key": "desk is idle", "poignancy": 1, "keywords": ["desk", "idle"], "filling": []}, "node_2": {"node_count": 2, "type_count": 2, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Isabella Rodriguez's apartment:main room:bed", "predicate": "is", "object": "idle", "description": "bed is idle", "embedding_key": "bed is idle", "poignancy": 1, "keywords": ["bed", "idle"], "filling": []}, "node_1": {"node_count": 1, "type_count": 1, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "Isabella Rodriguez", "predicate": "is", "object": "idle", "description": "Isabella Rodriguez is idle", "embedding_key": "Isabella Rodriguez is idle", "poignancy": 1, "keywords": ["Isabella Rodriguez", "idle"], "filling": []}}
|
||||
@ -0,0 +1 @@
|
||||
{"vision_r": 8, "att_bandwidth": 8, "retention": 8, "curr_time": "February 13, 2023, 00:00:50", "curr_tile": [73, 14], "daily_plan_req": "Isabella Rodriguez opens Hobbs Cafe at 8am everyday, and works at the counter until 8pm, at which point she closes the cafe.", "name": "Isabella Rodriguez", "first_name": "Isabella", "last_name": "Rodriguez", "age": 34, "innate": "friendly, outgoing, hospitable", "learned": "Isabella Rodriguez is a cafe owner of Hobbs Cafe who loves to make people feel welcome. She is always looking for ways to make the cafe a place where people can come to relax and enjoy themselves.", "currently": "Isabella Rodriguez is planning on having a Valentine's Day party at Hobbs Cafe with her customers on February 14th, 2023 at 5pm. She is gathering party material, an is telling everyone she meets to join the party at Hobbs Cafe on February 14th, 2023, from 5pm to 7pm.", "lifestyle": "Isabella Rodriguez goes to bed around 11pm, awakes up around 6am.", "living_area": "the Ville:Isabella Rodriguez's apartment:main room", "concept_forget": 100, "daily_reflection_time": 180, "daily_reflection_size": 5, "overlap_reflect_th": 4, "kw_strg_event_reflect_th": 10, "kw_strg_thought_reflect_th": 9, "recency_w": 1, "relevance_w": 1, "importance_w": 1, "recency_decay": 0.995, "importance_trigger_max": 150, "importance_trigger_curr": 142, "importance_ele_n": 8, "thought_count": 5, "daily_req": ["wake up and complete the morning routine at 6:00 am", "open Hobbs Cafe at 8:00 am", "continuously serve customers at the cafe counter until 12 noon", "have a lunch at 12:00 pm", "serve customers from 1:00 pm to 4:00 pm", "prepare the upcoming Valentine's Day party for 5pm to 7 pm", "rest from 4:00 pm to 6:00 pm and prepare other admin tasks from 6:00 pm", "watch TV from 7:00 pm to 8:00 pm"], "f_daily_schedule": [["sleeping", 360], ["waking up and completing her morning routine (getting out of bed)", 5], ["waking up and completing her morning routine (brushing her teeth)", 5], ["waking up and completing her morning routine (taking a shower)", 10], ["waking up and completing her morning routine (getting dressed)", 10], ["waking up and completing her morning routine (making breakfast)", 10], ["waking up and completing her morning routine (eating breakfast)", 10], ["waking up and completing her morning routine (tidying up her bedroom)", 5], ["waking up and completing her morning routine (gathering her things for the day)", 5], ["opening Hobbs Cafe", 60], ["serving customers at the cafe counter", 240], ["taking a lunch break", 60], ["serving customers at the cafe counter", 120], ["preparing the upcoming Valentine's Day party", 60], ["resting and preparing other admin tasks", 60], ["preparing the upcoming Valentine's Day party", 60], ["preparing other admin tasks", 60], ["watching TV", 120], ["sleeping", 180], ["sleeping", 0]], "f_daily_schedule_hourly_org": [["sleeping", 360], ["waking up and completing her morning routine", 60], ["opening Hobbs Cafe", 60], ["serving customers at the cafe counter", 240], ["taking a lunch break", 60], ["serving customers at the cafe counter", 120], ["preparing the upcoming Valentine's Day party", 60], ["resting and preparing other admin tasks", 60], ["preparing the upcoming Valentine's Day party", 60], ["preparing other admin tasks", 60], ["watching TV", 120], ["sleeping", 180]], "act_address": "the Ville:Isabella Rodriguez's apartment:main room:bed", "act_start_time": "February 13, 2023, 00:00:00", "act_duration": 360, "act_description": "sleeping", "act_pronunciatio": "\ud83d\ude34", "act_event": ["Isabella Rodriguez", "is", "sleep"], "act_obj_description": "being used", "act_obj_pronunciatio": "\ud83d\udd28", "act_obj_event": ["bed", "be", "used"], "chatting_with": null, "chat": null, "chatting_with_buffer": {}, "chatting_end_time": null, "act_path_set": true, "planned_path": []}
|
||||
@ -0,0 +1 @@
|
||||
{"the Ville": {"Hobbs Cafe": {"cafe": ["refrigerator", "cafe customer seating", "cooking area", "kitchen sink", "behind the cafe counter", "piano"]}, "Isabella Rodriguez's apartment": {"main room": ["bed", "desk", "refrigerator", "closet", "shelf"], "bathroom": ["shower"]}, "The Rose and Crown Pub": {"pub": ["shelf", "refrigerator", "bar customer seating", "behind the bar counter", "kitchen sink", "cooking area", "microphone"]}, "Harvey Oak Supply Store": {"supply store": ["supply store product shelf", "behind the supply store counter", "supply store counter"]}, "The Willows Market and Pharmacy": {"store": ["behind the pharmacy counter", "pharmacy store shelf", "pharmacy store counter", "grocery store shelf", "behind the grocery counter", "grocery store counter"]}, "Dorm for Oak Hill College": {"garden": ["dorm garden"], "common room": ["common room sofa", "pool table", "common room table"]}, "Johnson Park": {"park": ["park garden"]}, "Ryan Park's apartment": {"bathroom": ["shower", "bathroom sink", "toilet"], "main room": ["bed", "cooking area", "kitchen sink", "refrigerator"]}}}
|
||||
@ -0,0 +1 @@
|
||||
{"kw_strength_event": {"klaus mueller": 1, "sleep": 1, "bed": 1, "slept": 1}, "kw_strength_thought": {"plan": 1}}
|
||||
@ -0,0 +1 @@
|
||||
{"node_8": {"node_count": 8, "type_count": 7, "type": "event", "depth": 0, "created": "2023-02-13 00:00:10", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room:bed", "predicate": "be", "object": "slept", "description": "bed is being slept on", "embedding_key": "bed is being slept on", "poignancy": 1, "keywords": ["bed", "slept"], "filling": []}, "node_7": {"node_count": 7, "type_count": 6, "type": "event", "depth": 0, "created": "2023-02-13 00:00:10", "expiration": null, "subject": "Klaus Mueller", "predicate": "is", "object": "sleep", "description": "Klaus Mueller is sleeping", "embedding_key": "Klaus Mueller is sleeping", "poignancy": 2, "keywords": ["Klaus Mueller", "sleep"], "filling": []}, "node_6": {"node_count": 6, "type_count": 1, "type": "thought", "depth": 1, "created": "2023-02-13 00:00:00", "expiration": "2023-03-15 00:00:00", "subject": "Klaus Mueller", "predicate": "plan", "object": "Monday February 13", "description": "This is Klaus Mueller's plan for Monday February 13: wake up and complete the morning routine at 7:00 am, go to the library at Oak Hill College to work on his research paper at 8:00 am, have lunch at Hobbs Cafe at 12:00 pm, return to the library to work on the research paper until 5:00 pm, have dinner at Hobbs Cafe at 5:00 pm, continue working on the research paper until 7:00 pm, relax and watch some TV for an hour from 7 to 8 pm, reflect on the day and plan for the following day from 8 to 9 pm.", "embedding_key": "This is Klaus Mueller's plan for Monday February 13: wake up and complete the morning routine at 7:00 am, go to the library at Oak Hill College to work on his research paper at 8:00 am, have lunch at Hobbs Cafe at 12:00 pm, return to the library to work on the research paper until 5:00 pm, have dinner at Hobbs Cafe at 5:00 pm, continue working on the research paper until 7:00 pm, relax and watch some TV for an hour from 7 to 8 pm, reflect on the day and plan for the following day from 8 to 9 pm.", "poignancy": 5, "keywords": ["plan"], "filling": null}, "node_5": {"node_count": 5, "type_count": 5, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room:closet", "predicate": "is", "object": "idle", "description": "closet is idle", "embedding_key": "closet is idle", "poignancy": 1, "keywords": ["idle", "closet"], "filling": []}, "node_4": {"node_count": 4, "type_count": 4, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room:desk", "predicate": "is", "object": "idle", "description": "desk is idle", "embedding_key": "desk is idle", "poignancy": 1, "keywords": ["desk", "idle"], "filling": []}, "node_3": {"node_count": 3, "type_count": 3, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room:game console", "predicate": "is", "object": "idle", "description": "game console is idle", "embedding_key": "game console is idle", "poignancy": 1, "keywords": ["game console", "idle"], "filling": []}, "node_2": {"node_count": 2, "type_count": 2, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room:bed", "predicate": "is", "object": "idle", "description": "bed is idle", "embedding_key": "bed is idle", "poignancy": 1, "keywords": ["bed", "idle"], "filling": []}, "node_1": {"node_count": 1, "type_count": 1, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "Klaus Mueller", "predicate": "is", "object": "idle", "description": "Klaus Mueller is idle", "embedding_key": "Klaus Mueller is idle", "poignancy": 1, "keywords": ["Klaus Mueller", "idle"], "filling": []}}
|
||||
@ -0,0 +1 @@
|
||||
{"vision_r": 8, "att_bandwidth": 8, "retention": 8, "curr_time": "February 13, 2023, 00:00:50", "curr_tile": [127, 46], "daily_plan_req": "Klaus Mueller goes to the library at Oak Hill College early in the morning, spends his days writing, and eats at Hobbs Cafe.", "name": "Klaus Mueller", "first_name": "Klaus", "last_name": "Mueller", "age": 20, "innate": "kind, inquisitive, passionate", "learned": "Klaus Mueller is a student at Oak Hill College studying sociology. He is passionate about social justice and loves to explore different perspectives.", "currently": "Klaus Mueller is writing a research paper on the effects of gentrification in low-income communities.", "lifestyle": "Klaus Mueller goes to bed around 11pm, awakes up around 7am, eats dinner around 5pm.", "living_area": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room", "concept_forget": 100, "daily_reflection_time": 180, "daily_reflection_size": 5, "overlap_reflect_th": 4, "kw_strg_event_reflect_th": 10, "kw_strg_thought_reflect_th": 9, "recency_w": 1, "relevance_w": 1, "importance_w": 1, "recency_decay": 0.99, "importance_trigger_max": 150, "importance_trigger_curr": 142, "importance_ele_n": 7, "thought_count": 5, "daily_req": ["wake up and complete the morning routine at 7:00 am", "go to the library at Oak Hill College to work on his research paper at 8:00 am", "have lunch at Hobbs Cafe at 12:00 pm", "return to the library to work on the research paper until 5:00 pm", "have dinner at Hobbs Cafe at 5:00 pm", "continue working on the research paper until 7:00 pm", "relax and watch some TV for an hour from 7 to 8 pm", "reflect on the day and plan for the following day from 8 to 9 pm"], "f_daily_schedule": [["sleeping", 420], ["waking up and completing his morning routine (getting out of bed)", 5], ["waking up and completing his morning routine (brushing his teeth)", 5], ["waking up and completing his morning routine (taking a shower)", 10], ["waking up and completing his morning routine (getting dressed)", 10], ["waking up and completing his morning routine (eating breakfast)", 10], ["waking up and completing his morning routine (packing his bag)", 5], ["waking up and completing his morning routine (checking his emails)", 5], ["waking up and completing his morning routine (gathering his books and supplies)", 5], ["waking up and completing his morning routine (leaving for the library)", 5], ["going to the library at Oak Hill College to work on his research paper", 60], ["working on his research paper at the library", 180], ["having lunch at Hobbs Cafe", 120], ["working on his research paper at the library", 180], ["having dinner at Hobbs Cafe", 60], ["watching TV and relaxing", 60], ["working on his research paper at the library", 60], ["reflecting on the day and planning for the following day", 120], ["sleeping", 120], ["sleeping", 0]], "f_daily_schedule_hourly_org": [["sleeping", 420], ["waking up and completing his morning routine", 60], ["going to the library at Oak Hill College to work on his research paper", 60], ["working on his research paper at the library", 180], ["having lunch at Hobbs Cafe", 120], ["working on his research paper at the library", 180], ["having dinner at Hobbs Cafe", 60], ["watching TV and relaxing", 60], ["working on his research paper at the library", 60], ["reflecting on the day and planning for the following day", 120], ["sleeping", 120]], "act_address": "the Ville:Dorm for Oak Hill College:Klaus Mueller's room:bed", "act_start_time": "February 13, 2023, 00:00:00", "act_duration": 420, "act_description": "sleeping", "act_pronunciatio": "\ud83d\udca4", "act_event": ["Klaus Mueller", "is", "sleep"], "act_obj_description": "being slept on", "act_obj_pronunciatio": "\ud83d\ude34", "act_obj_event": ["bed", "be", "slept"], "chatting_with": null, "chat": null, "chatting_with_buffer": {}, "chatting_end_time": null, "act_path_set": true, "planned_path": []}
|
||||
@ -0,0 +1 @@
|
||||
{"the Ville": {"Oak Hill College": {"hallway": [], "library": ["library sofa", "library table", "bookshelf"], "classroom": ["blackboard", "classroom podium", "classroom student seating"]}, "Dorm for Oak Hill College": {"garden": ["dorm garden"], "Klaus Mueller's room": ["bed", "game console", "closet", "desk"], "woman's bathroom": ["toilet", "shower", "bathroom sink"], "common room": ["common room sofa", "pool table", "common room table"], "man's bathroom": ["shower", "bathroom sink", "toilet"], "kitchen": ["toaster", "kitchen sink", "refrigerator", "cooking area"], "Maria Lopez's room": ["closet", "computer"]}, "The Willows Market and Pharmacy": {"store": ["grocery store shelf", "behind the grocery counter", "grocery store counter", "pharmacy store shelf", "pharmacy store counter", "behind the pharmacy counter"]}, "Harvey Oak Supply Store": {"supply store": ["supply store product shelf", "behind the supply store counter", "supply store counter"]}, "Johnson Park": {"park": ["park garden"]}, "The Rose and Crown Pub": {"pub": ["shelf", "refrigerator", "bar customer seating", "behind the bar counter", "kitchen sink", "cooking area", "microphone"]}, "Hobbs Cafe": {"cafe": ["refrigerator", "cafe customer seating", "cooking area", "kitchen sink", "behind the cafe counter", "piano"]}}}
|
||||
@ -0,0 +1 @@
|
||||
{"kw_strength_event": {"maria lopez": 1, "sleep": 1, "bed": 1, "used": 1}, "kw_strength_thought": {"plan": 1}}
|
||||
@ -0,0 +1 @@
|
||||
{"node_9": {"node_count": 9, "type_count": 8, "type": "event", "depth": 0, "created": "2023-02-13 00:00:10", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:bed", "predicate": "be", "object": "used", "description": "bed is being used", "embedding_key": "bed is being used", "poignancy": 2, "keywords": ["bed", "used"], "filling": []}, "node_8": {"node_count": 8, "type_count": 7, "type": "event", "depth": 0, "created": "2023-02-13 00:00:10", "expiration": null, "subject": "Maria Lopez", "predicate": "is", "object": "sleep", "description": "Maria Lopez is sleeping", "embedding_key": "Maria Lopez is sleeping", "poignancy": 1, "keywords": ["Maria Lopez", "sleep"], "filling": []}, "node_7": {"node_count": 7, "type_count": 1, "type": "thought", "depth": 1, "created": "2023-02-13 00:00:00", "expiration": "2023-03-15 00:00:00", "subject": "Maria Lopez", "predicate": "plan", "object": "Monday February 13", "description": "This is Maria Lopez's plan for Monday February 13: wake up and complete the morning routine at 9:00 am, spend 30 minutes studying physics at 9: 30 am, stream on Twich from 10:00 am to 1:00 pm, have a lunch at 12:00 pm, pick up groceries at 1:30 pm, Go to Hobbs Cafe to study and socialize from 2:00 pm to 5:00 pm, have dinner around 6:00 pm, watch TV from 7 to 8 pm.", "embedding_key": "This is Maria Lopez's plan for Monday February 13: wake up and complete the morning routine at 9:00 am, spend 30 minutes studying physics at 9: 30 am, stream on Twich from 10:00 am to 1:00 pm, have a lunch at 12:00 pm, pick up groceries at 1:30 pm, Go to Hobbs Cafe to study and socialize from 2:00 pm to 5:00 pm, have dinner around 6:00 pm, watch TV from 7 to 8 pm.", "poignancy": 5, "keywords": ["plan"], "filling": null}, "node_6": {"node_count": 6, "type_count": 6, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:computer", "predicate": "is", "object": "idle", "description": "computer is idle", "embedding_key": "computer is idle", "poignancy": 1, "keywords": ["computer", "idle"], "filling": []}, "node_5": {"node_count": 5, "type_count": 5, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:blackboard", "predicate": "is", "object": "idle", "description": "blackboard is idle", "embedding_key": "blackboard is idle", "poignancy": 1, "keywords": ["idle", "blackboard"], "filling": []}, "node_4": {"node_count": 4, "type_count": 4, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:closet", "predicate": "is", "object": "idle", "description": "closet is idle", "embedding_key": "closet is idle", "poignancy": 1, "keywords": ["idle", "closet"], "filling": []}, "node_3": {"node_count": 3, "type_count": 3, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:desk", "predicate": "is", "object": "idle", "description": "desk is idle", "embedding_key": "desk is idle", "poignancy": 1, "keywords": ["desk", "idle"], "filling": []}, "node_2": {"node_count": 2, "type_count": 2, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:bed", "predicate": "is", "object": "idle", "description": "bed is idle", "embedding_key": "bed is idle", "poignancy": 1, "keywords": ["bed", "idle"], "filling": []}, "node_1": {"node_count": 1, "type_count": 1, "type": "event", "depth": 0, "created": "2023-02-13 00:00:00", "expiration": null, "subject": "Maria Lopez", "predicate": "is", "object": "idle", "description": "Maria Lopez is idle", "embedding_key": "Maria Lopez is idle", "poignancy": 1, "keywords": ["idle", "Maria Lopez"], "filling": []}}
|
||||
@ -0,0 +1 @@
|
||||
{"vision_r": 8, "att_bandwidth": 8, "retention": 8, "curr_time": "February 13, 2023, 00:00:50", "curr_tile": [123, 57], "daily_plan_req": "Maria Lopez spends at least 3 hours a day Twitch streaming or gaming.", "name": "Maria Lopez", "first_name": "Maria", "last_name": "Lopez", "age": 21, "innate": "energetic, enthusiastic, inquisitive", "learned": "Maria Lopez is a student at Oak Hill College studying physics and a part time Twitch game streamer who loves to connect with people and explore new ideas.", "currently": "Maria Lopez is working on her physics degree and streaming games on Twitch to make some extra money. She visits Hobbs Cafe for studying and eating just about everyday.", "lifestyle": "Maria Lopez goes to bed around 2am, awakes up around 9am, eats dinner around 6pm. She likes to hang out at Hobbs Cafe if it's before 6pm.", "living_area": "the Ville:Dorm for Oak Hill College:Maria Lopez's room", "concept_forget": 100, "daily_reflection_time": 180, "daily_reflection_size": 5, "overlap_reflect_th": 4, "kw_strg_event_reflect_th": 10, "kw_strg_thought_reflect_th": 9, "recency_w": 1, "relevance_w": 1, "importance_w": 1, "recency_decay": 0.99, "importance_trigger_max": 150, "importance_trigger_curr": 141, "importance_ele_n": 8, "thought_count": 5, "daily_req": ["wake up and complete the morning routine at 9:00 am", "spend 30 minutes studying physics at 9: 30 am", "stream on Twich from 10:00 am to 1:00 pm", "have a lunch at 12:00 pm", "pick up groceries at 1:30 pm", "Go to Hobbs Cafe to study and socialize from 2:00 pm to 5:00 pm", "have dinner around 6:00 pm", "watch TV from 7 to 8 pm"], "f_daily_schedule": [["sleeping", 540], ["waking up and completing her morning routine (getting out of bed)", 5], ["waking up and completing her morning routine (brushing her teeth)", 5], ["waking up and completing her morning routine (taking a shower)", 10], ["waking up and completing her morning routine (getting dressed)", 10], ["waking up and completing her morning routine (eating breakfast)", 10], ["waking up and completing her morning routine (checking her emails)", 5], ["waking up and completing her morning routine (checking her Twitch stream)", 5], ["waking up and completing her morning routine (preparing her equipment for streaming)", 5], ["waking up and completing her morning routine (setting up her stream)", 5], ["streaming on Twitch", 120], ["having lunch", 60], ["picking up groceries", 60], ["studying and socializing at Hobbs Cafe", 60], ["studying physics at Hobbs Cafe", 180], ["having dinner", 60], ["watching TV", 120], ["streaming on Twitch", 120], ["sleeping", 60], ["sleeping", 0]], "f_daily_schedule_hourly_org": [["sleeping", 540], ["waking up and completing her morning routine", 60], ["streaming on Twitch", 120], ["having lunch", 60], ["picking up groceries", 60], ["studying and socializing at Hobbs Cafe", 60], ["studying physics at Hobbs Cafe", 180], ["having dinner", 60], ["watching TV", 120], ["streaming on Twitch", 120], ["sleeping", 60]], "act_address": "the Ville:Dorm for Oak Hill College:Maria Lopez's room:bed", "act_start_time": "February 13, 2023, 00:00:00", "act_duration": 540, "act_description": "sleeping", "act_pronunciatio": "\ud83d\ude34", "act_event": ["Maria Lopez", "is", "sleep"], "act_obj_description": "being used", "act_obj_pronunciatio": "\ud83e\udd37\u200d\u2640", "act_obj_event": ["bed", "be", "used"], "chatting_with": null, "chat": null, "chatting_with_buffer": {}, "chatting_end_time": null, "act_path_set": true, "planned_path": []}
|
||||
@ -0,0 +1 @@
|
||||
{"the Ville": {"Oak Hill College": {"hallway": [], "library": ["library sofa", "library table", "bookshelf"], "classroom": ["blackboard", "classroom podium", "classroom student seating"]}, "Dorm for Oak Hill College": {"garden": ["dorm garden"], "Maria Lopez's room": ["closet", "desk", "bed", "computer", "blackboard"], "woman's bathroom": ["toilet", "shower", "bathroom sink"], "common room": ["common room sofa", "pool table", "common room table"], "man's bathroom": ["shower", "bathroom sink", "toilet"], "Ayesha Khan's room": ["shelf", "closet", "desk", "bed"], "kitchen": []}, "The Willows Market and Pharmacy": {"store": ["grocery store shelf", "behind the grocery counter", "grocery store counter", "pharmacy store shelf", "pharmacy store counter", "behind the pharmacy counter"]}, "Harvey Oak Supply Store": {"supply store": ["supply store product shelf", "behind the supply store counter", "supply store counter"]}, "Johnson Park": {"park": ["park garden"]}, "The Rose and Crown Pub": {"pub": ["shelf", "refrigerator", "bar customer seating", "behind the bar counter", "kitchen sink", "cooking area", "microphone"]}, "Hobbs Cafe": {"cafe": ["refrigerator", "cafe customer seating", "cooking area", "kitchen sink", "behind the cafe counter", "piano"]}}}
|
||||
BIN
environment/frontend_server/db.sqlite3
Normal file
BIN
environment/frontend_server/frontend_server/db.sqlite3
Normal file
@ -0,0 +1,33 @@
|
||||
###FOR PUSHING STATIC TO AWS
|
||||
|
||||
|
||||
|
||||
# from .base import *
|
||||
# from .production import *
|
||||
|
||||
# try:
|
||||
# from .local import *
|
||||
# except:
|
||||
# pass
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###FOR GENERAL USES
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
from .base import *
|
||||
|
||||
try:
|
||||
from .local import *
|
||||
live = False
|
||||
except:
|
||||
live = True
|
||||
|
||||
if live:
|
||||
from .production import *
|
||||
147
environment/frontend_server/frontend_server/settings/base.py
Normal file
@ -0,0 +1,147 @@
|
||||
"""
|
||||
Django settings for frontend_server project.
|
||||
|
||||
Generated by 'django-admin startproject' using Django 2.2.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/2.2/topics/settings/
|
||||
|
||||
For the full list of settings and their values, see
|
||||
https://docs.djangoproject.com/en/2.2/ref/settings/
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = 'c7l%1%b=2sh$o9zqvd4i*h8*__^@-5sm-y)m(1ib2t92)43@62'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
ALLOWED_HOSTS = []
|
||||
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'translator',
|
||||
'corsheaders',
|
||||
'storages',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
# 'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'corsheaders.middleware.CorsMiddleware',
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'frontend_server.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [os.path.join(BASE_DIR, "templates")],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = 'frontend_server.wsgi.application'
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/2.2/topics/i18n/
|
||||
|
||||
LANGUAGE_CODE = 'en-us'
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_L10N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/2.2/howto/static-files/
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_root")
|
||||
STATICFILES_DIRS = (
|
||||
os.path.join(BASE_DIR, "static_dirs"),
|
||||
)
|
||||
|
||||
MEDIA_URL = '/media/'
|
||||
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_root")
|
||||
|
||||
|
||||
# CORS_ORIGIN_WHITELIST = [
|
||||
# 'http://127.0.0.1:8080'
|
||||
# ]
|
||||
|
||||
# CORS_ORIGIN_ALLOW_ALL = True
|
||||
# CORS_ALLOW_CREDENTIALS = False
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
145
environment/frontend_server/frontend_server/settings/local.py
Normal file
@ -0,0 +1,145 @@
|
||||
"""
|
||||
Django settings for frontend_server project.
|
||||
|
||||
Generated by 'django-admin startproject' using Django 2.2.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/2.2/topics/settings/
|
||||
|
||||
For the full list of settings and their values, see
|
||||
https://docs.djangoproject.com/en/2.2/ref/settings/
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = 'c7l%1%b=2sh$o9zqvd4i*h8*__^@-5sm-y)m(1ib2t92)43@62'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
ALLOWED_HOSTS = []
|
||||
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'translator',
|
||||
'corsheaders',
|
||||
'storages',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
# 'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'corsheaders.middleware.CorsMiddleware',
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'frontend_server.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [os.path.join(BASE_DIR, "templates")],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = 'frontend_server.wsgi.application'
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/2.2/topics/i18n/
|
||||
|
||||
LANGUAGE_CODE = 'en-us'
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_L10N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/2.2/howto/static-files/
|
||||
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_root")
|
||||
STATICFILES_DIRS = (
|
||||
os.path.join(BASE_DIR, "static_dirs"),
|
||||
)
|
||||
|
||||
MEDIA_URL = '/media/'
|
||||
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_root")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
35
environment/frontend_server/frontend_server/urls.py
Normal file
@ -0,0 +1,35 @@
|
||||
"""frontend_server URL Configuration
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/2.2/topics/http/urls/
|
||||
Examples:
|
||||
Function views
|
||||
1. Add an import: from my_app import views
|
||||
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
||||
Class-based views
|
||||
1. Add an import: from other_app.views import Home
|
||||
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
||||
Including another URLconf
|
||||
1. Import the include() function: from django.urls import include, path
|
||||
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
||||
"""
|
||||
from django.conf.urls import include, url
|
||||
from django.urls import path
|
||||
from django.contrib import admin
|
||||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
|
||||
from translator import views as translator_views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^$', translator_views.landing, name='landing'),
|
||||
url(r'^simulator_home$', translator_views.home, name='home'),
|
||||
url(r'^demo/(?P<sim_code>[\w-]+)/(?P<step>[\w-]+)/(?P<play_speed>[\w-]+)/$', translator_views.demo, name='demo'),
|
||||
url(r'^replay/(?P<sim_code>[\w-]+)/(?P<step>[\w-]+)/$', translator_views.replay, name='replay'),
|
||||
url(r'^replay_persona_state/(?P<sim_code>[\w-]+)/(?P<step>[\w-]+)/(?P<persona_name>[\w-]+)/$', translator_views.replay_persona_state, name='replay_persona_state'),
|
||||
url(r'^process_environment/$', translator_views.process_environment, name='process_environment'),
|
||||
url(r'^update_environment/$', translator_views.update_environment, name='update_environment'),
|
||||
url(r'^path_tester/$', translator_views.path_tester, name='path_tester'),
|
||||
url(r'^path_tester_update/$', translator_views.path_tester_update, name='path_tester_update'),
|
||||
path('admin/', admin.site.urls),
|
||||
]
|
||||
4
environment/frontend_server/frontend_server/utils.py
Normal file
@ -0,0 +1,4 @@
|
||||
from storages.backends.s3boto import S3BotoStorage
|
||||
|
||||
StaticRootS3BotoStorage = lambda: S3BotoStorage(location='static')
|
||||
MediaRootS3BotoStorage = lambda: S3BotoStorage(location='media')
|
||||
16
environment/frontend_server/frontend_server/wsgi.py
Normal file
@ -0,0 +1,16 @@
|
||||
"""
|
||||
WSGI config for frontend_server project.
|
||||
|
||||
It exposes the WSGI callable as a module-level variable named ``application``.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frontend_server.settings')
|
||||
|
||||
application = get_wsgi_application()
|
||||
245
environment/frontend_server/global_methods.py
Normal file
@ -0,0 +1,245 @@
|
||||
"""
|
||||
Author: Joon Sung Park (joonspk@stanford.edu)
|
||||
|
||||
File: global_methods.py
|
||||
Description: Contains functions used throughout my projects.
|
||||
"""
|
||||
import random
|
||||
import string
|
||||
import csv
|
||||
import time
|
||||
import datetime as dt
|
||||
import pathlib
|
||||
import os
|
||||
import sys
|
||||
import numpy
|
||||
import math
|
||||
import shutil, errno
|
||||
|
||||
from os import listdir
|
||||
|
||||
def create_folder_if_not_there(curr_path):
|
||||
"""
|
||||
Checks if a folder in the curr_path exists. If it does not exist, creates
|
||||
the folder.
|
||||
Note that if the curr_path designates a file location, it will operate on
|
||||
the folder that contains the file. But the function also works even if the
|
||||
path designates to just a folder.
|
||||
Args:
|
||||
curr_list: list to write. The list comes in the following form:
|
||||
[['key1', 'val1-1', 'val1-2'...],
|
||||
['key2', 'val2-1', 'val2-2'...],]
|
||||
outfile: name of the csv file to write
|
||||
RETURNS:
|
||||
True: if a new folder is created
|
||||
False: if a new folder is not created
|
||||
"""
|
||||
outfolder_name = curr_path.split("/")
|
||||
if len(outfolder_name) != 1:
|
||||
# This checks if the curr path is a file or a folder.
|
||||
if "." in outfolder_name[-1]:
|
||||
outfolder_name = outfolder_name[:-1]
|
||||
|
||||
outfolder_name = "/".join(outfolder_name)
|
||||
if not os.path.exists(outfolder_name):
|
||||
os.makedirs(outfolder_name)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def write_list_of_list_to_csv(curr_list_of_list, outfile):
|
||||
"""
|
||||
Writes a list of list to csv.
|
||||
Unlike write_list_to_csv_line, it writes the entire csv in one shot.
|
||||
ARGS:
|
||||
curr_list_of_list: list to write. The list comes in the following form:
|
||||
[['key1', 'val1-1', 'val1-2'...],
|
||||
['key2', 'val2-1', 'val2-2'...],]
|
||||
outfile: name of the csv file to write
|
||||
RETURNS:
|
||||
None
|
||||
"""
|
||||
create_folder_if_not_there(outfile)
|
||||
with open(outfile, "w") as f:
|
||||
writer = csv.writer(f)
|
||||
writer.writerows(curr_list_of_list)
|
||||
|
||||
|
||||
def write_list_to_csv_line(line_list, outfile):
|
||||
"""
|
||||
Writes one line to a csv file.
|
||||
Unlike write_list_of_list_to_csv, this opens an existing outfile and then
|
||||
appends a line to that file.
|
||||
This also works if the file does not exist already.
|
||||
ARGS:
|
||||
curr_list: list to write. The list comes in the following form:
|
||||
['key1', 'val1-1', 'val1-2'...]
|
||||
Importantly, this is NOT a list of list.
|
||||
outfile: name of the csv file to write
|
||||
RETURNS:
|
||||
None
|
||||
"""
|
||||
create_folder_if_not_there(outfile)
|
||||
|
||||
# Opening the file first so we can write incrementally as we progress
|
||||
curr_file = open(outfile, 'a',)
|
||||
csvfile_1 = csv.writer(curr_file)
|
||||
csvfile_1.writerow(line_list)
|
||||
curr_file.close()
|
||||
|
||||
|
||||
def read_file_to_list(curr_file, header=False, strip_trail=True):
|
||||
"""
|
||||
Reads in a csv file to a list of list. If header is True, it returns a
|
||||
tuple with (header row, all rows)
|
||||
ARGS:
|
||||
curr_file: path to the current csv file.
|
||||
RETURNS:
|
||||
List of list where the component lists are the rows of the file.
|
||||
"""
|
||||
if not header:
|
||||
analysis_list = []
|
||||
with open(curr_file) as f_analysis_file:
|
||||
data_reader = csv.reader(f_analysis_file, delimiter=",")
|
||||
for count, row in enumerate(data_reader):
|
||||
if strip_trail:
|
||||
row = [i.strip() for i in row]
|
||||
analysis_list += [row]
|
||||
return analysis_list
|
||||
else:
|
||||
analysis_list = []
|
||||
with open(curr_file) as f_analysis_file:
|
||||
data_reader = csv.reader(f_analysis_file, delimiter=",")
|
||||
for count, row in enumerate(data_reader):
|
||||
if strip_trail:
|
||||
row = [i.strip() for i in row]
|
||||
analysis_list += [row]
|
||||
return analysis_list[0], analysis_list[1:]
|
||||
|
||||
|
||||
def read_file_to_set(curr_file, col=0):
|
||||
"""
|
||||
Reads in a "single column" of a csv file to a set.
|
||||
ARGS:
|
||||
curr_file: path to the current csv file.
|
||||
RETURNS:
|
||||
Set with all items in a single column of a csv file.
|
||||
"""
|
||||
analysis_set = set()
|
||||
with open(curr_file) as f_analysis_file:
|
||||
data_reader = csv.reader(f_analysis_file, delimiter=",")
|
||||
for count, row in enumerate(data_reader):
|
||||
analysis_set.add(row[col])
|
||||
return analysis_set
|
||||
|
||||
|
||||
def get_row_len(curr_file):
|
||||
"""
|
||||
Get the number of rows in a csv file
|
||||
ARGS:
|
||||
curr_file: path to the current csv file.
|
||||
RETURNS:
|
||||
The number of rows
|
||||
False if the file does not exist
|
||||
"""
|
||||
try:
|
||||
analysis_set = set()
|
||||
with open(curr_file) as f_analysis_file:
|
||||
data_reader = csv.reader(f_analysis_file, delimiter=",")
|
||||
for count, row in enumerate(data_reader):
|
||||
analysis_set.add(row[0])
|
||||
return len(analysis_set)
|
||||
except:
|
||||
return False
|
||||
|
||||
|
||||
def check_if_file_exists(curr_file):
|
||||
"""
|
||||
Checks if a file exists
|
||||
ARGS:
|
||||
curr_file: path to the current csv file.
|
||||
RETURNS:
|
||||
True if the file exists
|
||||
False if the file does not exist
|
||||
"""
|
||||
try:
|
||||
with open(curr_file) as f_analysis_file: pass
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
|
||||
def find_filenames(path_to_dir, suffix=".csv"):
|
||||
"""
|
||||
Given a directory, find all files that ends with the provided suffix and
|
||||
returns their paths.
|
||||
ARGS:
|
||||
path_to_dir: Path to the current directory
|
||||
suffix: The target suffix.
|
||||
RETURNS:
|
||||
A list of paths to all files in the directory.
|
||||
"""
|
||||
filenames = listdir(path_to_dir)
|
||||
return [ path_to_dir+"/"+filename
|
||||
for filename in filenames if filename.endswith( suffix ) ]
|
||||
|
||||
|
||||
def average(list_of_val):
|
||||
"""
|
||||
Finds the average of the numbers in a list.
|
||||
ARGS:
|
||||
list_of_val: a list of numeric values
|
||||
RETURNS:
|
||||
The average of the values
|
||||
"""
|
||||
return sum(list_of_val)/float(len(list_of_val))
|
||||
|
||||
|
||||
def std(list_of_val):
|
||||
"""
|
||||
Finds the std of the numbers in a list.
|
||||
ARGS:
|
||||
list_of_val: a list of numeric values
|
||||
RETURNS:
|
||||
The std of the values
|
||||
"""
|
||||
std = numpy.std(list_of_val)
|
||||
return std
|
||||
|
||||
|
||||
def copyanything(src, dst):
|
||||
"""
|
||||
Copy over everything in the src folder to dst folder.
|
||||
ARGS:
|
||||
src: address of the source folder
|
||||
dst: address of the destination folder
|
||||
RETURNS:
|
||||
None
|
||||
"""
|
||||
try:
|
||||
shutil.copytree(src, dst)
|
||||
except OSError as exc: # python >2.5
|
||||
if exc.errno in (errno.ENOTDIR, errno.EINVAL):
|
||||
shutil.copy(src, dst)
|
||||
else: raise
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
21
environment/frontend_server/manage.py
Normal file
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env python
|
||||
"""Django's command-line utility for administrative tasks."""
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frontend_server.settings')
|
||||
try:
|
||||
from django.core.management import execute_from_command_line
|
||||
except ImportError as exc:
|
||||
raise ImportError(
|
||||
"Couldn't import Django. Are you sure it's installed and "
|
||||
"available on your PYTHONPATH environment variable? Did you "
|
||||
"forget to activate a virtual environment?"
|
||||
) from exc
|
||||
execute_from_command_line(sys.argv)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
68
environment/frontend_server/requirements.txt
Normal file
@ -0,0 +1,68 @@
|
||||
aiohttp==3.8.3
|
||||
aiosignal==1.3.1
|
||||
asgiref==3.5.2
|
||||
async-generator==1.10
|
||||
async-timeout==4.0.2
|
||||
attrs==22.2.0
|
||||
boto==2.49.0
|
||||
botocore==1.29.43
|
||||
certifi==2021.10.8
|
||||
charset-normalizer==2.0.12
|
||||
click==8.0.3
|
||||
cycler==0.11.0
|
||||
dj-database-url==0.5.0
|
||||
Django==2.2
|
||||
django-cors-headers==2.5.3
|
||||
django-storages-redux==1.3.3
|
||||
exceptiongroup==1.1.0
|
||||
frozenlist==1.3.3
|
||||
gensim==3.8.0
|
||||
gunicorn==20.1.0
|
||||
h11==0.14.0
|
||||
idna==3.3
|
||||
importlib-metadata==4.8.2
|
||||
jmespath==1.0.1
|
||||
joblib==1.1.0
|
||||
kiwisolver==1.3.1
|
||||
matplotlib==3.3.4
|
||||
multidict==6.0.4
|
||||
nltk==3.6.5
|
||||
numpy==1.19.5
|
||||
openai==0.27.0
|
||||
outcome==1.2.0
|
||||
packaging==23.0
|
||||
pandas==1.1.5
|
||||
patsy==0.5.3
|
||||
Pillow==8.4.0
|
||||
psycopg2-binary==2.9.5
|
||||
pycparser==2.21
|
||||
pyparsing==3.0.6
|
||||
PySocks==1.7.1
|
||||
python-dateutil==2.8.2
|
||||
pytz==2021.3
|
||||
regex==2021.11.10
|
||||
requests==2.26.0
|
||||
s3transfer==0.6.0
|
||||
scikit-learn==0.24.2
|
||||
scikit-posthocs==0.7.0
|
||||
scipy==1.5.4
|
||||
seaborn==0.12.2
|
||||
selenium==4.8.2
|
||||
six==1.16.0
|
||||
sklearn==0.0
|
||||
smart-open==5.2.1
|
||||
sniffio==1.3.0
|
||||
sortedcontainers==2.4.0
|
||||
sqlparse==0.4.3
|
||||
statsmodels==0.13.5
|
||||
threadpoolctl==3.0.0
|
||||
tqdm==4.62.3
|
||||
trio==0.22.0
|
||||
trio-websocket==0.9.2
|
||||
trueskill==0.4.5
|
||||
typing-extensions==4.0.0
|
||||
urllib3==1.26.7
|
||||
wsproto==1.2.0
|
||||
yarl==1.8.2
|
||||
yellowbrick==1.3.post1
|
||||
zipp==3.6.0
|
||||
1
environment/frontend_server/runtime.txt
Normal file
@ -0,0 +1 @@
|
||||
python-3.9.12
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
@ -0,0 +1,278 @@
|
||||
{
|
||||
"frames": [
|
||||
{
|
||||
"filename": "down-walk.000",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "down-walk.001",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 0
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "down-walk.002",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 64,
|
||||
"y": 0
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "down-walk.003",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 0
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "down",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 0
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"filename": "left-walk.000",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 0,
|
||||
"y": 32
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "left-walk.001",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "left-walk.002",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 64,
|
||||
"y": 32
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "left-walk.003",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "left",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"filename": "right-walk.000",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 0,
|
||||
"y": 64
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "right-walk.001",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 64
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "right-walk.002",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 64,
|
||||
"y": 64
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "right-walk.003",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 64
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "right",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 64
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"filename": "up-walk.000",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 0,
|
||||
"y": 96
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "up-walk.001",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 96
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "up-walk.002",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 64,
|
||||
"y": 96
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "up-walk.003",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 96
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"filename": "up",
|
||||
"frame": {
|
||||
"w": 32,
|
||||
"h": 32,
|
||||
"x": 32,
|
||||
"y": 96
|
||||
},
|
||||
"anchor": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"description": "Atlas generado con Atlas Packer Gamma V2",
|
||||
"web": "https://gammafp.github.io/atlas-packer-phaser/"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.5 KiB |