semvec/pypi-packages huggingface dataset:
mobio-dnc-sdk.test 1.0.1
Mobio donotcall SDK
License: MIT
Requires Python: >=3
Keywords: mobio,dnc,contact spam

##  Thư viện gọi api bên DNC.


### Cài đặt:
```bash
 $ pip3 install mobio-dnc-sdk.test
 ```


### Sử dụng:

##### 1. Khởi tạo sdk:
   ```python
    from mobio.sdks.dnc import MobioDNCSDK

    MobioDNCSDK().config(
        admin_host="",	# admin host
        redis_uri="",	# redis uri
        module_use="",	# liên hệ admin để khai báo tên của module
        module_encrypt="",	# liên hệ admin để lấy mã
    )
    
   ```

##### 2. Kiểm tra 1 contact có trong spam :
   ```python
    from mobio.sdks.dnc import MobioDNCSDK
    query_search = {"contact": "5361451387259452"}
    result = MobioDNCSDK().request_check_one_contact_spam(
        merchant_id,
        params=query_search,
    )
    """
    {
      "code": 200,
      "data": {
          "contact": "5361451387259452",
          "contact_type": "social",
          "staff_id": "c0713108-7449-4bd6-86d5-1198b73495c7",
          "social_page_id": "d59d4779-b707-4558-a594-4eb65f106ccc",
          "social_type": 1,
          "page_name": "Mobio shop",
        },
      
    }
    """
   ```

##### 3. Kiểm tra nhiều contact có trong spam :
   ```python
    from mobio.sdks.dnc import MobioDNCSDK
    query_search = {"contact": "5361451387259452,0371234567"}
    result = MobioDNCSDK().request_check_many_contact_spam(
        merchant_id,
        params=query_search,
    )
    """
    {
      "code": 200,
      "data": [
        {
          "contact": "5361451387259452",
          "contact_type": "social",
          "staff_id": "c0713108-7449-4bd6-86d5-1198b73495c7",
          "social_page_id": "d59d4779-b707-4558-a594-4eb65f106ccc",
          "social_type": 1,
          "page_name": "Mobio shop",
        },
        {
          "contact": "84371234567",
          "contact_type": "phone",
          "staff_id": "c0713108-7449-4bd6-86d5-1198b73495c7",
        },
      ]
      
    }
    """
   ```


#### Log - 1.0.0 
    - tạo sdk 

#### Log - 1.0.1 
    - sửa cơ chế call api sang call trực tiếp db mongo
makesure 0.4
simple validator for input data (only work for python dict)
License: MIT
Keywords: makesure,validation,parser,json validator

# makesure

>  _Simple validation for input datas_

## Installation
```sh
pip install makesure
```
## Usage
Create a schema that defines your data and call the function `make_sure(your_schema,input_data)`
if any validation fails it will raise an exception `MakeSureException` otherwise it return the data.

## Schemas
A schema is a dict that defines your data.

|Keys|Description|
| ------ | ------ |
| required | key must be in data and cannot be None |
| min | value grater than or equal to min |
| max | value less than or equal to max |
| min_len | len of value less than or equal to min_len|
| max_len | len of value less than or equal to max_len |
| regx | value must satisfy this reguler expressions |
| type | data types such as int, str, list, dict, tuple |
| enum | value must be in list or tuple or set |
| msg | your own error message |

#### sample schema
```py
user_schema = {
    'name':{
        'required':True,
        'type':str
    },
    'email':{
        'type':str,
        'required':True,
        'regx':Regx.email
    },
    'age':{
        'type':int,
        'min':18
    }
}
```


## Some Useful Regx
```py
from makesure import Regx
```
|Regx|Description|
| ------ | ------ |
| Regx.email | email regx |
| Regx.alpha | only alphabets |
| Regx.number | only numbers |
| Regx.alphanum | alphanumerics string |
## Example
```py
# app.py
from makesure import make_sure, Regx, MakeSureException

user_schema = {
    'name':{
        'required':True,
        'type':str,
    },
    'age':{
        'type':int,
        'min':18
    },
    'email':{
        'regx':Regx.email
    }
}

data = {
    'name':'Your Name',
    'age':12,
    'email':'asdasd'
}

try:
    result = make_sure(user_schema,data)
    print(result)
except MakeSureException as e:
    print(e)

```

## License
MIT
aiosaber 0.0.1.1
A concurrent streaming package
License: MIT
Requires Python: >=3.7, <4
Keywords: dataflow,asyncio

# A concurrent streaming package


  
    
  
  
  	
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  



- Dataflow based functional syntax.
- Implicitly parallelism for both async and non-async functions.
- Composable for both flows and tasks.
- Extensible with middlewares.

## Installation

```bash
pip install aiosaber
```

## Example

- check [tests](https://github.com/flowsaber/aiosaber/tree/main/tests) for more examples.

```python
from aiosaber import *

@task
def add(self, num):
    for i in range(100000):
        num += 1
    return num

@task
async def multiply(num1, num2):
    return num1 * num2

@flow
def sub_flow(num):
    return add(num) | map_(lambda x: x ** 2) | add

@flow
def my_flow(num):
    [sub_flow(num), sub_flow(num)] | multiply | view

num_ch = Channel.values(*list(range(100)))
f = my_flow(num_ch)
asyncio.run(f.start())
```

## Middleware example

```python
from aiosaber import *

class NameBuilder(BaseBuilder):
    def __call__(self, com, *args, **kwargs):
        super().__call__(com, *args, **kwargs)
        com.context['name'] = type(com).__name__ + str(id(com))

class ClientProvider(BaseExecutor):
    async def __call__(self, com, **kwargs):
        if not context.context.get('client'):
            context.context['client'] = 'client'
        return await super().__call__(com, **kwargs)

class Filter(BaseHandler):
    async def __call__(self, com, get, put, **kwargs):
        async def filter_put(data):
            if data is END or data > 3:
                await put(data)

        return await super().__call__(com, get, filter_put, **kwargs)

@task
async def add(self, num):
    print(self.context['name'])
    print(context.context['client'])
    return num + 1

@flow
def myflow(num_ch):
    return num_ch | add | view

context.context.update({
    'builders': [NameBuilder],
    'executors': [ClientProvider],
    'handlers': [Filter]
})
f = myflow(Channel.values(1, 2, 3, 4, 5))
context.context.clear()
asyncio.run(f.start())
```
webdetect 0.0.1
Detects technologies of a web page using Wappalyzer in a headless browser.
License: MIT
Keywords: detect technology,web,wappalyzer

`License: MIT <LICENSE.md>`__ \| `Author:
0xcrypto <https://twitter.com/0xcrypto>`__

webdetect
=========

Detects technologies of a web page using Wappalyzer in a headless
browser.

Installation
============

.. code:: bash

   pip install webdetect

Usage
=====

**As an application:**

.. code:: bash

   Usage: webdetect [OPTIONS] [URLS]

     webdetect v0.0.1 by @0xcrypto <vi@hackberry.xyz>

   Options:
     --file FILENAME
     --json / --active-data      Print result in JSON format.
     --tabs INTEGER              Maximum tabs to open in chromium.
     --headless / --no-headless  Whether to open chromium in headless mode.
     --help                      Show this message and exit.

**In your scripts:**

.. code:: python

   import asyncio
   from webdetect import WebDetect

   async def getTech():
       return await WebDetect().detect(domains, maxtabs=20, headless=True, logging=False)

   asyncio.run(getTech())