From 6abf4877028ca27c43290e3e65245123c9922077 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 8 Sep 2024 18:17:57 +0200 Subject: [PATCH 1/5] move main.py script to package dir --- main.py => exo/main.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename main.py => exo/main.py (100%) diff --git a/main.py b/exo/main.py similarity index 100% rename from main.py rename to exo/main.py From fa67ee9bba5620d513d2f56b7c516f2fb94b3804 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 8 Sep 2024 18:18:29 +0200 Subject: [PATCH 2/5] add entry_point exo to run main.py --- README.md | 14 +++++++------- exo/main.py | 5 ++++- setup.py | 1 + 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 27850679..02954b41 100644 --- a/README.md +++ b/README.md @@ -108,12 +108,12 @@ source install.sh #### Device 1: ```sh -python3 main.py +exo ``` #### Device 2: ```sh -python3 main.py +exo ``` That's it! No configuration required - exo will automatically discover the other device(s). @@ -179,14 +179,14 @@ curl http://localhost:8000/v1/chat/completions \ #### Device 1 (MacOS): ```sh -python3 main.py --inference-engine tinygrad +exo --inference-engine tinygrad ``` Here we explicitly tell exo to use the **tinygrad** inference engine. #### Device 2 (Linux): ```sh -python3 main.py +exo ``` Linux devices will automatically default to using the **tinygrad** inference engine. @@ -199,18 +199,18 @@ You can read about tinygrad-specific env vars [here](https://docs.tinygrad.org/e Enable debug logs with the DEBUG environment variable (0-9). ```sh -DEBUG=9 python3 main.py +DEBUG=9 exo ``` For the **tinygrad** inference engine specifically, there is a separate DEBUG flag `TINYGRAD_DEBUG` that can be used to enable debug logs (1-6). ```sh -TINYGRAD_DEBUG=2 python3 main.py +TINYGRAD_DEBUG=2 exo ``` ## Known Issues -- On some versions of MacOS/Python, certificates are not installed properly which can lead to SSL errors (e.g. SSL error with huggingface.co). To fix this, run the Install Certificates command, usually: +- On some versions of MacOS/Python, certificates are not installed properly which can lead to SSL errors (e.g. SSL error with huggingface.co). To fix this, run the Install Certificates command, usually: ```sh /Applications/Python 3.x/Install Certificates.command diff --git a/exo/main.py b/exo/main.py index 6132bc67..6b86e478 100644 --- a/exo/main.py +++ b/exo/main.py @@ -186,7 +186,7 @@ async def main(): await asyncio.Event().wait() -if __name__ == "__main__": +def run(): loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) try: @@ -196,3 +196,6 @@ if __name__ == "__main__": finally: loop.run_until_complete(shutdown(signal.SIGTERM, loop)) loop.close() + +if __name__ == "__main__": + run() diff --git a/setup.py b/setup.py index 8044f46d..67bd1974 100644 --- a/setup.py +++ b/setup.py @@ -55,4 +55,5 @@ setup( packages=find_packages(), install_requires=install_requires, extras_require=extras_require, + entry_points={"console_scripts": ["exo = exo.main:run"]}, ) From 31e4454be8a836ba022b2763eafe9c633f0c2403 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 8 Sep 2024 18:19:30 +0200 Subject: [PATCH 3/5] add missing __init__.py files --- exo/inference/tinygrad/__init__.py | 0 exo/inference/tinygrad/models/__init__.py | 0 exo/networking/tailscale/__init__.py | 0 exo/networking/udp/__init__.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 exo/inference/tinygrad/__init__.py create mode 100644 exo/inference/tinygrad/models/__init__.py create mode 100644 exo/networking/tailscale/__init__.py create mode 100644 exo/networking/udp/__init__.py diff --git a/exo/inference/tinygrad/__init__.py b/exo/inference/tinygrad/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/exo/inference/tinygrad/models/__init__.py b/exo/inference/tinygrad/models/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/exo/networking/tailscale/__init__.py b/exo/networking/tailscale/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/exo/networking/udp/__init__.py b/exo/networking/udp/__init__.py new file mode 100644 index 00000000..e69de29b From c5b38f450f941c8cea2be3b36cb15250cf14f1b9 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 10 Sep 2024 21:50:20 +0200 Subject: [PATCH 4/5] move tinychat inside exo package --- exo/api/chatgpt_api.py | 2 +- {tinychat/examples => exo}/tinychat/common.css | 0 {tinychat/examples => exo}/tinychat/favicon.svg | 0 {tinychat/examples => exo}/tinychat/index.css | 0 {tinychat/examples => exo}/tinychat/index.html | 0 {tinychat/examples => exo}/tinychat/index.js | 0 .../toolkit@1.0.2/dist/cdn.min.js | 0 .../npm/@alpinejs/focus@3.x.x/dist/cdn.min.js | 0 .../npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js | 0 .../npm/purecss@3.0.0/build/base-min.css | 0 .../ajax/libs/font-awesome/6.5.2/css/all.min.css | 0 .../font-awesome/6.5.2/webfonts/fa-brands-400.ttf | Bin .../font-awesome/6.5.2/webfonts/fa-brands-400.woff2 | Bin .../font-awesome/6.5.2/webfonts/fa-regular-400.ttf | Bin .../6.5.2/webfonts/fa-regular-400.woff2 | Bin .../font-awesome/6.5.2/webfonts/fa-solid-900.ttf | Bin .../font-awesome/6.5.2/webfonts/fa-solid-900.woff2 | Bin .../6.5.2/webfonts/fa-v4compatibility.ttf | Bin .../6.5.2/webfonts/fa-v4compatibility.woff2 | Bin .../tinychat/static/fonts.googleapis.com/css2 | 0 .../@highlightjs/cdn-assets@11.9.0/highlight.min.js | 0 .../cdn-assets@11.9.0/styles/vs2015.min.css | 0 .../dist/alpine-autosize.min.js | 0 .../static/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js | 0 .../unpkg.com/dompurify@3.1.5/dist/purify.min.js | 0 .../marked-highlight@2.1.2/lib/index.umd.js | 0 .../static/unpkg.com/marked@13.0.0/marked.min.js | 0 {tinychat/examples => exo}/tinychat/update_deps.py | 0 setup.py | 1 + 29 files changed, 2 insertions(+), 1 deletion(-) rename {tinychat/examples => exo}/tinychat/common.css (100%) rename {tinychat/examples => exo}/tinychat/favicon.svg (100%) rename {tinychat/examples => exo}/tinychat/index.css (100%) rename {tinychat/examples => exo}/tinychat/index.html (100%) rename {tinychat/examples => exo}/tinychat/index.js (100%) rename {tinychat/examples => exo}/tinychat/static/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2 (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2 (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.ttf (100%) rename {tinychat/examples => exo}/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.woff2 (100%) rename {tinychat/examples => exo}/tinychat/static/fonts.googleapis.com/css2 (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/dompurify@3.1.5/dist/purify.min.js (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js (100%) rename {tinychat/examples => exo}/tinychat/static/unpkg.com/marked@13.0.0/marked.min.js (100%) rename {tinychat/examples => exo}/tinychat/update_deps.py (100%) diff --git a/exo/api/chatgpt_api.py b/exo/api/chatgpt_api.py index ef97e5c1..d037fc34 100644 --- a/exo/api/chatgpt_api.py +++ b/exo/api/chatgpt_api.py @@ -176,7 +176,7 @@ class ChatGPTAPI: cors.add(self.app.router.add_post("/chat/completions", self.handle_post_chat_completions), {"*": cors_options}) cors.add(self.app.router.add_post("/v1/chat/completions", self.handle_post_chat_completions), {"*": cors_options}) - self.static_dir = Path(__file__).parent.parent.parent/"tinychat/examples/tinychat" + self.static_dir = Path(__file__).parent.parent/"tinychat" self.app.router.add_get("/", self.handle_root) self.app.router.add_static("/", self.static_dir, name="static") diff --git a/tinychat/examples/tinychat/common.css b/exo/tinychat/common.css similarity index 100% rename from tinychat/examples/tinychat/common.css rename to exo/tinychat/common.css diff --git a/tinychat/examples/tinychat/favicon.svg b/exo/tinychat/favicon.svg similarity index 100% rename from tinychat/examples/tinychat/favicon.svg rename to exo/tinychat/favicon.svg diff --git a/tinychat/examples/tinychat/index.css b/exo/tinychat/index.css similarity index 100% rename from tinychat/examples/tinychat/index.css rename to exo/tinychat/index.css diff --git a/tinychat/examples/tinychat/index.html b/exo/tinychat/index.html similarity index 100% rename from tinychat/examples/tinychat/index.html rename to exo/tinychat/index.html diff --git a/tinychat/examples/tinychat/index.js b/exo/tinychat/index.js similarity index 100% rename from tinychat/examples/tinychat/index.js rename to exo/tinychat/index.js diff --git a/tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js b/exo/tinychat/static/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js similarity index 100% rename from tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js rename to exo/tinychat/static/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js diff --git a/tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js b/exo/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js similarity index 100% rename from tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js rename to exo/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js diff --git a/tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js b/exo/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js similarity index 100% rename from tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js rename to exo/tinychat/static/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js diff --git a/tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css b/exo/tinychat/static/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css similarity index 100% rename from tinychat/examples/tinychat/static/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css rename to exo/tinychat/static/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2 b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2 similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2 rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2 diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2 b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2 similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2 rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2 diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.ttf b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.ttf similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.ttf rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.ttf diff --git a/tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.woff2 b/exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.woff2 similarity index 100% rename from tinychat/examples/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.woff2 rename to exo/tinychat/static/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-v4compatibility.woff2 diff --git a/tinychat/examples/tinychat/static/fonts.googleapis.com/css2 b/exo/tinychat/static/fonts.googleapis.com/css2 similarity index 100% rename from tinychat/examples/tinychat/static/fonts.googleapis.com/css2 rename to exo/tinychat/static/fonts.googleapis.com/css2 diff --git a/tinychat/examples/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js b/exo/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js rename to exo/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js diff --git a/tinychat/examples/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css b/exo/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css rename to exo/tinychat/static/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css diff --git a/tinychat/examples/tinychat/static/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js b/exo/tinychat/static/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js rename to exo/tinychat/static/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js diff --git a/tinychat/examples/tinychat/static/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js b/exo/tinychat/static/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js rename to exo/tinychat/static/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js diff --git a/tinychat/examples/tinychat/static/unpkg.com/dompurify@3.1.5/dist/purify.min.js b/exo/tinychat/static/unpkg.com/dompurify@3.1.5/dist/purify.min.js similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/dompurify@3.1.5/dist/purify.min.js rename to exo/tinychat/static/unpkg.com/dompurify@3.1.5/dist/purify.min.js diff --git a/tinychat/examples/tinychat/static/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js b/exo/tinychat/static/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js rename to exo/tinychat/static/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js diff --git a/tinychat/examples/tinychat/static/unpkg.com/marked@13.0.0/marked.min.js b/exo/tinychat/static/unpkg.com/marked@13.0.0/marked.min.js similarity index 100% rename from tinychat/examples/tinychat/static/unpkg.com/marked@13.0.0/marked.min.js rename to exo/tinychat/static/unpkg.com/marked@13.0.0/marked.min.js diff --git a/tinychat/examples/tinychat/update_deps.py b/exo/tinychat/update_deps.py similarity index 100% rename from tinychat/examples/tinychat/update_deps.py rename to exo/tinychat/update_deps.py diff --git a/setup.py b/setup.py index 67bd1974..0095823d 100644 --- a/setup.py +++ b/setup.py @@ -55,5 +55,6 @@ setup( packages=find_packages(), install_requires=install_requires, extras_require=extras_require, + package_data={"exo": ["tinychat/**/*"]}, entry_points={"console_scripts": ["exo = exo.main:run"]}, ) From 4923eb7e441a643091c7b80c8b2a715516552f8f Mon Sep 17 00:00:00 2001 From: Alex Cheema Date: Wed, 2 Oct 2024 15:24:53 +0400 Subject: [PATCH 5/5] also use tempdir for .exo_node_id to keep the dir clean --- exo/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exo/helpers.py b/exo/helpers.py index 802757b7..e076019d 100644 --- a/exo/helpers.py +++ b/exo/helpers.py @@ -170,7 +170,7 @@ def is_valid_uuid(val): def get_or_create_node_id(): - NODE_ID_FILE = Path(os.path.dirname(os.path.abspath(__file__)))/".exo_node_id" + NODE_ID_FILE = Path(tempfile.gettempdir()) / ".exo_node_id" try: if NODE_ID_FILE.is_file(): with open(NODE_ID_FILE, "r") as f: