History#

v3.2.0#

27 Jun 2023

Features#

  • Require Python 3.8 or later.

v3.1.0#

24 Nov 2021

Require Python 3.7 or later.

v3.0.0#

07 Oct 2021

Removed legacy aliases wait_for_occupied_port and wait_for_free_port.

v2.7.2#

07 Oct 2021

Packaging refresh.

v2.7.1#

13 Feb 2021

#14: Fix host/port order.

v2.7.0#

16 Nov 2020

Refresh package. Require Python 3.6 or later.

2.6#

30 Oct 2019

Package refresh.

2.5#

10 Jun 2019

#10: Fix race condition in occupied and free.

2.4#

04 Apr 2019

#6: find_available_local_port now relies on

socket.getaddrinfo to find a suitable address family.

2.3#

09 Jun 2018

Package refresh.

2.2#

26 Sep 2017

Merge with skeleton, including embedded license file.

2.1.2#

28 Jun 2017

Fix README rendering.

2.1.1#

28 Jun 2017

#5: Restored use of portend.client_host during

assert_free check on Windows, fixing check when the bind address is *ADDR_ANY.

2.1#

25 Jun 2017

Use tempora.timing.Timer from tempora 1.8, replacing boilerplate code in occupied and free functions.

#1: Removed portend._getaddrinfo and its usage in

Checker.assert_free.

Dropped support for Python 2.6.

1.8#

23 Jan 2017

Remove dependency on jaraco.compat and instead just copy and reference the total_seconds compatibility function for Python 2.6.

1.7.1#

23 Jan 2017

  • #2: Use tempora, replacing deprecated jaraco.timing.

1.7#

20 Jan 2017

Expose the port check functionality as portend.Checker class.

1.6.1#

19 Jan 2017

Correct failures on Python 2.6 where datetime.datetime.total_seconds and argparse are unavailable.

1.6#

19 Jan 2017

Add support for Python 2.6 (to support CherryPy).

1.5#

23 Jul 2016

Automatically deploy tagged versions via Travis-CI.

1.4#

10 Mar 2016

Moved hosting to Github.

1.3#

27 Feb 2015

Added find_available_local_port for identifying a local port available for binding.

1.2#

22 Feb 2015

Only require pytest-runner when pytest is invoked.

1.1#

06 Aug 2014

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#

13 Jul 2014

Initial release based on utilities in CherryPy 3.5.