- Set number of workers to 0 (in thread execution) if the environment variable
LOX_DEBUGis 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 executescattercalls in parent thread. Useful for debugging breakpoints in parallelized code.
tqdmsupport onlox.process.gather. See v0.8.0 release notes for usage.
tqdmsupport onlox.thread.gather* Can be a bool:>>> my_func.gather(tqdm=True)
Can be a
tqdmobject:>>> 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.Announcementsubscribe()calls now return anotherAnnouncementobject 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.threadscattercalls can now be chained together.scatternow returns anintsubclass that contains metadata to allow chaining. Each scatter call can have a maximum of 1 previousscatterresult. - 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.