Metadata-Version: 1.2
Name: reskeeper
Version: 0.1.1
Summary: A lightweight management system for applying and releasing exclusive resources.
Home-page: https://github.com/qige96/reskeeper
Author: Ruiqi Zhu
Author-email: rickyzhu@foxmail.com
License: MIT
Description: # Reskeeper
        [![version](https://img.shields.io/static/v1.svg?label=version&message=0.1.1&color=blue)](https://github.com/qige96/reskeeper)
        [![docs](https://img.shields.io/static/v1.svg?label=docs&message=rtds&color=green)](https://reskeeper.readthedocs.io/en/latest/)
        
        A lightweight management system for applying and releasing exclusive resources.
        
        
        ## Introduction
        
        Considering these scenarios: you are doing web crapping that 
        requiring proxies with multi-threads, and each thread can only 
        use one proxy and one proxy can only be used by one thread at 
        one time; or you are doing monkey tests for login process of 
        your several applications at one time, each application can 
        only use one test account and each account can only be used 
        by one application at one time. You will need to manage the 
        applying and releasing of these **exclusive resources**, and 
        here is this little system taht can help.
        
        ## Installation
        You can install it by just one command
        ```shell
        pip install reskeeper
        ```
        or
        ```shell
        git install git+https://github.com/qige96/reskeeper.git
        ```
        
        ## Quick Start
        
        ```python
        from reskeeper import ResourceKeeper
        
        resources = [
            "resource1", 
            "resource2",
        ]
        
        rk = ResourceKeeper()     # create a resource keeper instance
        rk.load(resources)        # load a batch of data
        
        res1 = rk.get()           # get a resource
        res2 = rk.get()           # get one more resource
        res3 = rk.get()           # None, no resource available
        
        print(res1)               # <res_id: 1>
        print(res2.res_id, 
                res2.data)        # (2, "resource2")
        print(res3)               # None    
        
        rk.release(res1)          # release a resource
        
        res4 = rk.get()           # one resource available
        
        print(res4.to_dict())     # {'res_id': 1, 'data': 'resource1'}
        
        ```
        
        ## Documentation
        
        see https://reskeeper.readthedocs.io
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.6
