Enhanced function parameters
Project description
param
Enhanced function parameters
Installation
pip install git+https://github.com/tombulled/param.git@main
Usage
Functions
The @params
annotation works seamlessly with functions:
from param import Param, params
@params
def get(url: str, params: dict = Param(default_factory=dict)):
print("GET", url, params)
>>> get("https://httpbin.com/get")
GET https://httpbin.com/get {}
Classes
The @params
annotation also works seamlessly with classes. Importantly, the @params
annotation should be specified before @staticmethod
or @classmethod
.
from param import Param, params
class MyClass:
@params
def get(self, url: str, params: dict = Param(default_factory=dict)):
print("GET", url, params)
@classmethod
@params
def post(cls, url: str, params: dict = Param(default_factory=dict)):
print("POST", url, params)
@staticmethod
@params
def put(url: str, params: dict = Param(default_factory=dict)):
print("PUT", url, params)
>>> obj = MyClass()
>>>
>>> obj.get("https://httpbin.com/get")
GET https://httpbin.com/get {}
>>>
>>> obj.post("https://httpbin.com/post")
POST https://httpbin.com/post {}
>>> MyClass.post("https://httpbin.com/post")
POST https://httpbin.com/post {}
>>>
>>> obj.put("https://httpbin.com/put")
PUT https://httpbin.com/put {}
>>> MyClass.put("https://httpbin.com/put")
PUT https://httpbin.com/put {}
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
tombulled-param-0.1.10.tar.gz
(7.9 kB
view hashes)
Built Distribution
Close
Hashes for tombulled_param-0.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4d3ee91c8075ae1c76858f72db0ff8ff5a02db89822adc2d23e4e40a90b9730 |
|
MD5 | 013376668384c4872c296802e6d447af |
|
BLAKE2b-256 | b1af86f290c1adfcb61ab7045c638437f672f464e08ba5f01d823a749bbe8a1b |