semvec/pypi-packages huggingface dataset:
gitlab-v4 0.0.7
Wrapper for Gitlab API v4
License: MIT

# Gitlab Client

## Install
To install latest version:

    pip install gitlab-v4

To install a specific version, for example: 0.0.1

    pip install gitlab-v4==0.0.1

## Usage

    from gitlab_client.gitlab_client import Gitlab
    
    client = Gitlab(
    	project_id="1234",
    	access_token="abcd1234-efgh5678",
    	gitlab_base_url="https://gitlab.com/api/v4"
    )
Once you instantiated a client instance as shown above, you can call different api methods available. 
To list all branches in project:

    client.list_branches()
Sample response:

    [
      {
    	'name': 'main',
    	'commit': {
    		'id': 'abc123d357ae0ecc2d071eg3b64l4367861840fb',
    		'short_id': 'abc123d3',
    		'created_at': '2021-08-10T06:08:11.000+00:00',
    		'parent_ids': None,
    		'title': 'Update readme file',
    		'message': 'Update readme file',
    		'author_name': 'John Doe',
    		'author_email': 'johndoe@users.noreply.gitlab.com',
    		'authored_date': '2021-08-10T06:08:11.000+00:00',
    		'committer_name': 'John Doe',
    		'committer_email': 'johndoe@users.noreply.gitlab.com',
    		'committed_date': '2021-08-10T06:08:11.000+00:00',
    		'trailers': None,
    		'web_url': 'https://gitlab.com/group_name/repo_name/-/commit/abc123d357ae0ecc2d071eg3b64l4367861840fb'
    	},
    	'merged': False,
    	'protected': True,
    	'developers_can_push': False,
    	'developers_can_merge': False,
    	'can_push': True,
    	'default': True,
    	'web_url': 'https://gitlab.com/group_name/repo_name/-/tree/main'
      },
      {
    	'name': 'stable',
    	'commit': {
    		'id': 'def456d357ae0ecc2d071eg3b64l4367861840fb',
    		'short_id': 'def456d3',
    		'created_at': '2021-08-10T07:14:35.000+00:00',
    		'parent_ids': None,
    		'title': "some title",
    		'message': "Merge branch 'main' into 'stable'",
    		'author_name': 'Jane Doe',
    		'author_email': 'janedoe@users.noreply.gitlab.com',
    		'authored_date': '2021-08-10T07:14:35.000+00:00',
    		'committer_name': 'Jane Doe',
    		'committer_email': 'janedoe@users.noreply.gitlab.com',
    		'committed_date': '2021-08-10T07:14:35.000+00:00',
    		'trailers': None,
    		'web_url': 'https://gitlab.com/group_name/repo_name/-/commit/def456d357ae0ecc2d071eg3b64l4367861840fb'
    	},
    	'merged': False,
    	'protected': True,
    	'developers_can_push': False,
    	'developers_can_merge': False,
    	'can_push': True,
    	'default': False,
    	'web_url': 'https://gitlab.com/group_name/repo_name/-/tree/stable'
      }
    ]
NHentaidesu 1.9
NHentai API wrapper with hybrid runtime.
License: MIT
Keywords: nhentai nhentaidesu nhentai-python nhentai python nhentai api

<p align="center">
    <a href="https://github.com/rushkii/NHentaidesu">
        <img src="https://i.ibb.co/jHz73HD/logo-090da3be7b51.png" alt="Pyrogram">
    </a>
    <br>
    <b>NHentai API Wrapper for Python</b>
    <br>
    <img alt="Down/Week" src="https://img.shields.io/hexpm/dw/NHentaidesu">
    <img alt="Release" src="https://img.shields.io/pypi/v/NHentaidesu?color=blue&label=Release">
    <img alt="LICENSE" src="https://img.shields.io/badge/License-MIT-blue.svg">
</p>

### Usage for asynchronous
```python
from NHentaidesu import DoujinClient
import asyncio

nh = DoujinClient()

async def main():
    res = await nh.info(332957)
    print(res)

asyncio.get_event_loop().run_until_complete(main())
```
### Usage for synchronous
```python
from NHentaidesu import DoujinClient

nh = DoujinClient()
res = nh.info(332957)
print(res)
```
### Usage for login
```python
from NHentaidesu import DoujinClient

nh = DoujinClient(csrf_token="YOUR_CSRF_TOKEN", session_id="YOUR_SESSION_ID", use_proxy=True)
# if you unable to download/render the image set use_proxy to True
# use_proxy is just using a Duckduckgo image URL.
```

### Features
- **Hybrid**: Supported bot asynchronous and synchronous runtime.
- **Download**: You can download doujinshi and user avatar.
- **Complete**: This library is complete, but if you see any missing you can open issue.
- **Typed-code**: Function and object are typed.

