Versions Supported
Language Stats
Repo Stats
Code Stats
Activity
Build Status
Set up a file server to access files in local machine from anywhere on the internet.
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.
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.
https://pypi.org/project/fileware/
Docstring format: Google
Styling conventions: PEP 8
Clean code with pre-commit hooks: flake8
and
isort
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
https://pypi.org/project/fileware/
https://thevickypedia.github.io/fileware/
© Vignesh Rao
Licensed under the MIT License