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.12.tar.gz
(7.7 kB
view hashes)
Built Distribution
Close
Hashes for tombulled_param-0.1.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21e22163795aefd5c680292313b054a66a1b6ca35309784ac17e63de4ac736ac |
|
MD5 | 8e16d34d9978230275f517b8a97d1435 |
|
BLAKE2b-256 | 6b8c3cbaffa0b72aa284cac21309264a150a61b5da5bedd01cdbe644f9c1a7bd |