Metadata-Version: 2.1
Name: progress_checkpoint
Version: 1.0.1
Summary: Helpers for reporting a progress from functions by the means of callbacks.
Home-page: https://github.com/peper0/progress-checkpoint
Author: Tomasz Lakota
Author-email: tomasz.lakota@gmail.com
License: MIT
Description: # Progress-checkpoint
        
        Helpers for reporting a progress from functions by the means of callbacks.
        
        ## Examples
        
        ### Trivial
        
        ```python
        from progress_checkpoint import dummy_checkpoint, with_progress
        
        def time_consuming_operation(checkpoint=dummy_checkpoint):
            for i in with_progress(range(10), checkpoint):
                time.sleep(0.2)
        
        time_consuming_operation(lambda p, _: print("{:.0f}%% ready".format(p*100)))
        ```
        
        ### Subcheckpoints
        
        ```python
        from progress_checkpoint import dummy_checkpoint, with_progress, with_progress_sub
        
        def time_consuming_operation(checkpoint=dummy_checkpoint):
            for _ in with_progress(range(10), checkpoint):
                sleep(0.1)
        
        
        def compound_time_consuming_operation(checkpoint=dummy_checkpoint):
            for _, subcheckpoint in with_progress_sub(range(2), checkpoint):
                time_consuming_operation(subcheckpoint)
        
        
        compound_time_consuming_operation(lambda p, _: print("{:.0f}% ready".format(p * 100)))
        ```
        
        ### Subcheckpoints with different weights
        
        ```python
        def time_consuming_operation(num, checkpoint=dummy_checkpoint):
            for _ in with_progress(range(num), checkpoint):
                sleep(0.1)
        
        
        def compound_time_consuming_operation(checkpoint=dummy_checkpoint):
            counts = [1, 3, 7]
            for cnt, subcheckpoint in with_progress_sub(counts, checkpoint, weights=counts):
                time_consuming_operation(cnt, subcheckpoint)
        
        
        compound_time_consuming_operation(lambda p, _: print("{:.0f}% ready".format(p * 100)))
        
        ```
        
        ### Reporting using progresssbar package
        ```python
        from progress_checkpoint.console import ProgressbarCheckpoint
        
        
        def time_consuming_operation(checkpoint=dummy_checkpoint):
            for _ in with_progress(range(10), checkpoint):
                sleep(0.1)
        
        
        time_consuming_operation(ProgressbarCheckpoint())
        ```
Keywords: progress,progressbar,callback,reporting
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: progressbar
