Open
Conversation
- Add win-64 to pixi workspace platforms - Add x2s3 git dependency pointing to mkitti/x2s3@mkitti-uvloop-optional which makes uvloop a platform-conditional dependency (not required on Windows) - Add packaging>=24.0 as an explicit dependency (was an implicit transitive dep) - Guard Unix-only imports (pwd, grp, fcntl) with try/except ImportError so the server can start on Windows; existing exception handlers in call sites already gracefully degrade when these modules are unavailable Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
mkitti
commented
Apr 14, 2026
|
|
||
| [tool.pixi.pypi-dependencies] | ||
| fileglancer = { path = ".", editable = true } | ||
| x2s3 = { git = "https://github.com/mkitti/x2s3", branch = "mkitti-uvloop-optional" } |
Contributor
Author
There was a problem hiding this comment.
Once JaneliaSciComp/x2s3#17 is merged, we can remove this.
Run install, frontend/backend tests, and frontend build on Windows. Lint and packaging steps remain Linux-only. shell: bash added to run steps so set -eux works consistently across platforms. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- filestore.py: strip \?\ extended-length prefix from os.readlink() output on Windows so symlink target paths match FSP candidates - filestore.py: add AttributeError to except clauses for pwd/grp calls (pwd=None on Windows raises AttributeError, not KeyError) - filestore.py: add AttributeError to _get_user_groups except clauses - database.py: normalize subpath separators to forward slashes in _find_best_fsp_match so subpaths are portable (used in URLs/API) - apps/core.py: fall back to os.path.expanduser for tilde expansion when pwd is unavailable; normalize home dir to forward slashes - apps/core.py: accept Windows drive-letter paths (C:/...) in validate_path_for_shell - sshkeys.py: fall back to os.path.expanduser when pwd unavailable - tests/test_poll.py: skip entire module on Windows via pytest.importorskip (fcntl.flock is Unix-only) - tests/test_filestore.py: accept FileNotFoundError alongside NotADirectoryError for rename test (Windows raises the former); skip chmod permission bit test on Windows - tests/test_apps.py: normalize expected home path to forward slashes - tests/test_database.py: use forward-slash literal for subpath assertion Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
win-64to pixi workspace platforms so fileglancer can be installed and run on Windowspwd,grp,fcntl) withtry/except ImportErrorinserver.py,filestore.py,sshkeys.py,user_context.py, andapps/core.py— existing exception handlers at call sites already degrade gracefully when these modules are unavailablex2s3to mkitti/x2s3@mkitti-uvloop-optional which makesuvloopa platform-conditional dependency (sys_platform != 'win32') — fixes a build failure where pixi tried to compile uvloop from source on Windowspackaging>=24.0as an explicit dependency (was previously only available as an implicit transitive dep on Linux/macOS)Notes
fcntl.flockunavailable) but the core server starts and serves requests normallyx2s3 >=1.1.2once mkitti/x2s3#mkitti-uvloop-optional is merged and published to PyPITest plan
pixi installcompletes without errors on Windowspixi run fileglancer startstarts the server and opens the browser on Windowspixi run -e test test-backend)🤖 Generated with Claude Code