semvec/pypi-packages huggingface dataset:
snowclient 0.4.4
ServiceNow api client in python



Python REST client with some extras baked in:

- Request retires built in with appropriated backoffs.
- Wrap response output in object with conviency methods such as being able to resolve depedency tables if they are linked in an attribute ( aka `record.resolve_link("depfield")` ).
- Wrap problems/errors/empty records in NotFound objects.
- Extra querying sugar - see QueryBuilder and docs for details. For example, a request with specific query info like:

GET /api/now/v1/table/change_request?sysparm_limit=10&sysparm_query=cmdb_ciISNOTEMPTY%5Estate=1%5Eassignment_group=deadbeef%5Esys_created_onBETWEENjavascript:gs.dateGenerate('2018-06-11','19:25:00')@javascript:gs.dateGenerate('2018-07-11','19:25:00')%5EORDERBYDESCsys_created_on

Can be generated instead from:

```
qb.field_equals("state", "1")
qb.field_equals("assignment_group", "deadbeef")
start = datetime.utcnow()
end = start - timedelta(days=30)
qb.between(end, start)
qb.orderbydesc("sys_created_on")
```

Which, depending on the eyes (and cough, auto method completions), might hurt just a littttle bit less.
py-v8n 0.1.0a1
Python fluent validation

<p align="center">
  <img src="./docs/assets/logo.png" alt="py-v8n" />
</p>

<p align="center">
The ultimate <b>Python</b> validation library you've ever needed.<br/>
Dead simple fluent API. Customizable. Reusable.
</p>

[![Build Status](https://travis-ci.org/nschejtman/py-v8n.svg?branch=master)](https://travis-ci.org/nschejtman/py-v8n)
[![CircleCI](https://circleci.com/gh/nschejtman/py-v8n.svg?style=shield)](https://circleci.com/gh/nschejtman/py-v8n)
[![codecov](https://codecov.io/gh/nschejtman/py-v8n/branch/master/graph/badge.svg)](https://codecov.io/gh/nschejtman/py-v8n)

```python
v8n()
  .int_()
  .between(0, 100)
  .even()
  .not_().equal(32)
  .test(74) # true
```
## What is it?
`py-v8n` is a reusable fluent validation library. 

## Installation
```shell
pip install py-v8n
```  

## Usage

```python
from py_v8n import v8n

# Create a validator
hello_validator = v8n()\
    .str_()\
    .first("H")\
    .last("o")
    
# Check values
hello_validator.test("Hello") # True
hello_validator.test("Good bye") # False
 
```