Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brew installed version fails while rendering the markdown file #112

Open
kracekumar opened this issue Jan 2, 2025 · 2 comments
Open

Brew installed version fails while rendering the markdown file #112

kracekumar opened this issue Jan 2, 2025 · 2 comments

Comments

@kracekumar
Copy link

Installation

  • I installed the CLI tool via brew as mentioned in the README. Here is the trace
brew tap textualize/homebrew
                                      brew install frogmouth
==> Tapping textualize/homebrew
Cloning into '/opt/homebrew/Library/Taps/textualize/homebrew-homebrew'...
remote: Enumerating objects: 47, done.
remote: Counting objects: 100% (47/47), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 47 (delta 22), reused 41 (delta 16), pack-reused 0 (from 0)
Receiving objects: 100% (47/47), 17.74 KiB | 672.00 KiB/s, done.
Resolving deltas: 100% (22/22), done.
Tapped 4 formulae (18 files, 43.6KB).
==> Downloading https://formulae.brew.sh/api/formula.jws.json
##################################################################################################################################################################################### 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
##################################################################################################################################################################################### 100.0%
==> Fetching dependencies for textualize/homebrew/frogmouth: ca-certificates
==> Fetching ca-certificates
==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/manifests/2024-12-31
##################################################################################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/blobs/sha256:414ada64e60703cd4e9aa97f36e29c1a7ec73d60862b5219b8110731fcfd2cb7
##################################################################################################################################################################################### 100.0%
==> Fetching textualize/homebrew/frogmouth
==> Downloading https://files.pythonhosted.org/packages/db/4d/3970183622f0330d3c23d9b8a5f52e365e50381fd484d08e3285104333d3/anyio-4.3.0.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/71/da/e94e26401b62acd6d91df2b52954aceb7f561743aa5ccc32152886c76c96/certifi-2024.2.2.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/63/ad/c98ecdbfe04417e71e143bf2f2fb29128e4787d78d1cedba21bd250c7e7a/httpcore-0.17.3.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/f8/2a/114d454cb77657dbf6a293e69390b96318930ace9cd96b51b99682493276/httpx-0.24.1.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/bf/3f/ea4b9117521a1e9c50344b909be7886dd00a519552724809bb1f486986c2/idna-3.6.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/b4/db/61960d68d5c39ff0dd48cb799a39ae4e297f6e9b96bf2f8da29d897fba0c/mdit_py_plugins-0.4.0.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565/pygments-2.17.2.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/b3/01/c954e134dc440ab5f96952fe52b4fdc64225530320a910473c1fe270d9aa/rich-13.7.1.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/5c/9e/000c6910f8390cdec827e738e52c6ab21501d7ce7b18d31293dd53879db8/textual-0.43.2.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/16/3a/0d26ce356c7465a19c9ea8814b960f8a36c3b0d07c323176620b7b483e44/typing_extensions-4.10.0.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/2a/b9/0e6e6f19fb75cf5e1758f4f33c1256738f718966700cffc0fde2f966218b/xdg-6.0.0.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/3e/ef/65da662da6f9991e87f058bc90b91a935ae655a16ae5514660d6460d1298/zipp-3.18.1.tar.gz
##################################################################################################################################################################################### 100.0%
==> Downloading https://files.pythonhosted.org/packages/75/2e/747826187029cd9fae0761573d5ebf3566417b0bc4d8ed1caafa9bd8819f/frogmouth-0.9.2.tar.gz
##################################################################################################################################################################################### 100.0%
==> Installing frogmouth from textualize/homebrew
==> Installing dependencies for textualize/homebrew/frogmouth: ca-certificates
==> Installing textualize/homebrew/frogmouth dependency: ca-certificates
==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/manifests/2024-12-31
Already downloaded: /Users/kracekumar/Library/Caches/Homebrew/downloads/c41a485689e1507291617fb1f0e2322a087064960638fd050663df867bf53928--ca-certificates-2024-12-31.bottle_manifest.json
==> Pouring ca-certificates--2024-12-31.all.bottle.tar.gz
==> Regenerating CA certificate bundle from keychain, this may take a while...
🍺  /opt/homebrew/Cellar/ca-certificates/2024-12-31: 4 files, 233.9KB
==> Installing textualize/homebrew/frogmouth
==> python3 -m venv --system-site-packages --without-pip /opt/homebrew/Cellar/frogmouth/0.9.2/libexec
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--anyio-20250102-95415-s66zse/anyio-4.3.0
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--certifi-20250102-95415-3yjpw0/certifi-2024.2.2
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--h11-20250102-95415-kzykp/h11-0.14.0
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--httpcore-20250102-95415-b3t9o8/httpcore-0.17.3
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--httpx-20250102-95415-quy7z8/httpx-0.24.1
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--idna-20250102-95415-85re4a/idna-3.6
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--importlib-metadata-20250102-95415-i2ijfc/importlib_metadata-7.0.2
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--linkify-it-py-20250102-95415-u9adfo/linkify-it-py-2.0.3
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--markdown-it-py-20250102-95415-i53pgg/markdown-it-py-3.0.0
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--mdit-py-plugins-20250102-95415-u03mhs/mdit_py_plugins-0.4.0
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--mdurl-20250102-95415-3r9v8z/mdurl-0.1.2
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--Pygments-20250102-95415-k8cvq2/pygments-2.17.2
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--rich-20250102-95415-7xaliy/rich-13.7.1
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--sniffio-20250102-95415-jqb5s0/sniffio-1.3.1
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--textual-20250102-95415-oqu63/textual-0.43.2
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--typing-extensions-20250102-95415-65gg38/typing_extensions-4.10.0
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--uc-micro-py-20250102-95415-fvwvlz/uc-micro-py-1.0.3
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--xdg-20250102-95415-xc5q89/xdg-6.0.0
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth--zipp-20250102-95415-hr5kn5/zipp-3.18.1
==> python3 -m pip --python=/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/bin/python install /private/tmp/frogmouth-20250102-95415-yldnrj/frogmouth-0.9.2
🍺  /opt/homebrew/Cellar/frogmouth/0.9.2: 1,076 files, 9.2MB, built in 33 seconds
==> Running `brew cleanup frogmouth`.....
  • As you can see the CLI was successfully installed.

