Python module to, serve files in physical memory to localhost and tunnel to a public endpoint
Project description
Versions Supported
Language Stats
Repo Stats
Code Stats
Activity
Build Status
FileWare
Set up a file server to access files in local machine from anywhere on the internet.
Setup
Environment Variables:
username
: Username to confirm identity. Defaults to user profile name.password
: Password for authentication.port
: Port number to serve. Defaults to4443
.host_path
: Path which is to be hosted. Defaults tohome
page.
To host on a public facing URL:
ngrok_auth
: Ngrok token.
Usage
python3 -m pip install fileware
With Threading
from threading import Thread
import fileware
fileware.models.env.port = 4568
fileware.models.env.host_dir = "movies"
if __name__ == '__main__':
# Initiates the connection and creates a new process if ngrok auth token is valid.
response = fileware.initiate_connection()
print(response.url)
# Runs the server in a thread alongside starting the ngrok process created previously.
thread = Thread(target=fileware.serve,
kwargs={'http_server': response.server, 'process': response.process})
thread.start()
# Do your own task here
# Shutdown the server and join the thread which spun the server up.
fileware.shutdown(http_server=response.server, process=response.process)
thread.join(2e+1)
Without Threading - File Server will terminate only when the main process is killed.
import fileware
if __name__ == '__main__':
response = fileware.initiate_connection()
print(response.url)
fileware.serve(http_server=response.server,process=response.process)
Env vars can be loaded by placing a .env file in current working directory.
The
serve
function can also take arguments which can be used to override env vars.
Pypi Package
https://pypi.org/project/fileware/
Coding Standards
Docstring format: Google
Styling conventions: PEP 8
Clean code with pre-commit hooks: flake8
and
isort
Linting
PreCommit
will ensure linting, and the doc creation are run on every commit.
Requirement
pip install --no-cache pre-commit recommonmark sphinx==5.1.1
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/fileware/
Runbook
https://thevickypedia.github.io/fileware/
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
File details
Details for the file fileware-1.3-py3-none-any.whl
.
File metadata
- Download URL: fileware-1.3-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37bb0784d14fd60ed7a252c8259a8a4730f48797faa3ff3edfac0c008fdccbf4 |
|
MD5 | 9c41d293e1bfe57a7b19d0aca413ed4b |
|
BLAKE2b-256 | 49d154cd69c68fe348fd6eb62f3394b5c228544215b22708cb67321a871a360e |