All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Sections order is: Fixed
, Changed
, Added
, Deprecated
, Removed
, Security
.
These are changes that are on main
that are not yet in prod
.
3.0.4 - 2023-06-05T03:11:37Z
Fixed
- #12: add
py.typed
3.0.3 - 2023-05-22T02:30:15Z
Fixed
- GitHub CI command to build docs
3.0.2 - 2023-05-22T01:57:42Z
Fixed
src
file structure
3.0.1 - 2023-05-22T00:39:34Z
Fixed
- #10:
multiprocess
dependency
Removed
setup.py
,__about__.py
: project metadata now inpyproject.toml
.pylint
: now usingruff
__init__.py
: now justsrc/ezq.py
3.0.0 - 2023-05-18T09:58:43Z
Fixed
- GitHub Action: continuous integration
- #9:
multiprocessing
on MacOS (by switching tomultiprocess
)
Changed
- #8: order of
Msg
parameters so thatdata
comes first - #9: core library is now
multiprocess
instead ofmultiprocessing
;dill
replacespickle
.
Added
- GitHub Action:
mypy
check for examples and tests - supported python versions badge
- #5:
Worker
wrapper forProcess
andThread
cSpell
to track ignored words
Removed
- #7: deprecated functions:
put_msg
,iter_msg
,iter_q
,sortiter
,endq
,endq_and_wait
2.0.3 - 2023-05-10T03:44:15Z
This version introduced a new class-based API via the Q
object.
The function-based API is officially deprecated and will be removed
in v3.
Changed
sortiter
now sorts the list of waiting messages in place to improve performance (~50%).- replaced
pylint
withruff
- #6: supported python versions: removed 3.6, 3.7; added 3.10, 3.11
Added
- build badge
- #1: support for
threading
- #3:
map
function for simple use-cases - #4:
Q
class wrapper for the queue
Deprecated
Most of the function-based API is now deprecated.
put_msg
: useQ.put()
insteaditer_msg
: useiter(Q)
insteaditer_q
: useQ.items()
insteadsortiter
: useQ.sorted()
insteadendq
: useQ.end()
insteadendq_and_wait
: useQ.stop()
instead
2.0.2 - 2021-08-24T17:25:52Z
Changed
iter_msg
to handleblock
parameteriter_sortq
to be a more genericsortiter
Added
- Documentation
sortiter
which is a more general form ofiter_sortq
iter_q
for iterating over current contents of a queue
Removed
count
parameter forendq
; it was only used internally and was confusing
2.0.1 - 2021-08-22T20:20:53Z
Fixed
- README link to license.
setup.py
to contain a betterlong_description
.
2.0.0 - 2021-08-22T19:56:48Z
Changed
iter_msg()
no longer checks against a globalIS_ALIVE
boolean. It runs until the queue is ended or the process is killed (possibly throwing errors).wait()
is now calledendq_and_wait
to more clearly explain its function.- README with more examples and key concepts.
Added
iter_sortq()
: iterates over the contents of a queue in a sorted way. Useful for collating results in a single process at the end of a pipeline.endq()
: adds the specialEND_MSG
to the queue. This makes the API cleaner in terms of ending queues that don't require waiting.
Removed
IS_ALIVE
,stop_iter_msg()
: Originally, these were to stopiter_msg()
from continuing when there was aSIGINT
. However, this didn't really work properly and so was removed.Daemon
,start_processes()
,start()
,start_numbered()
: these have all been replaced with a simplerrun()
function.
1.0.0 - 2021-08-20T19:50Z
Initial release.