{"id":17383785,"url":"https://github.com/numblr/my-eliza-app","last_synced_at":"2025-07-06T15:33:54.641Z","repository":{"id":243234305,"uuid":"811821630","full_name":"numblr/my-eliza-app","owner":"numblr","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-07T12:51:08.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T23:36:08.663Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/numblr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-07T11:20:44.000Z","updated_at":"2024-06-07T12:51:12.000Z","dependencies_parsed_at":"2024-06-07T14:30:04.758Z","dependency_job_id":null,"html_url":"https://github.com/numblr/my-eliza-app","commit_stats":null,"previous_names":["numblr/my-eliza-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numblr%2Fmy-eliza-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numblr%2Fmy-eliza-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numblr%2Fmy-eliza-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numblr%2Fmy-eliza-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/numblr","download_url":"https://codeload.github.com/numblr/my-eliza-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924515,"owners_count":20694730,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-16T07:43:46.903Z","updated_at":"2025-03-27T21:14:59.718Z","avatar_url":"https://github.com/numblr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Template repository for a minimal App\n\n## Applicaton\n\n\u003c FLOW CHART OF THE APP \u003e\n\n## Quick start\n\nTo run a simple Hello World! application\n- run `make build` from the root directory of the repository (twice),\n- change to the *app/* directory and activate the virutal environment created by the previous step with\n\n      source venv/bin/activate\n\n- change to the *app/py-app/* directory and run the application with\n\n      python app.py\n\n- open the [Chat UI](http://localhost:8000/chatui/static/chat.html) in your browser which is served under\n  http://localhost:8000/chatui/static/chat.html, and start a chat. The application should respond with simple\n  *Hallo world!* messages repeating your input.\n\n## Applicaton structure\n\nDescribe repository content (folder structure)\n\n## EMISSOR\n\nThe application collects interaction data in EMISSOR format.\nThere is a single scenario created in *app/py-app/app.py*\nfor each run of the application.\n\n## Build your own application\n\n### Setup the application\n\n1. Clone this repository.\n\n       git clone --recurse-submodules https://github.com/leolani/cltl-template-app.git \u003cYOUR FOLDER NAME\u003e\n\n1. Change the *origin* to your own online *git* repository:\n\n       git remote set-url origin \u003cYOUR REPOSITORY URL\u003e\n       git push -u origin main\n\n1. Add custom components and code in *src/* or add them as *git* submodule as described below.\n\n### Adding components\n\n1. Add the component as *git* submodule, e.g *cltl-eliza*:\n\n       git submodule add -b main --name cltl-eliza https://github.com/leolani/cltl-eliza.git cltl-eliza\n       git submodule update --init --recursive\n\n1. Add the component to\n    - *makefile*: Add the folder name of the component to the *project_components* list, e.g. `cltl-eliza`.\n    - *app/makefile*: Add the folder name of the component to the *project_dependencies* list, e.g. `cltl-eliza`.\n    - *app/requirements.txt*: Add it with the package name and eventual\n      [optional depencdenies](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies)\n      (see the *setup.py* of the component), e.g. `cltl.eliza[service]`.\n    - Rebuild the components running `make build` from the root directory of the repository.\n\n1. Setup and start the component in *app/py-app/app.py*. For convenience follow\n   the pattern to create a *Container* and add it to the ApplicationContaienr, see e.g. the `ElizaContainer` in\n   [Leolani app](https://github.com/leolani/eliza-app/blob/main/app/py-app/app.py)). Don't forget to add the\n   necessary imports. For the Eliza component this would include:\n   - Create an instance of `cltl.eliza.eliza.ElizaImpl`,\n   - create an instance of `cltl_service.eliza.service.ElizaService` using the configuration and the `ElizaImpl`\n     instance created in the previous step,\n   - start and stop the service at application start and termination.\n1. If the service of the component provides REST endpoints via a Flask app, add it in the `main()` function of\n   *app/py-app/app.py*.\n1. Add the necessary configuration section(s) in *app/py-app/config/default.config* (see the documentation of the\n   component or e.g.\n   the [Leolani app](https://github.com/leolani/cltl-leolani-app/blob/main/py-app/config/default.config)). For the\n   Eliza component this would be:\n\n       [cltl.eliza]\n       language: en\n       topic_input : cltl.topic.text_in\n       topic_output : cltl.topic.text_out\n       intentions:\n       topic_intention:\n       topic_desire:\n\n1. In the configuration, connect the input and output of the component to existing components by configuring the desired\n   topic names, e.g. for Eliza by setting _topic_input_ to the same value as _topic_utterance_ in the Chat UI configuration\n   (i.e. `cltl.topic.text_in`) and _topic_input_ to the value of _topic_response_ in the Chat UI configuration\n   (`cltl.topic.text_out`).\n1. Add required dependencies of the component to *cltl-requirements/requirements.txt* (see the documentation or\n   *setup.py* of the added component), e.g. none for Eliza.\n1. Remove the Hello World example by removing the DemoContainer from the ApplicationContainer in *app/py-app/app.py*.\n1. Rebuild the components running `make build` from the root directory of the repository and restart the application.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumblr%2Fmy-eliza-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnumblr%2Fmy-eliza-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumblr%2Fmy-eliza-app/lists"}