diff --git a/pyproject.toml b/pyproject.toml index 406b6d4..f543d17 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,3 +54,6 @@ where = ["src"] [tool.setuptools.package-dir] "" = "src" + +[tool.setuptools.package-data] +embeddingbuddy = ["assets/**/*"] diff --git a/src/embeddingbuddy/app.py b/src/embeddingbuddy/app.py index a3368b1..e73cf81 100644 --- a/src/embeddingbuddy/app.py +++ b/src/embeddingbuddy/app.py @@ -16,9 +16,9 @@ def create_app(): from .ui.callbacks.visualization import VisualizationCallbacks from .ui.callbacks.interactions import InteractionCallbacks - # Get the project root directory (two levels up from this file) - project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - assets_path = os.path.join(project_root, "assets") + # Get the assets directory relative to this module + module_dir = os.path.dirname(__file__) + assets_path = os.path.join(module_dir, "assets") app = dash.Dash( __name__, @@ -167,8 +167,15 @@ def serve(host=None, port=None, dev=False, debug=False): # Only print startup messages in main process (not in Flask reloader) if not os.environ.get("WERKZEUG_RUN_MAIN"): + from importlib.metadata import version + + try: + pkg_version = version("embeddingbuddy") + except Exception: + pkg_version = "unknown" + mode = "development" if dev else ("debug" if debug else "production") - print(f"Starting EmbeddingBuddy in {mode} mode...") + print(f"Starting EmbeddingBuddy v{pkg_version} in {mode} mode...") print("Loading dependencies (this may take a few seconds)...") print(f"Server will start at http://{actual_host}:{actual_port}") if use_reloader: diff --git a/assets/custom.css b/src/embeddingbuddy/assets/custom.css similarity index 100% rename from assets/custom.css rename to src/embeddingbuddy/assets/custom.css diff --git a/assets/embeddings.js b/src/embeddingbuddy/assets/embeddings.js similarity index 100% rename from assets/embeddings.js rename to src/embeddingbuddy/assets/embeddings.js diff --git a/assets/fontawesome.css b/src/embeddingbuddy/assets/fontawesome.css similarity index 100% rename from assets/fontawesome.css rename to src/embeddingbuddy/assets/fontawesome.css diff --git a/assets/fontawesome/LICENSE.txt b/src/embeddingbuddy/assets/fontawesome/LICENSE.txt similarity index 100% rename from assets/fontawesome/LICENSE.txt rename to src/embeddingbuddy/assets/fontawesome/LICENSE.txt diff --git a/assets/fontawesome/css/all.min.css b/src/embeddingbuddy/assets/fontawesome/css/all.min.css similarity index 100% rename from assets/fontawesome/css/all.min.css rename to src/embeddingbuddy/assets/fontawesome/css/all.min.css diff --git a/assets/fontawesome/webfonts/fa-brands-400.ttf b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-brands-400.ttf similarity index 100% rename from assets/fontawesome/webfonts/fa-brands-400.ttf rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-brands-400.ttf diff --git a/assets/fontawesome/webfonts/fa-brands-400.woff2 b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-brands-400.woff2 similarity index 100% rename from assets/fontawesome/webfonts/fa-brands-400.woff2 rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-brands-400.woff2 diff --git a/assets/fontawesome/webfonts/fa-regular-400.ttf b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-regular-400.ttf similarity index 100% rename from assets/fontawesome/webfonts/fa-regular-400.ttf rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-regular-400.ttf diff --git a/assets/fontawesome/webfonts/fa-regular-400.woff2 b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-regular-400.woff2 similarity index 100% rename from assets/fontawesome/webfonts/fa-regular-400.woff2 rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-regular-400.woff2 diff --git a/assets/fontawesome/webfonts/fa-solid-900.ttf b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-solid-900.ttf similarity index 100% rename from assets/fontawesome/webfonts/fa-solid-900.ttf rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-solid-900.ttf diff --git a/assets/fontawesome/webfonts/fa-solid-900.woff2 b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-solid-900.woff2 similarity index 100% rename from assets/fontawesome/webfonts/fa-solid-900.woff2 rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-solid-900.woff2 diff --git a/assets/fontawesome/webfonts/fa-v4compatibility.ttf b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-v4compatibility.ttf similarity index 100% rename from assets/fontawesome/webfonts/fa-v4compatibility.ttf rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-v4compatibility.ttf diff --git a/assets/fontawesome/webfonts/fa-v4compatibility.woff2 b/src/embeddingbuddy/assets/fontawesome/webfonts/fa-v4compatibility.woff2 similarity index 100% rename from assets/fontawesome/webfonts/fa-v4compatibility.woff2 rename to src/embeddingbuddy/assets/fontawesome/webfonts/fa-v4compatibility.woff2 diff --git a/assets/package.json b/src/embeddingbuddy/assets/package.json similarity index 100% rename from assets/package.json rename to src/embeddingbuddy/assets/package.json diff --git a/assets/sample-txt.md b/src/embeddingbuddy/assets/sample-txt.md similarity index 100% rename from assets/sample-txt.md rename to src/embeddingbuddy/assets/sample-txt.md diff --git a/assets/transformers-loader.js b/src/embeddingbuddy/assets/transformers-loader.js similarity index 100% rename from assets/transformers-loader.js rename to src/embeddingbuddy/assets/transformers-loader.js diff --git a/uv.lock b/uv.lock index c23b62f..8d8d92e 100644 --- a/uv.lock +++ b/uv.lock @@ -412,7 +412,7 @@ wheels = [ [[package]] name = "embeddingbuddy" -version = "0.6.4" +version = "0.8.0" source = { editable = "." } dependencies = [ { name = "dash" },