- Set number of workers to 0 (in thread execution) if the environment variable
LOX_DEBUG
is set to a true-like value (true
,1
, etc.). Makes it easier to set breakpoints in multithreaded code without having to manually edit the decorator.
- Remove dependency pinning.
- Allow
@lox.thread(0)
. This will executescatter
calls in parent thread. Useful for debugging breakpoints in parallelized code.
tqdm
support onlox.process.gather
. See v0.8.0 release notes for usage.
tqdm
support onlox.thread.gather
* Can be a bool:>>> my_func.gather(tqdm=True)
Can be a
tqdm
object:>>> from tqdm import tqdm >>> pbar = tqdm(total=100) >>> for _ in range(100): >>> my_func.scatter() >>> my_func.gather(tqdm=pbar)
- Complete rework of workers + Fix memory leaks
- Drop support for python3.5
- Drop support for chaining in favor of simpler codebase
- Alternative fix for 0.6.2.
- Update dependencies
- Fix garbage-collecting exclusiviity
- Fix memory leak in
lox.process
.
lox.Announcement
subscribe()
calls now return anotherAnnouncement
object that behaves like a queue instead of an actual queue. Allows for many-queue-to-many-queue communications.- New Object:
lox.Funnel
. allows for waiting on many queues for a complete set of inputs indicated by a job ID.
- New Object:
lox.Announcement
. Allows a one-to-many thread queue with backlog support so that late subscribers can still get all (or most recent) announcements before they subscribed. - New Feature:
lox.thread
scatter
calls can now be chained together.scatter
now returns anint
subclass that contains metadata to allow chaining. Each scatter call can have a maximum of 1 previousscatter
result. - Documentation updates, theming, and logos
- Garbage collect cached decorated object methods
- Fixed multiple instances and successive scatter and gather calls to wrapped methods
- Fixed broken workers and unit tests for workers
- Semi-breaking change: lox.thread and lox.process now automatically pass the object instance when decorating a method.
- Print traceback in red when a thread crashes
- Fix bug where thread in scatter of lox.thread double releases on empty queue
- Fix manifest for installation from wheel
- Fix package on pypi
- Multiprocessing decorator. lox.pool renamed to lox.thread
- Substantial pytest bug fixes
- Documentation examples
- timeout for RWLock
- Fix IndexSemaphore context manager
- Added QLock
- Documentation syntax fixes
- CICD test
- First release on PyPI.