Web-Library for Python
Project description
WApi: Web-Library for Python
Libraries used:
Installation
You can install the latest version with the command:
pip install whaox-wapi
• Routes
You can create paths as you like, splitting your client into modules
@Route("https://example.com")
class WApi:
service = Service()
@Route("/wapi")
class Service:
@Route("/path")
@GET("/")
def get(self): pass
@POST("/path")
def post(self): pass
wapi = WApi()
wapi.service.get()
# eq
requests.get("https://example.com/wapi/path/")
• Serialization
The library deserializes the received data according to the type that you specify in the _T parameter of the decorator.
NOTE: The specified type must be json serializable - these are the base types and classes marked with the @dataclass annotation
@dataclass
class Person:
name: str
@Route("https://example.com")
class WApi:
@GET("/person", _T=Person)
def person(self) -> Person: pass
@GET("/people", _T=List[Person])
def people(self) -> List[Person]: pass
api = WApi()
person = api.person()
print(person.name)
>>> "John"
• Params
You can flexibly add parameters to the path using {}. The library uses formatting from the standard library.
@Route("https://example.com")
class WApi:
@GET("/path?name={name}")
def route(self, name: str): pass
• • Auto-complete
If you want the parameters to be set automatically, you can switch the auto flag to True.
NOTE: if auto=True, you must pass named parameters so that they are added to the path.
@Route("https://example.com")
class WApi:
@GET("/path", auto=True) # eq /path?name={name}
def route(self, name: str): pass
• • Unpacking
In order not to pass a lot of parameters, you can pass one by calling it body, it will automatically decompose into parameters, to do this, set the unpack flag to True.
NOTE: Nested non-standard type parameters are not decomposed.
@dataclass
class Person:
name: str
age: int
@Route("https://example.com")
class WApi:
@GET("/path", auto=True, unpack=True) # eq /path?name={name}&age={age}
def route(self, body: Person): pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file whaox-wapi-1.0.27.tar.gz
.
File metadata
- Download URL: whaox-wapi-1.0.27.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 224de74e86f98b58a5b18b554943e458f71b416c77dc01d690e74dccef274666 |
|
MD5 | 18cd3b3548b86e117780da05f491f3fc |
|
BLAKE2b-256 | 52f09d233239c1522780ecf86c4cf289ab01e2a651f31d5fc25c47b42e5182a5 |