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.6-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for filesystemserver-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0a265bb2778c2e33147146a8464570b458d86f220e8e2d58040d592f3f1bbcbe
MD5 fe126fe0c14b3ddbb8f747f31f12cb32
BLAKE2b-256 54f935061d54a1dfc8ba5dd324b2d82568cc6db2ee4192fad8c81f13b983ceef

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