Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quick_file_server-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quick_file_server-0.1.0-py3-none-any.whl (640.9 kB view details)

Uploaded Python 3

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

Hashes for quick_file_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c11bf98a1c02fd7c695ad38c38db47f0f0af109502b1d9391312e847d4ec7979
MD5 8bcae2521555c0bc9501a09239b24bc4
BLAKE2b-256 58eafade4fdf6e116bdfe57f669130f8a45769b40c874fa08dae73193c27cea5

See more details on using hashes here.

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

Hashes for quick_file_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4fd5077b30040c9e0108ab06b3275af341882c6ed6beefe682b8f1ad40c9f67
MD5 ee7b4abcce01d9efd571dc5fecdcd622
BLAKE2b-256 8eb094d9348a9ac07d5d9022da10f4ebba38707b2f1fb4bb5aeb08563374bf12

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page