Failure

  • When I run the command to render the markdown file, the CLI raises python exception
  • Here is na example
frogmouth open-webui/README.md
Traceback (most recent call last):
  File "/opt/homebrew/bin/frogmouth", line 5, in <module>
    from frogmouth.app.app import run
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/frogmouth/app/__init__.py", line 3, in <module>
    from .app import run
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/frogmouth/app/app.py", line 6, in <module>
    from textual import __version__ as textual_version  # pylint: disable=no-name-in-module
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/textual/__init__.py", line 13, in <module>
    from ._work_decorator import work
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/textual/_work_decorator.py", line 18, in <module>
    FactoryParamSpec = ParamSpec("FactoryParamSpec")
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/typing_extensions.py", line 1549, in __new__
    _set_default(paramspec, default)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/typing_extensions.py", line 1412, in _set_default
    type_param.__default__ = None
    ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: attribute '__default__' of 'typing.ParamSpec' objects is not writable

Extra info for debugging

$python3 --version
Python 3.13.1
$frogmouth --version
Traceback (most recent call last):
  File "/opt/homebrew/bin/frogmouth", line 5, in <module>
    from frogmouth.app.app import run
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/frogmouth/app/__init__.py", line 3, in <module>
    from .app import run
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/frogmouth/app/app.py", line 6, in <module>
    from textual import __version__ as textual_version  # pylint: disable=no-name-in-module
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/textual/__init__.py", line 13, in <module>
    from ._work_decorator import work
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/textual/_work_decorator.py", line 18, in <module>
    FactoryParamSpec = ParamSpec("FactoryParamSpec")
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/typing_extensions.py", line 1549, in __new__
    _set_default(paramspec, default)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/typing_extensions.py", line 1412, in _set_default
    type_param.__default__ = None
    ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: attribute '__default__' of 'typing.ParamSpec' objects is not writable
$which frogmouth
/opt/homebrew/bin/frogmouth
$pyenv versions
\* system (set by /Users/kracekumar/.pyenv/version)
  3.11.11
  3.12.0
  3.13.0

Let me know if you need any information.

Bottom line: Frogmouth installed via brew on Python 3.13.1 is broken.

@oestrada1001
Copy link

oestrada1001 commented Jan 9, 2025

I'm having the same issue. Exact same steps. I used brew to install frogmouth.

➜ python3 --version
Python 3.10.6
➜ frogmouth --version
Traceback (most recent call last):
  File "/usr/local/bin/frogmouth", line 5, in <module>
    from frogmouth.app.app import run
  File "/usr/local/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/frogmouth/app/__init__.py", line 3, in <module>
    from .app import run
  File "/usr/local/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/frogmouth/app/app.py", line 6, in <module>
    from textual import __version__ as textual_version  # pylint: disable=no-name-in-module
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/textual/__init__.py", line 13, in <module>
    from ._work_decorator import work
  File "/usr/local/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/textual/_work_decorator.py", line 18, in <module>
    FactoryParamSpec = ParamSpec("FactoryParamSpec")
  File "/usr/local/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/typing_extensions.py", line 1549, in __new__
    _set_default(paramspec, default)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/frogmouth/0.9.2/libexec/lib/python3.13/site-packages/typing_extensions.py", line 1412, in _set_default
    type_param.__default__ = None
    ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: attribute '__default__' of 'typing.ParamSpec' objects is not writable
➜ which frogmouth
/usr/local/bin/frogmouth
➜ pyenv versions
  system
* 3.10.16 (set by /Users/oestrada/.pyenv/version)

@oestrada1001
Copy link

@kracekumar Found temporary solution.

The issue is with [email protected]. The bug has been fixed already and needs to be updated to any version after [email protected]^

I ended up manually editing the brew formula and updating the typing_extension verision for frogmouth on my local.

Steps:

  1. Run brew edit frogmouth
  2. Find and Replace the typing_extensions version 4.10with:
    2a. url: https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz
    2b: sha256: 1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
  3. Save File
  4. Run brew reinstall frogmouth
  5. Run frogmouth gh textualize/textual

If this works, you should see:
Screenshot 2025-01-09 at 8 34 50 AM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants