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.