pyngrok

A Python wrapper for ngrok

MIT License

Downloads
365.9K
Stars
421
Committers
9

Bot releases are hidden (Show)

pyngrok - 5.1.0

Published by alexdlaird about 3 years ago

Removed

  • reconnect_session_retries from PyngrokConfig, instead relying on ngrok's own built-in retry mechanism on startup fails.

Fixed

  • Logging improvements.
  • Documentation improvements.
  • Test improvements.
pyngrok -

Published by alexdlaird about 3 years ago

Added

  • Darwin 64-bit ARM support, as this was added to ngrok itself.

Removed

  • Darwin 386 support, as this was removed from ngrok itself.

Fixed

  • Build improvements.
  • Documentation improvements.
pyngrok - 5.0.5

Published by alexdlaird over 3 years ago

Added

  • reconnect_session_retries is a new configuration parameter in PyngrokConfig, which determines the max number of times to retry establishing a new session with ngrok if the connection fails on startup.

Fixed

  • Build improvements.
  • Test improvements.
pyngrok - 5.0.4

Published by alexdlaird over 3 years ago

Fixed

  • Build improvements.
pyngrok - 5.0.3

Published by alexdlaird over 3 years ago

Fixed

  • Build improvements.
  • Test improvements.
pyngrok - 5.0.2

Published by alexdlaird over 3 years ago

Changed

  • Migrated build from Travis CI to GitHub Actions.

Fixed

  • Errors when bind_tls was set to False.
  • Documentation improvements.
pyngrok -

Published by alexdlaird almost 4 years ago

Added

  • Documentation improvements.

Fixed

  • Build improvements.
pyngrok - 5.0.0

Published by alexdlaird almost 4 years ago

Added

Changed

  • ngrok.connect() now returns a NgrokTunnel instead of a str of the public URL. The returned NgrokTunnel has a reference to the previously returned public_url in it.
  • ngrok.connect() changed its signature, renamed kwarg port (the first arg) to addr to match ngrok's documentation.
  • ngrok.connect() changed its signature, the options kwarg should now be unpacked, pass each option directly to the method as a kwarg.
  • NgrokTunnel.__init__()'s params (data, pyngrok_config, and api_url) are now required.
  • ngrok.disconnect() no longer installs and starts ngrok, it simply returns if the ngrok process has not been started.
  • Renamed conf.DEFAULT_PYNGROK_CONFIG to conf._default_pyngrok_config (use conf.set_default() instead).
  • Renamed ngrok.ensure_ngrok_installed() to ngrok.install_ngrok().
  • ngrok.install_ngrok() (formerly ngrok.ensure_ngrok_installed()) changed its signature, now takes a pyngrok_config (optional) instead of ngrok_path as its only arg.
  • Renamed process._ensure_path_ready() to process._validate_path().

Removed

  • Support for Python 2.7. To use pyngrok with Python 2.7, pin pyngrok>=4.1,<4.2.
  • return_ngrok_tunnel from ngrok.connect(). The kwarg can still be passed, but it will do nothing, it now always uses the True behavior.
pyngrok -

Published by alexdlaird about 4 years ago

The next release, 5.0.0, contains breaking changes, including dropping support for Python 2.7. 4.2.x is meant to ease
migration between 4.1.x and 5.0.0 and should not be pinned, as it will not be supported after 5.0.0 is released. To
prepare for these breaking changes, see the changelog below. To avoid these breaking changes altogether, or if
Python 2.7 support is still needed, pin pyngrok>=4.1,<4.2.

Added

  • ngrok.connect() replaced options with kwargs, maintained backwards compatibility. Support for passing options as a dict will be removed in 5.0.0, unpack the dict as kwargs.
  • ngrok.connect() added return_ngrok_tunnel to its args, which defaults to False for backwards compatibility. This will default to True in 5.0.0, and the flag will be removed.
  • conf.get_default(), replacing the need to directly reference conf.DEFAULT_PYNGROK_CONFIG, which will be removed in 5.0.0.
pyngrok -

Published by alexdlaird about 4 years ago

Added

  • ngrok.get_version() to get ngrok and pyngrok versions in a tuple.
  • refresh_metrics() to NgrokTunnel.
  • Documentation improvements.
  • Logging improvements.
pyngrok -

Published by alexdlaird about 4 years ago

Added

Fixed

  • ngrok.api_request()'s params is now properly documented as a dict instead of a list.
  • Trimmed trailing line return from ngrok logs.
pyngrok - 4.1.12

Published by alexdlaird about 4 years ago

Added

  • Validation for log_format in ngrok's config.yaml, as pyngrok depends on key/value logs.
  • Validation for log_level in ngrok's config.yaml, as pyngrok depends on the level being either info or debug.
pyngrok -

Published by alexdlaird about 4 years ago

Fixed

  • Build improvements.
  • Documentation improvements.
pyngrok - 4.1.10

Published by alexdlaird about 4 years ago

Fixed

  • When bind_tls is True, the public_url return from ngrok.connect() is now https.
pyngrok - 4.1.9

Published by alexdlaird about 4 years ago

Fixed

  • The thread that monitors ngrok logs now maintains its own alive state instead of modifying PyngrokConfig.monitor_thread.
  • The thread that monitors ngrok logs is now daemonic, so it no longer blocks the Python process from terminating.
  • Documentation improvements.
pyngrok - 4.1.8

Published by alexdlaird about 4 years ago

Added

  • DEFAULT_PYNGROK_CONFIG variable to conf module, used when pyngrok_config is not passed to ngrok methods.

Fixed

  • Zombie processes remaining in certain cases when ngrok exited early or was terminated externally.
pyngrok - 4.1.7

Published by alexdlaird about 4 years ago

Fixed

  • TypeError exception when a NgrokLog parses a string that contains a missing or malformed lvl. Default is now NOTSET in such cases.
pyngrok - 4.1.6

Published by alexdlaird over 4 years ago

Added

  • start_new_process is a new configuration parameter in PyngrokConfig, which will be passed to subprocess.Popen when ngrok is started. Requires Python 3 and POSIX.

Fixed

  • Documentation improvements in integration examples.
pyngrok - 4.1.5

Published by alexdlaird over 4 years ago

Fixed

  • Appears ngrok itself has a bug around not properly escaping characters in tunnel names, so avoiding this bug for fileserver tunnels by substituting their name.
pyngrok - 4.1.4

Published by alexdlaird over 4 years ago

Fixed

  • Inconsistent support for a local directory (ex. file:///) being passed as ngrok.connect()'s port. This is valid, and ngrok will use its built-in fileserver for the tunnel.