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.env.port = 4568
fileware.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 Sivanandha 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 fileware-1.2.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86291c2d4fed8862685a0821ec227cdcc1b7e0e4e2b5f443bc68b12c0d5de5bc |
|
MD5 | 09d45f6e783e655254f43f395b8d6da5 |
|
BLAKE2b-256 | cabacd2b766959ff15427e381d0cb8e287f921bd8778ef546fb2a63d38a1082c |