Metadata-Version: 2.4
Name: vuefinder-wsgi
Version: 1.3.3
Summary: WSGI app to use PyFilesystem2 with vuefinder
Author-email: Andreas Bichinger <andreas.bichinger@gmail.com>
Project-URL: Homepage, https://github.com/abichinger/vuefinder-wsgi
Project-URL: Issues, https://github.com/abichinger/vuefinder-wsgi/issues
Keywords: vuefinder,pyfilesystem,file explorer
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Werkzeug
Requires-Dist: fs
Requires-Dist: pathvalidate==3.2.1
Dynamic: license-file

# vuefinder-wsgi

[![PyPI version](https://img.shields.io/pypi/v/vuefinder-wsgi)](https://pypi.org/project/vuefinder-wsgi/)
[![LICENSE](https://img.shields.io/github/license/abichinger/vuefinder-wsgi)](https://github.com/abichinger/vuefinder-wsgi/blob/main/LICENSE)

WSGI app for [vuefinder](https://github.com/n1crack/vuefinder). This is a vuefinder backend to access [PyFilesystem2](https://github.com/pyfilesystem/pyfilesystem2) filesystems.

# Unimplemented

- archive
- unarchive

# Installation

```sh
pip install vuefinder-wsgi
```

# Usage

```python
from vuefinder import VuefinderApp, fill_fs
from fs.memoryfs import MemoryFS
from werkzeug.serving import run_simple

if __name__ == "__main__":
    # Initialize filesystem
    memfs = MemoryFS()
    fill_fs(
        memfs,
        {
            "foo": {
                "file.txt": "Hello World!",
                "foo.txt": "foo bar baz",
                "bar": {"baz": None},
            },
            "foobar": {"empty": None, "hello.txt": "Hello!"},
        },
    )

    # Create and run the WSGI app
    app = VuefinderApp(enable_cors=True)
    app.add_fs("memory", memfs)
    run_simple("127.0.0.1", 8005, app)

```