### Question
- **Q**: How do I get my **csrf_token** and **session_id**?
- **A**: You can get it from developer tools in your PC or laptop browser.
- **Q**: Why am I receiving `ImportError: failed to find libmagic.  Check your installation`?
- **A**: You can solve it by installing libmagic. [See stackoverflow](https://stackoverflow.com/questions/18374103/exception-valuefailed-to-find-libmagic-check-your-installation-in-windows-7)

### Requirements
- Python 3.6 or higher

### Support
- You can support this library by giving a star
- If you want to donate me you can contact me in [Telegram](https://t.me/nekoha).

### Copyright
Copyright (c) 2021 [Kiizuha](hhtps://github.com/rushkii)
py-strict-typing 0.1.1
A library for enforcing strict typing of class members and function parameters in Python.
License: MIT
Keywords: Strict,Typing,Type-checking,Decorator,py-strict-typing

# Python Strict Typing Library
This is a library written in pure Python that enables runtime type-checking for classes and functions via the use of a single `@strictly_typed` decorator. Classes may enforce strict typing of their members and functions are able to have type-checked parameters and return values via type hints.

## Installation
This library is available via PyPI. It may be installed with the following pip command:

```
pip install py-strict-typing
```

## Usage

### With Classes
Any class may declare itself as having strictly-typed members using the `@strictly_typed` decorator:

```Python
from strict_typing import *

@strictly_typed
class example_class:
    a: int
    b: int

print(example_class.a)    # None
```

Upon assignment, any member of an instance of the class that provides a type hint will be type checked:

```Python
example_inst = example_class()

example_inst.a = 123
print(example_inst.a)       # 123
example_inst.a = 'hello'    # results in TypeError
```

Any members that do not have a type hint will not be checked. Also note that static assignments at the time of class declaration cannot be checked.

```Python
from strict_typing import *

@strictly_typed
class example_class:
    a = 'hello'
    b: list = 123   # valid. static assignment at declaration is not checked

inst = example_class()
inst.a = 123        # valid. 'a' has no hint so it is not checked
```

### With Functions
Any Python function may declare its parameters and return type as strictly-typed using the `@strictly_typed` decorator:

```Python
from strict_typing import *

@strictly_typed
def test(a: int, b: str) -> str:
    return str(a) + b

print(test(123, 'hello'))           # returns '123hello'
print(test(10.0, 'invalid'))        # results in TypeError
```

As with strictly-typed classes, any parameters that lack a hint will not be checked.

```Python
from strict_typing import *

@strictly_typed
def test(a, b: str) -> str:
    return str(a) + b

print(test(10.0, 'not invalid'))    # returns '10.0not invalid' as 'a' is no longer checked.
```

This rule also applies to the return type hint:

```Python
from strict_typing import *

@strictly_typed
def test(a: int):
    return a + 123

@strictly_typed
def test2(a: int) -> str:
    return a + 123

print(test(111))        # outputs '234'
print(test2(111))       # results in TypeError
```
wpath 0.1.4
package help find the project root folder.
License: MIT
Requires Python: >=3.7
Keywords: project root folder workspace

# wpath

wpath: a package help add project workspace to python search path and other many small tools

python开发的一系列小工具,核心功能：

- 自动将当前项目的工作目录添加到python搜索包  
    工作目录的定义是：该目录下面有常见的项目级文件：.env,.gitignore,package.json,go.mod,go.sum,tsconfig.json
- 将某个目录添加到搜索目录  
    wpath.add("your folder path")
- 彩色 print  
    红：print_r，绿：print_r,蓝:print_b,黄：print_y,粉：print_m,黑:print_k,白:print_w
- 字典格式打印 print  
- 彩色日志处理模块 log  
- 时间处理模块 time  
- 代码调试模块 code  

## Install

```bash
git clone https://github.com/aeneashe/wpath
cd wpath
python setup.py install
```

or

```bash
pip install wpath
```

## Env file

add one of flags [".env",".gitignore",".git","package.json"]  into your project workspace.

## Useage

- auto detect workspace folder  

``` python
import wpath
```

- show workspace folder

``` python
import wpath
# this will add your workspace to python path
# by default, wpath will search parent folder which has an '.env' file as workspace flag

# show project workspace, 
# if not found the flag, wpath.workspace() will return None
print(wpath.workspace())
```

- use your own flag as project folder root flag  

``` python
import wpath
# change default flag
wpath.reset(['.gitignore'])
print(wpath.workspace())

```

- color print

``` python
from wpath import print_r,print_g,print_b

print_r("red txt")
print_g("green txt")
print_b("blue txt")
```

- time tool

``` python
from wpath import today,now,yesterday

print(today())
print(now())
print(yesterday())
```

- log tool

```python
    from wpath import ColoredLogger
    logging.setLoggerClass(ColoredLogger)
    
    # use file name as logname, you can use any str as logname
    # logname=__file__  
    # logname=__name__
    # logname="module"

    logname="test log"

    log = logging.getLogger(logname)
    log.setLevel(logging.DEBUG)

    log.debug("test debug")
    log.info("test info")
    log.warning("test warning")
    log.error("test error")
    log.critical("test critical")

```