Storia-AI / sage

Chat with any codebase in under two minutes | Fully local or via third-party APIs
https://sage.storia.ai
Apache License 2.0
1.06k stars 90 forks source link

[BUG] Cannot build Sage on macOS Sequioa 15.0 #92

Open marcjimz opened 1 month ago

marcjimz commented 1 month ago

Describe the bug The package does not build as of today, 10-22 on macOS Sequioa 15.0. I suspect it's an issue with Apple chip, package, and dependencies. Would love to contribute but need a stable release to work off of.

To Reproduce Steps to reproduce the behavior:

  1. Install sage via...

(sage) [marcjimz@marcjimz-m3:~/Documents/Development/sage]: cat /Users/marcjimz/.local/pipx/logs/cmd_2024-10-21_20.26.13_pip_errors.log PIP STDOUT

Collecting git+https://github.com/Storia-AI/sage.git@main Cloning https://github.com/Storia-AI/sage.git (to revision main) to /private/var/folders/j8/3l6kwfpn4ll3ztd_k3_n2yj00000gn/T/pip-req-build-mfte9y5m Resolved https://github.com/Storia-AI/sage.git to commit 1a24c61b47b19c46e874909aae9df101e7e53b5a Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting GitPython==3.1.43 (from sage==0.1.2) Using cached GitPython-3.1.43-py3-none-any.whl.metadata (13 kB) Collecting Pygments==2.18.0 (from sage==0.1.2) Using cached pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB) Collecting anytree==2.12.1 (from sage==0.1.2) Using cached anytree-2.12.1-py3-none-any.whl.metadata (8.1 kB) Collecting cohere==5.9.2 (from sage==0.1.2) Using cached cohere-5.9.2-py3-none-any.whl.metadata (3.4 kB) Collecting configargparse (from sage==0.1.2) Using cached ConfigArgParse-1.7-py3-none-any.whl.metadata (23 kB) Collecting fastapi==0.112.2 (from sage==0.1.2) Using cached fastapi-0.112.2-py3-none-any.whl.metadata (27 kB) Collecting google-ai-generativelanguage==0.6.6 (from sage==0.1.2) Using cached google_ai_generativelanguage-0.6.6-py3-none-any.whl.metadata (5.6 kB) Collecting gradio>=4.26.0 (from sage==0.1.2) Using cached gradio-5.3.0-py3-none-any.whl.metadata (15 kB) Collecting langchain==0.2.16 (from sage==0.1.2) Using cached langchain-0.2.16-py3-none-any.whl.metadata (7.1 kB) Collecting langchain-anthropic==0.1.23 (from sage==0.1.2) Using cached langchain_anthropic-0.1.23-py3-none-any.whl.metadata (2.2 kB) Collecting langchain-cohere==0.2.4 (from sage==0.1.2) Using cached langchain_cohere-0.2.4-py3-none-any.whl.metadata (6.6 kB) Collecting langchain-community==0.2.17 (from sage==0.1.2) Using cached langchain_community-0.2.17-py3-none-any.whl.metadata (2.7 kB) Collecting langchain-core==0.2.41 (from sage==0.1.2) Using cached langchain_core-0.2.41-py3-none-any.whl.metadata (6.2 kB) Collecting langchain-experimental==0.0.65 (from sage==0.1.2) Using cached langchain_experimental-0.0.65-py3-none-any.whl.metadata (1.7 kB) Collecting langchain-google-genai (from sage==0.1.2) Using cached langchain_google_genai-2.0.1-py3-none-any.whl.metadata (3.9 kB) Collecting langchain-nvidia-ai-endpoints==0.2.2 (from sage==0.1.2) Using cached langchain_nvidia_ai_endpoints-0.2.2-py3-none-any.whl.metadata (9.9 kB) Collecting langchain-ollama==0.1.3 (from sage==0.1.2) Using cached langchain_ollama-0.1.3-py3-none-any.whl.metadata (1.8 kB) Collecting langchain-openai==0.1.25 (from sage==0.1.2) Using cached langchain_openai-0.1.25-py3-none-any.whl.metadata (2.6 kB) Collecting langchain-text-splitters==0.2.4 (from sage==0.1.2) Using cached langchain_text_splitters-0.2.4-py3-none-any.whl.metadata (2.3 kB) Collecting langchain-voyageai==0.1.1 (from sage==0.1.2) Using cached langchain_voyageai-0.1.1-py3-none-any.whl.metadata (1.4 kB) Collecting marqo==3.7.0 (from sage==0.1.2) Using cached marqo-3.7.0-py3-none-any.whl.metadata (22 kB) Collecting nbformat==5.10.4 (from sage==0.1.2) Using cached nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB) Collecting openai==1.42.0 (from sage==0.1.2) Using cached openai-1.42.0-py3-none-any.whl.metadata (22 kB) Collecting pinecone==5.0.1 (from sage==0.1.2) Using cached pinecone-5.0.1-py3-none-any.whl.metadata (18 kB) Collecting pinecone-text==0.9.0 (from sage==0.1.2) Using cached pinecone_text-0.9.0-py3-none-any.whl.metadata (10 kB) Collecting python-dotenv==1.0.1 (from sage==0.1.2) Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB) Collecting python-Levenshtein==0.26.0 (from sage==0.1.2) Using cached python_Levenshtein-0.26.0-py3-none-any.whl.metadata (3.7 kB) Collecting requests==2.32.3 (from sage==0.1.2) Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB) Collecting semchunk==2.2.0 (from sage==0.1.2) Using cached semchunk-2.2.0-py3-none-any.whl.metadata (10 kB) Collecting sentence-transformers==3.1.0 (from sage==0.1.2) Using cached sentence_transformers-3.1.0-py3-none-any.whl.metadata (23 kB) Collecting tenacity==8.5.0 (from sage==0.1.2) Using cached tenacity-8.5.0-py3-none-any.whl.metadata (1.2 kB) Collecting tiktoken==0.7.0 (from sage==0.1.2) Using cached tiktoken-0.7.0.tar.gz (33 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting tokenizers==0.19.1 (from sage==0.1.2) Using cached tokenizers-0.19.1.tar.gz (321 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting transformers==4.44.2 (from sage==0.1.2) Using cached transformers-4.44.2-py3-none-any.whl.metadata (43 kB) Collecting tree-sitter==0.22.3 (from sage==0.1.2) Using cached tree-sitter-0.22.3.tar.gz (161 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting tree-sitter-typescript==0.21.2 (from sage==0.1.2) Using cached tree_sitter_typescript-0.21.2-cp38-abi3-macosx_11_0_arm64.whl.metadata (2.3 kB) Collecting tree-sitter-language-pack==0.2.0 (from sage==0.1.2) Using cached tree_sitter_language_pack-0.2.0.tar.gz (35.7 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting voyageai==0.2.3 (from sage==0.1.2) Using cached voyageai-0.2.3-py3-none-any.whl.metadata (2.6 kB) Collecting setuptools (from sage==0.1.2) Using cached setuptools-75.2.0-py3-none-any.whl.metadata (6.9 kB) Collecting six (from anytree==2.12.1->sage==0.1.2) Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB) Collecting boto3<2.0.0,>=1.34.0 (from cohere==5.9.2->sage==0.1.2) Using cached boto3-1.35.45-py3-none-any.whl.metadata (6.7 kB) Collecting fastavro<2.0.0,>=1.9.4 (from cohere==5.9.2->sage==0.1.2) Using cached fastavro-1.9.7.tar.gz (987 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting httpx>=0.21.2 (from cohere==5.9.2->sage==0.1.2) Using cached httpx-0.27.2-py3-none-any.whl.metadata (7.1 kB) Collecting httpx-sse==0.4.0 (from cohere==5.9.2->sage==0.1.2) Using cached httpx_sse-0.4.0-py3-none-any.whl.metadata (9.0 kB) Collecting parameterized<0.10.0,>=0.9.0 (from cohere==5.9.2->sage==0.1.2) Using cached parameterized-0.9.0-py2.py3-none-any.whl.metadata (18 kB) Collecting pydantic>=1.9.2 (from cohere==5.9.2->sage==0.1.2) Using cached pydantic-2.9.2-py3-none-any.whl.metadata (149 kB) Collecting pydantic-core<3.0.0,>=2.18.2 (from cohere==5.9.2->sage==0.1.2) Using cached pydantic_core-2.24.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (6.6 kB) Collecting types-requests<3.0.0,>=2.0.0 (from cohere==5.9.2->sage==0.1.2) Using cached types_requests-2.32.0.20241016-py3-none-any.whl.metadata (1.9 kB) Collecting typing_extensions>=4.0.0 (from cohere==5.9.2->sage==0.1.2) Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB) Collecting starlette<0.39.0,>=0.37.2 (from fastapi==0.112.2->sage==0.1.2) Using cached starlette-0.38.6-py3-none-any.whl.metadata (6.0 kB) Collecting gitdb<5,>=4.0.1 (from GitPython==3.1.43->sage==0.1.2) Using cached gitdb-4.0.11-py3-none-any.whl.metadata (1.2 kB) Collecting google-api-core!=2.0.,!=2.1.,!=2.10.,!=2.2.,!=2.3.,!=2.4.,!=2.5.,!=2.6.,!=2.7.,!=2.8.,!=2.9.,<3.0.0dev,>=1.34.1 (from google-api-core[grpc]!=2.0.,!=2.1.,!=2.10.,!=2.2.,!=2.3.,!=2.4.,!=2.5.,!=2.6.,!=2.7.,!=2.8.,!=2.9.,<3.0.0dev,>=1.34.1->google-ai-generativelanguage==0.6.6->sage==0.1.2) Using cached google_api_core-2.21.0-py3-none-any.whl.metadata (2.8 kB) Collecting google-auth!=2.24.0,!=2.25.0,<3.0.0dev,>=2.14.1 (from google-ai-generativelanguage==0.6.6->sage==0.1.2) Using cached google_auth-2.35.0-py2.py3-none-any.whl.metadata (4.7 kB) Collecting proto-plus<2.0.0dev,>=1.22.3 (from google-ai-generativelanguage==0.6.6->sage==0.1.2) Using cached proto_plus-1.24.0-py3-none-any.whl.metadata (2.2 kB) Collecting protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5 (from google-ai-generativelanguage==0.6.6->sage==0.1.2) Using cached protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl.metadata (541 bytes) Collecting PyYAML>=5.3 (from langchain==0.2.16->sage==0.1.2) Using cached PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.1 kB) Collecting SQLAlchemy<3,>=1.4 (from langchain==0.2.16->sage==0.1.2) Using cached SQLAlchemy-2.0.36-cp313-cp313-macosx_11_0_arm64.whl.metadata (9.7 kB) Collecting aiohttp<4.0.0,>=3.8.3 (from langchain==0.2.16->sage==0.1.2) Using cached aiohttp-3.10.10-cp313-cp313-macosx_11_0_arm64.whl.metadata (7.6 kB) Collecting langsmith<0.2.0,>=0.1.17 (from langchain==0.2.16->sage==0.1.2) Using cached langsmith-0.1.136-py3-none-any.whl.metadata (13 kB) Collecting numpy<2.0.0,>=1.26.0 (from langchain==0.2.16->sage==0.1.2) Using cached numpy-1.26.4.tar.gz (15.8 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting anthropic<1,>=0.30.0 (from langchain-anthropic==0.1.23->sage==0.1.2) Using cached anthropic-0.36.2-py3-none-any.whl.metadata (21 kB) Collecting defusedxml<0.8.0,>=0.7.1 (from langchain-anthropic==0.1.23->sage==0.1.2) Using cached defusedxml-0.7.1-py2.py3-none-any.whl.metadata (32 kB) Collecting pandas>=1.4.3 (from langchain-cohere==0.2.4->sage==0.1.2) Using cached pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (89 kB) Collecting tabulate<0.10.0,>=0.9.0 (from langchain-cohere==0.2.4->sage==0.1.2) Using cached tabulate-0.9.0-py3-none-any.whl.metadata (34 kB) Collecting dataclasses-json<0.7,>=0.5.7 (from langchain-community==0.2.17->sage==0.1.2) Using cached dataclasses_json-0.6.7-py3-none-any.whl.metadata (25 kB) Collecting jsonpatch<2.0,>=1.33 (from langchain-core==0.2.41->sage==0.1.2) Using cached jsonpatch-1.33-py2.py3-none-any.whl.metadata (3.0 kB) Collecting packaging<25,>=23.2 (from langchain-core==0.2.41->sage==0.1.2) Using cached packaging-24.1-py3-none-any.whl.metadata (3.2 kB) Collecting pillow<11.0.0,>=10.0.0 (from langchain-nvidia-ai-endpoints==0.2.2->sage==0.1.2) Using cached pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (9.2 kB) Collecting ollama<1,>=0.3.0 (from langchain-ollama==0.1.3->sage==0.1.2) Using cached ollama-0.3.3-py3-none-any.whl.metadata (3.8 kB) Collecting urllib3<2.0.0,>=1.26.0 (from marqo==3.7.0->sage==0.1.2) Using cached urllib3-1.26.20-py2.py3-none-any.whl.metadata (50 kB) Collecting fastjsonschema>=2.15 (from nbformat==5.10.4->sage==0.1.2) Using cached fastjsonschema-2.20.0-py3-none-any.whl.metadata (2.1 kB) Collecting jsonschema>=2.6 (from nbformat==5.10.4->sage==0.1.2) Using cached jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB) Collecting jupyter-core!=5.0.*,>=4.12 (from nbformat==5.10.4->sage==0.1.2) Using cached jupyter_core-5.7.2-py3-none-any.whl.metadata (3.4 kB) Collecting traitlets>=5.1 (from nbformat==5.10.4->sage==0.1.2) Using cached traitlets-5.14.3-py3-none-any.whl.metadata (10 kB) Collecting anyio<5,>=3.5.0 (from openai==1.42.0->sage==0.1.2) Using cached anyio-4.6.2.post1-py3-none-any.whl.metadata (4.7 kB) Collecting distro<2,>=1.7.0 (from openai==1.42.0->sage==0.1.2) Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB) Collecting jiter<1,>=0.4.0 (from openai==1.42.0->sage==0.1.2) Using cached jiter-0.6.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.2 kB) Collecting sniffio (from openai==1.42.0->sage==0.1.2) Using cached sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB) Collecting tqdm>4 (from openai==1.42.0->sage==0.1.2) Using cached tqdm-4.66.5-py3-none-any.whl.metadata (57 kB) Collecting pinecone-client==5.0.1 (from pinecone==5.0.1->sage==0.1.2) Using cached pinecone_client-5.0.1-py3-none-any.whl.metadata (19 kB) Collecting mmh3<5.0.0,>=4.1.0 (from pinecone-text==0.9.0->sage==0.1.2) Using cached mmh3-4.1.0.tar.gz (26 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting nltk<4.0.0,>=3.6.5 (from pinecone-text==0.9.0->sage==0.1.2) Using cached nltk-3.9.1-py3-none-any.whl.metadata (2.9 kB) Collecting wget<4.0,>=3.2 (from pinecone-text==0.9.0->sage==0.1.2) Using cached wget-3.2.zip (10 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting Levenshtein==0.26.0 (from python-Levenshtein==0.26.0->sage==0.1.2) Using cached levenshtein-0.26.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (3.2 kB) Collecting charset-normalizer<4,>=2 (from requests==2.32.3->sage==0.1.2) Using cached charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (34 kB) Collecting idna<4,>=2.5 (from requests==2.32.3->sage==0.1.2) Using cached idna-3.10-py3-none-any.whl.metadata (10 kB) Collecting certifi>=2017.4.17 (from requests==2.32.3->sage==0.1.2) Using cached certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB) Collecting mpire[dill] (from semchunk==2.2.0->sage==0.1.2) Using cached mpire-2.10.2-py3-none-any.whl.metadata (14 kB) INFO: pip is looking at multiple versions of sentence-transformers to determine which version is compatible with other requirements. This could take a while.

