TCP port monitoring utilities
Project description
.. image:: https://img.shields.io/pypi/v/portend.svg
:target: https://pypi.org/project/portend
.. image:: https://img.shields.io/pypi/pyversions/portend.svg
.. image:: https://img.shields.io/pypi/dm/portend.svg
.. image:: https://img.shields.io/travis/jaraco/portend/master.svg
:target: http://travis-ci.org/jaraco/portend
por·tend
pôrˈtend/
verb
be a sign or warning that (something, especially something momentous or calamitous) is likely to happen.
License
=======
License is indicated in the project metadata (typically one or more
of the Trove classifiers). For more details, see `this explanation
<https://github.com/jaraco/skeleton/issues/1>`_.
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")
Portend additionally exposes the lower-level port checking functionality
in the :class:`Checker` class, which currently exposes only one public
method, ``assert_free``.
portend.Checker().assert_free('localhost', 31923)
If assert_free is passed a host/port combination that is occupied by
a bound listener (i.e. a TCP connection is established to that host/port),
assert_free will raise a :class:`PortNotFree` exception.
:target: https://pypi.org/project/portend
.. image:: https://img.shields.io/pypi/pyversions/portend.svg
.. image:: https://img.shields.io/pypi/dm/portend.svg
.. image:: https://img.shields.io/travis/jaraco/portend/master.svg
:target: http://travis-ci.org/jaraco/portend
por·tend
pôrˈtend/
verb
be a sign or warning that (something, especially something momentous or calamitous) is likely to happen.
License
=======
License is indicated in the project metadata (typically one or more
of the Trove classifiers). For more details, see `this explanation
<https://github.com/jaraco/skeleton/issues/1>`_.
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")
Portend additionally exposes the lower-level port checking functionality
in the :class:`Checker` class, which currently exposes only one public
method, ``assert_free``.
portend.Checker().assert_free('localhost', 31923)
If assert_free is passed a host/port combination that is occupied by
a bound listener (i.e. a TCP connection is established to that host/port),
assert_free will raise a :class:`PortNotFree` exception.
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
portend-1.7.tar.gz
(7.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file portend-1.7.tar.gz.
File metadata
- Download URL: portend-1.7.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
321681608b084fe2c12b881da5a2fa58ccf4fd41979852540cb9344172d73f15
|
|
| MD5 |
6731cafc8a5050e608a5a4df40e1500f
|
|
| BLAKE2b-256 |
2c08472e3574d9b735006e42d0b008d789db0134e7b9eea11191bb4ae406cc21
|
File details
Details for the file portend-1.7-py2.py3-none-any.whl.
File metadata
- Download URL: portend-1.7-py2.py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dd8573deaa7f0232919eae1cdbbec2dc1cd87208f17e288d32cd9b46a5a103c
|
|
| MD5 |
672d4938414763d676c986ca83f3c0e6
|
|
| BLAKE2b-256 |
5428d235975b6b8af317d4af20d398e9ea6fb3bd8e3ea27b4d5dad1cc448ebf9
|