Skip to main content

File System Server

Project description

filesystemserver / fss

filesystemserver is a python package, out of the box is just python3 -m http.server 8080, but its superpower is its extensible plugin system.

filesystemserver plugins can be loaded on the fly (or automatically) to serve your file system files/directories as rich content, some examples might include:

  • Serving a directory full of images as an image gallery
  • Serving data stored in json or csv files as a chart or interactive visualization
  • Serving a directory containing git repo with Monaco code editor

filesystemserver installs a CLI wrapper called fss.

Install

pip install filesystemserver

Usage

fss has three subcommands serve (default), install, and update. fss with no arguments will launch a server for the current directory and serves on default port and address (see config section below for changing defaults):

fss

Plugin Installation

# Github project path (git clone)
fss install nicholashaydensmith/gallery.fss

# Or full URL (to any git host endpoint)
fss install https://github.com/nicholashaydensmith/gallery.fss.git

Plugin Update

# Update a specific plugin (git pull)
fss update nicholashaydensmith/gallery.fss

# Update all installed plugins
fss update

fss Configuration

fss is configured via toml ~/.config/fss/config.toml and has the following options:

address = "localhost"
port = 8080
default_plugin = "fss/browser"

Developing a Plugin

The simplest possible plugin is just a git project with an index.html file. Plugins are installed into ~/.config/fss/plugin.

index.html

JavaScript API

fss.toml

Examples

Development

filesystemserver itself strives to be as small and simple as possible, leaving all features and extensibility to plugins.

It also strives to have as few dependencies as possible, currently its only dependency requirement is for python pre 3.11 package tomli.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

filesystemserver-0.0.7-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file filesystemserver-0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for filesystemserver-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a1880a3b3a3932e8a367cf85488e8bdef14fe9c7424435fff1f96b142442e761
MD5 2504b4d4d3e58b13bba439d8f8f4b7be
BLAKE2b-256 d13c9716b67f0c355433b599394d972d7fe0a21373a2025f984155d77990301b

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