Python module designed to streamline interactions with filebrowser
Project description
Deployments
PyFileBrowser
Introducing pyfilebrowser
, a Python library designed to streamline interactions with filebrowser
This wrapper simplifies integration and automation tasks, enabling seamless interaction with your local file system via filebrowser's web interface.
All the required configuration, settings, and user profiles are loaded using .env
files. This provides a more centralized
way of handling the configuration and initialization.
pyfilebrowser
automatically downloads the system specific executable during startup.
Download custom-built executables
Additionally, custom source (to download binaries) can be configured by specifying the environment variables,
GIT_OWNER
and GIT_REPO
For this custom source feature to work, the executable should be uploaded to releases as assets,
and follow the naming convention below.
asset naming convention:
${operating system}-{architecture}-filebrowser-{extension}
example:darwin-amd64-filebrowser.tar.gz
Kick Off
Install
python -m pip install pyfilebrowser
Initiate
import pyfilebrowser
if __name__ == '__main__':
browser = pyfilebrowser.FileBrowser()
browser.start()
Environment Variables
Env vars can either be loaded from .env
files or directly passed during object init.
.env
files
.config.env
- Loads the server's default configuration. Reference: config.user*.env
- Loads each user's profile specific configuration. Reference: users
Multiple user profiles can be loaded using .user1.env
, .user2.env
and so on.
User profile's permissions are automatically set based on the admin
flag.
Refer samples directory for sample .env
files. For nested configuration settings, refer the runbook
Any configuration changes made in the UI will be lost, unless backed up manually.
Changes should always go through the.env
files.
[OR]
from pyfilebrowser import FileBrowser
if __name__ == '__main__':
file_browser = FileBrowser(
user_profiles=[
{"authentication": {"username": "admin", "password": "admin", "admin": True}},
{"authentication": {"username": "user123", "password": "pwd456", "admin": False}}
]
)
file_browser.start()
Object level instantiation might be complex for configuration settings. So it is better to use
.env
files instead.
Coding Standards
Docstring format: Google
Styling conventions: PEP 8
and isort
Release Notes
Requirement
pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
Linting
pre-commit
will ensure linting, and generate runbook
Requirement
pip install sphinx==5.1.1 pre-commit recommonmark
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/pyfilebrowser/
Runbook
https://thevickypedia.github.io/pyfilebrowser/
License & copyright
© Vignesh Rao
Licensed under the MIT License
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 Distributions
Built Distribution
Hashes for pyfilebrowser-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f33a4a8674f89612640eb7441c85dcaf223f3262af6d6bdea1d387c64514567 |
|
MD5 | fe7c16cc9042460e3a535fca0a406a24 |
|
BLAKE2b-256 | 9972c5f8c2b9b59f8cfb2c0de455782ed6f188f22e58fcb1b9b14cb26286a7ed |