Portable single-command file manager and editor (FastAPI + React).
Project description
file-tool
Portable single-command file manager + editor. FastAPI backend, React (Vite + Tailwind + Shadcn UI) frontend, shipped as one Python wheel.
Usage
uvx file-tool # serve the current directory
uvx file-tool /some/dir # serve a specific directory
uvx file-tool --port 9000 --no-open
The browser opens to a file explorer; click files to edit, drag/click Upload to push files into the current directory.
Build from source
# 1. Build the frontend bundle
cd frontend
pnpm install
pnpm build # writes frontend/dist/
# 2. Build the Python wheel (picks up frontend/dist via force-include)
cd ../backend
pip install hatch
hatch build # writes dist/file_tool-*.whl
# 3. Publish
hatch publish # or `twine upload dist/*`
The wheel ships frontend/dist/ as file_tool/static/, so the installed package is self-contained — no internet or Node required at runtime.
API
| Method | Path | Purpose |
|---|---|---|
| GET | /api/list |
List directory (?path=sub/dir) |
| GET | /api/read |
Read text file |
| POST | /api/write |
Save text file |
| POST | /api/upload |
Multipart upload |
| DELETE | /api/delete |
Remove file or directory |
All paths are sandboxed to the directory passed on the CLI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quick_file_server-0.1.0.tar.gz.
File metadata
- Download URL: quick_file_server-0.1.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c11bf98a1c02fd7c695ad38c38db47f0f0af109502b1d9391312e847d4ec7979
|
|
| MD5 |
8bcae2521555c0bc9501a09239b24bc4
|
|
| BLAKE2b-256 |
58eafade4fdf6e116bdfe57f669130f8a45769b40c874fa08dae73193c27cea5
|
File details
Details for the file quick_file_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quick_file_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 640.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4fd5077b30040c9e0108ab06b3275af341882c6ed6beefe682b8f1ad40c9f67
|
|
| MD5 |
ee7b4abcce01d9efd571dc5fecdcd622
|
|
| BLAKE2b-256 |
8eb094d9348a9ac07d5d9022da10f4ebba38707b2f1fb4bb5aeb08563374bf12
|