PIP STDERR

Running command git clone --filter=blob:none --quiet https://github.com/Storia-AI/sage.git /private/var/folders/j8/3l6kwfpn4ll3ztd_k3_n2yj00000gn/T/pip-req-build-mfte9y5m ERROR: Ignored the following versions that require a different python version: 0.21.0 Requires-Python <3.12,>=3.8; 0.3.2 Requires-Python >=3.8,<3.11; 0.3.3 Requires-Python >=3.8,<3.11; 0.3.4 Requires-Python >=3.8,<3.11; 0.4.0 Requires-Python >=3.8,<3.11; 0.4.1 Requires-Python >=3.8,<3.11; 0.5.12 Requires-Python >=3.7,<3.12; 0.5.13 Requires-Python >=3.7,<3.12; 0.5.14 Requires-Python >=3.7,<3.13; 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 1.26.0 Requires-Python <3.13,>=3.9; 1.26.1 Requires-Python <3.13,>=3.9; 2.2.5 Requires-Python >=3.9,<3.13; 2.2.5rc2 Requires-Python >=3.9,<3.13; 2.3.0.dev1 Requires-Python >=3.9,<3.13; 3.0.0 Requires-Python <3.13,>=3.8; 3.0.0 Requires-Python >=3.8,<3.13; 3.0.0.dev1 Requires-Python >=3.9,<3.13; 3.0.0.dev10 Requires-Python >=3.8,<3.13; 3.0.0.dev2 Requires-Python >=3.9,<3.13; 3.0.0.dev3 Requires-Python >=3.9,<3.13; 3.0.0.dev4 Requires-Python >=3.9,<3.13; 3.0.0.dev5 Requires-Python >=3.9,<3.13; 3.0.0.dev6 Requires-Python >=3.9,<3.13; 3.0.0.dev7 Requires-Python >=3.8,<3.13; 3.0.0.dev8 Requires-Python >=3.8,<3.13; 3.0.0.dev9 Requires-Python >=3.8,<3.13; 3.0.0rc3 Requires-Python >=3.8,<3.13; 3.0.1 Requires-Python <3.13,>=3.8; 3.0.1 Requires-Python >=3.8,<3.13; 3.0.2 Requires-Python <3.13,>=3.8; 3.0.2 Requires-Python >=3.8,<3.13; 3.0.3 Requires-Python <3.13,>=3.8; 3.0.3 Requires-Python >=3.8,<3.13; 3.1.0.dev1 Requires-Python >=3.8,<3.13; 4.0.0 Requires-Python >=3.7,<3.11 ERROR: Could not find a version that satisfies the requirement torch>=1.11.0 (from sentence-transformers) (from versions: none) ERROR: No matching distribution found for torch>=1.11.0

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Setup (please complete the following information):

