Skip to content

Releases: kata198/func_timeout

release updates to support newer python versions in pypi

Choose a tag to compare

@kata198 kata198 released this 02 Feb 01:20
4.3.6

Fix years in copyright notice of func_timeout.exceptions. Will not be…

4.3.5

Choose a tag to compare

@kata198 kata198 released this 19 Aug 21:33
  • 4.3.5 - Aug 19 2019
  • Increase times in unit tests to ensure passing on slow systems

  • Allow instantiating FunctionTimedOut exception without arguments ( will replace function name with "Unknown Function" and timedOutAfter with "Unknown" when absent). With test.

  • Update runTests.py from latest GoodTests distrib, 3.0.5 from 2.1.1

  • Regenerate docs

  • 4.3.4 - Aug 19 2019
  • Merge patch by Rafal Florczak to use threading.Thread.is_alive vs now deprecated threading.Thread.isAlive

  • Regenerate docs

4.3.4

Choose a tag to compare

@kata198 kata198 released this 19 Aug 20:50
  • 4.3.4 - Aug 19 2019
  • Merge patch by Rafal Florczak to use threading.Thread.is_alive vs now deprecated threading.Thread.isAlive

  • Regenerate docs

4.3.3

Choose a tag to compare

@kata198 kata198 released this 13 May 20:32
  • 4.3.3 - May 13 2019
  • More documentation updates
  • 4.3.2 - May 13 2019
  • Update docs, update README, note that this still works with Python 3.7

  • Update link to pydocs to be on githubpreview, as python hosted is broke right now.

  • 4.3.0 - Aug 10 2017
  • Ensure that functions wrapped with @func_set_timeout do not lose meta
    information (such as name, docstrings, etc.). Special thanks to belongwqz on
    github for noting the issue and suggesting functools.wraps

4.3.2

Choose a tag to compare

@kata198 kata198 released this 13 May 15:35

Re-release of 4.3.1 with updated pydoc link

  • 4.3.2 - May 13 2019
  • Update docs, update README, note that this still works with Python 3.7

  • Update link to pydocs to be on githubpreview, as python hosted is broke right now.

4.3.0

Choose a tag to compare

@kata198 kata198 released this 10 Aug 22:51
  • 4.3.0 - Aug 10 2017
  • Ensure that functions wrapped with @func_set_timeout do not lose meta
    information (such as name, docstrings, etc.). Special thanks to belongwqz on
    github for noting the issue and suggesting functools.wraps
  • 4.2.0 - Jun 4 2017
  • Add "stop" method to StoppableThread (same as previous _stopThread method -
    but with a 'public' name)
  • Document StoppableThread a lot more
  • Add "raiseEvery" to StoppableThread.stop to control the "repeatEvery" arg to
    JoinThread (how often after the first raise the exception is retried)

4.2.0

Choose a tag to compare

@kata198 kata198 released this 04 Jun 08:47
  • 4.2.0 - Jun 4 2017
  • Add "stop" method to StoppableThread (same as previous _stopThread method -
    but with a 'public' name)
  • Document StoppableThread a lot more
  • Add "raiseEvery" to StoppableThread.stop to control the "repeatEvery" arg to
    JoinThread (how often after the first raise the exception is retried)

4.1.0

Choose a tag to compare

@kata198 kata198 released this 24 May 06:15
  • 4.1.0 - May 24 2017
  • If func_timeout completes the function call in the alloted time, explicitly
    clean up the thread (previously we were only cleaning it up in the time-out
    path). On python3 it would get cleaned up anyway on the next garbage
    collection cycle, on python2 it's a bit more finnikey (but will also,
    eventually, get automatically joined)

  • Be better at the traceback. Exclude the funcwrap from the call, and ensure
    the raised Exception follows the actual path of execution (can be confusing to
    read at first glance, but your function is at the bottom, then goes around a
    bit.)

This uses PEP409/3134 in Python3 (available in 3.3+, we support 3.4+
officially).

Python2 doesn't have this, but has it's own syntax that doesn't work in
python3 to allow throwing a custom traceback.

You'd think both would support both, or at least python3 support both...

Anyway, this causes a kinda silly import-hack and adds an extra frame to the
exception handling part, but works to prevent default handlers from picking it
up.

This solves the multiple prints of exceptions on python3 in certain
circumstances(you catching and then raising an exception)

  • 4.0.0 - May 20 2017
  • Fixup short delay after a thread times out

  • Fix where in some cases (depending on what was execution when abort was

called), a default handler could print the tracback to stderr outside of the
scope of the normal raise (it would still be raised, just handled twice).

  • Add a function decorator which provides a default timeout, allows that
    timeout to be overriden by adding a "forceTimeout" kwarg to the function
    (configurable), or even running a function to calculate the timeout based on
    args for each call

  • Some improvements to python2 support

  • Add GoodTests (Unit tests)

4.0.0

Choose a tag to compare

@kata198 kata198 released this 21 May 01:41
  • 4.0.0 - May 20 2017
  • Fixup short delay after a thread times out

  • Fix where in some cases (depending on what was execution when abort was

called), a default handler could print the tracback to stderr outside of the
scope of the normal raise (it would still be raised, just handled twice).

  • Add a function decorator which provides a default timeout, allows that
    timeout to be overriden by adding a "forceTimeout" kwarg to the function
    (configurable), or even running a function to calculate the timeout based on
    args for each call

  • Some improvements to python2 support

  • Add GoodTests (Unit tests)

3.1.0

Choose a tag to compare

@kata198 kata198 released this 04 Jan 22:09
  • 3.1.0 - Jan 4 2017
  • Make windows compatible
  • Add simple testcase, "testit.py"