This PR merges the fixes that were brought while testing the 2.0.0 release of Crappy into develop.
It was tested on Linux and Windows, on Python 3.7 to 3.12.
Most of the problems encountered were related to multiprocessing on Windows, or on Linux with the 'spawn' start method of the multiprocessing module. These problems were solved either by moving certain calls from __init__ to prepare (9bd494c2, 1a20c7d7), or switching from Pipe to Queue for carrying data between processes (df71923b).
There was also a problem in setup.py preventing the installation of Crappy in editable mode (548d508b), as well as potential division by zero errors that can occur on Windows because the time module is less accurate than on Linux (50710dcf, b3f22029). DeprecationErrors missing in #69 were also added (50870015, 9934a825).
This PR merges the fixes that were brought while testing the 2.0.0 release of Crappy into
develop
. It was tested on Linux and Windows, on Python 3.7 to 3.12.Most of the problems encountered were related to multiprocessing on Windows, or on Linux with the
'spawn'
start method of themultiprocessing
module. These problems were solved either by moving certain calls from__init__
toprepare
(9bd494c2, 1a20c7d7), or switching fromPipe
toQueue
for carrying data between processes (df71923b).There was also a problem in
setup.py
preventing the installation of Crappy in editable mode (548d508b), as well as potential division by zero errors that can occur on Windows because thetime
module is less accurate than on Linux (50710dcf, b3f22029).DeprecationError
s missing in #69 were also added (50870015, 9934a825).