Additional context Add any other context about the problem here.

iuliaturc commented 1 month ago

Thanks @marcjimz for flagging this issue! I'll mark this issue as hacktoberfest to see if anyone with a MacOS SEquoia 15.0 machine grabs it in the next day, otherwise I'll find a VM myself and dig into it.

srirajk commented 3 weeks ago

I have the same issue as well.

Kiryushin-Andrey commented 3 weeks ago

Same here - MacOS version Sonoma 14.5, Python version 3.10.3 (tried also with 3.7.9 and 3.9.19).

marcjimz commented 2 weeks ago

Any update for this?

vanities commented 2 weeks ago

Same here, but with Python 3.13.0 on Sequoia

iuliaturc commented 2 weeks ago

Thanks everyone for checking in. Will look into this tomorrow (November 7).

iuliaturc commented 2 weeks ago

Hi everyone, it looks like Sequoia comes with Python 3.13, which doesn't support some of the libraries we depend on (e.g. torch). We'll move away from pipx to a regular pip installation. You can find updated installation instructions in our documentation -- hard refresh if you still see the old pipx docs.

iuliaturc commented 2 weeks ago

@marcjimz @srirajk @Kiryushin-Andrey @vanities would you mind trying again with the updated installation instructions?

srirajk commented 1 week ago

I could not find the instructions and did try hard refresh as well but did not work.

vanities commented 1 week ago

same ^, still pipx