diff --git a/assistants/prospector-assistant/uv.lock b/assistants/prospector-assistant/uv.lock index eb06707..0558ffd 100644 --- a/assistants/prospector-assistant/uv.lock +++ b/assistants/prospector-assistant/uv.lock @@ -175,7 +175,6 @@ dependencies = [ { name = "context" }, { name = "pydantic" }, { name = "pydantic-settings" }, - { name = "python-magic" }, ] [package.metadata] @@ -183,7 +182,6 @@ requires-dist = [ { name = "context", editable = "../../libraries/python/context" }, { name = "pydantic", specifier = ">=2.6.1" }, { name = "pydantic-settings", specifier = ">=2.5.2" }, - { name = "python-magic", specifier = ">=0.4.27" }, ] [package.metadata.requires-dev] @@ -1679,15 +1677,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/a6/145655273568ee78a581e734cf35beb9e33a370b29c5d3c8fee3744de29f/python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd", size = 8067 }, ] -[[package]] -name = "python-magic" -version = "0.4.27" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/db/0b3e28ac047452d079d375ec6798bf76a036a08182dbb39ed38116a49130/python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b", size = 14677 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/73/9f872cb81fc5c3bb48f7227872c28975f998f3e7c2b1c16e95e6432bbb90/python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3", size = 13840 }, -] - [[package]] name = "python-multipart" version = "0.0.12" diff --git a/libraries/python/assistant-drive/assistant_drive/drive.py b/libraries/python/assistant-drive/assistant_drive/drive.py index c44dfe2..62d9fd6 100644 --- a/libraries/python/assistant-drive/assistant_drive/drive.py +++ b/libraries/python/assistant-drive/assistant_drive/drive.py @@ -1,6 +1,7 @@ import io import json import logging +import mimetypes import os import pathlib from contextlib import contextmanager @@ -8,14 +9,12 @@ from shutil import rmtree from typing import Any, BinaryIO, ContextManager, Iterator, TypeVar -import magic from context import Context from pydantic import BaseModel, Field # from pydantic_settings import BaseSettings logger = logging.getLogger(__name__) -mime = magic.Magic(mime=True) class DriveConfig(BaseModel): @@ -59,8 +58,8 @@ def __str__(self) -> str: @staticmethod def from_bytes(content: BinaryIO, filename: str, dir: str | None = None) -> "FileMetadata": - content_type = mime.from_buffer(content.read()) - content.seek(0) + mime_type, _ = mimetypes.guess_type(filename) + content_type = mime_type or "application/octet-stream" size = len(content.read()) return FileMetadata(filename=filename, dir=dir, content_type=content_type, size=size) diff --git a/libraries/python/assistant-drive/pyproject.toml b/libraries/python/assistant-drive/pyproject.toml index b58792a..01a78b8 100644 --- a/libraries/python/assistant-drive/pyproject.toml +++ b/libraries/python/assistant-drive/pyproject.toml @@ -9,7 +9,7 @@ dependencies = [ "context>=0.1.0", "pydantic>=2.6.1", "pydantic-settings>=2.5.2", - "python-magic>=0.4.27", + # "python-magic>=0.4.27", # "python-magic-bin>=0.4.14", ] diff --git a/libraries/python/assistant-drive/uv.lock b/libraries/python/assistant-drive/uv.lock index cd91d9c..2a6dc5e 100644 --- a/libraries/python/assistant-drive/uv.lock +++ b/libraries/python/assistant-drive/uv.lock @@ -31,7 +31,6 @@ dependencies = [ { name = "context" }, { name = "pydantic" }, { name = "pydantic-settings" }, - { name = "python-magic" }, ] [package.dev-dependencies] @@ -48,7 +47,6 @@ requires-dist = [ { name = "context", editable = "../context" }, { name = "pydantic", specifier = ">=2.6.1" }, { name = "pydantic-settings", specifier = ">=2.5.2" }, - { name = "python-magic", specifier = ">=0.4.27" }, ] [package.metadata.requires-dev] @@ -573,15 +571,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 }, ] -[[package]] -name = "python-magic" -version = "0.4.27" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/db/0b3e28ac047452d079d375ec6798bf76a036a08182dbb39ed38116a49130/python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b", size = 14677 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/73/9f872cb81fc5c3bb48f7227872c28975f998f3e7c2b1c16e95e6432bbb90/python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3", size = 13840 }, -] - [[package]] name = "pywin32" version = "307"