A Python wrapper for ngrok.
Project description
pyngrok is a Python wrapper for ngrok that manages its own binary, making ngrok available via a convenient Python
API.
ngrok is a reverse proxy tool that opens secure tunnels from public URLs to localhost, perfect
for exposing local web servers, building webhook integrations, enabling SSH access, testing chatbots, demoing from
your own machine, and more, and its made even more powerful with native Python integration through pyngrok.
Installation
pyngrok is available on PyPI and can be installed
using pip:
pip install pyngrok
or conda:
conda install -c conda-forge pyngrok
That's it! pyngrok is now available as a package to our Python projects, and ngrok is now available from
the command line.
Basic Usage
To open a tunnel, use the connect method,
which returns a NgrokTunnel, and this returned object has a reference to the public URL generated by ngrok in its
public_url attribute.
from pyngrok import ngrok
# Open a HTTP tunnel on the default port 80
# <NgrokTunnel: "http://<public_sub>.ngrok.io" -> "http://localhost:80">
http_tunnel = ngrok.connect()
# Open a SSH tunnel
# <NgrokTunnel: "tcp://0.tcp.ngrok.io:12345" -> "localhost:22">
ssh_tunnel = ngrok.connect(22, "tcp")
The connect method takes kwargs as
well, which allows us to pass additional properties that are supported by ngrok.
This package puts the default ngrok binary on our path, so all features of ngrok are
available on the command line.
ngrok http 80
For details on how to fully leverage ngrok from the command line, see ngrok's official documentation.
Documentation
For more advanced usage, pyngrok's official documentation is available at http://pyngrok.readthedocs.io.
ngrok Version Compatibility
pyngrok is compatible with ngrok v2 and v3, but by default it will install v2. To install v3 instead,
set ngrok_version in PyngrokConfig:
from pyngrok import conf
conf.get_default().ngrok_version = "v3"
Python 2.7
The last version of pyngrok that supports Python 2.7 is 4.1.x, so we need to pin pyngrok>=4.1,<4.2 if we still want
to use pyngrok with this version of Python. Its legacy documentation can be found here.
Contributing
If you would like to get involved, be sure to review the Contribution Guide.
Want to contribute financially? If you've found pyngrok useful, a donation would
also be greatly appreciated!
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 Distribution
File details
Details for the file pyngrok-5.2.3.tar.gz.
File metadata
- Download URL: pyngrok-5.2.3.tar.gz
- Upload date:
- Size: 681.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0704c4f67553012deb5d2be473ab1a2822d153b5da83eaac4d518063f12d440c
|
|
| MD5 |
bf4a2d05e7566e23c01b9e8d03e754e0
|
|
| BLAKE2b-256 |
387d2a41f388e0de43217e4add2d099622687f3f33e4ff4f86eae6b8804ab110
|