`burr` fails to start when the Python path has a space in it
Maintainers usually reply within 5 days
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
Research direction
The failure comes from _run_server in burr/cli/__main__.py, which builds the uvicorn command as one string starting with sys.executable, and from _command, which splits that string on spaces. Reproduce by creating a venv under a directory with a space and running burr --no-open. Done when the server starts from that path and the command is passed as an argument list instead of being split.
Written by the indexing model from the issue text.
Description
burr crashes on startup if the venv's path contains a space. Regression since 0.42.0: with an activated venv it works on 0.40.2 and fails on 0.43.0.
Current behavior
My venv is under ~/Documents/Apache burr/, and burr fails before the server starts.
Stack Traces
FileNotFoundError: [Errno 2] No such file or directory: '/Users/enekoretolazaardanaz/Documents/Apache'
Steps to replicate behavior
mkdir "/tmp/dir with space" && cd "/tmp/dir with space"python -m venv .venv && .venv/bin/pip install "apache-burr[start]".venv/bin/burr --no-open
Library & System Information
apache-burr 0.43.0, Python 3.13, macOS
Expected behavior
The server starts, same as from a path without spaces.
Additional context
_run_server in burr/cli/__main__.py builds the uvicorn command as a string starting with sys.executable, and _command splits it on spaces, so the path gets cut. It started with #745, which switched from plain uvicorn to sys.executable -m uvicorn (so it can work without activating the venv).
I have a fix and can open a PR.
- Dominant language
- Python
- Stars
- 2.6k
- Forks
- 209
- Avg merge
- 5d 21h
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/burr
-
status/needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
apache/burr#809 · 2 comments ·
Maintainers usually reply within 5 days
-
Streaming Event type, type hint, should support union typePossibly taken @mvanhorn claimed this 192 days ago. Openarea/streaming area/typing good first issue help wanted kind/bug priority/high
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
apache/burr#607 · 12 comments ·
Maintainers usually reply within 5 days
-
area/storage area/ui help wanted kind/documentation priority/low
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
apache/burr#524 · 11 comments ·
Maintainers usually reply within 5 days
-
Add documentation on how to run the Burr UI serverMay be free again @iamSerafinnn claimed this 131 days ago, and no pull request is open. Openarea/ui good first issue kind/documentation priority/low
Difficulty 2/5 Half a day Newbie friendliness 68/100
apache/burr#272 · 5 comments ·
Maintainers usually reply within 5 days
-
LangfuseBridge leaks root span and session context when stream_result failsPossibly taken @digit50 claimed this 1 day ago. Openstatus/needs-triage
Difficulty 3/5 1-2 days Newbie friendliness 62/100
Maintainers usually reply within 5 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ok-oldking/ok-wuthering-waves#1785 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
healthchecks/healthchecks#1349 ·
-
deployment release-lag
Difficulty 1/5 Under an hour Newbie friendliness 68/100
nolte/kamerplanter#2374 ·
Maintainers usually reply within 1 day
-
bug v1 v2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
modelcontextprotocol/python-sdk#3725 ·
Maintainers usually reply within 1 day
-
batchterms() drops queries without a similar() clause, misaligning results with inputsPossibly taken @MohammadHijjawi97 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day