Skip to main content

TCP port monitoring utilities

Project description

portend

por·tend pôrˈtend/ verb

be a sign or warning that (something, especially something momentous or calamitous) is likely to happen.

Usage

Use portend to monitor TCP ports for bound or unbound states.

For example, to wait for a port to be occupied, timing out after 3 seconds:

portend.occupied('www.google.com', 80, timeout=3)

Or to wait for a port to be free, timing out after 5 seconds:

portend.free('::1', 80, timeout=5)

The portend may also be executed directly. If the function succeeds, it returns nothing and exits with a status of 0. If it fails, it prints a message and exits with a status of 1. For example:

python -m portend localhost:31923 free
(exits immediately)

python -m portend -t 1 localhost:31923 occupied
(one second passes)
Port 31923 not bound on localhost.

Portend also exposes a find_available_local_port for identifying a suitable port for binding locally:

port = portend.find_available_local_port()
print(port, "is available for binding")

1.3

Added find_available_local_port for identifying a local port available for binding.

1.2

Only require pytest-runner when pytest is invoked.

1.1

Renamed functions:

  • wait_for_occupied_port: occupied

  • wait_for_free_port: free

The original names are kept as aliases for now.

Added execution support for the portend module. Invoke with python -m portend.

1.0

Initial release based on utilities in CherryPy 3.5.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portend-1.3.zip (7.4 kB view details)

Uploaded Source

File details

Details for the file portend-1.3.zip.

File metadata

  • Download URL: portend-1.3.zip
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for portend-1.3.zip
Algorithm Hash digest
SHA256 07e24b9db49240b5b78eebc2d6033570f7741ed512330c586b870c8c51b4e7e0
MD5 6468d37d197a902ac4f84a43edcb68b8
BLAKE2b-256 7fdd0208d48d3b1f5afb3d9f60ba82902fb9ccdd71dab0e2211c270cedbefa90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page