An elegant RESTful client based on requests.
Project description
Requests-REST: A RESTful client based on requests
This library intends to provide an elegant RESTful client.
Installation
pip install requests-rest
Usage example
base_url = 'https://httpbin.org/'
new_name = 'aponder'
new_email = 'i@aponder.top'
new_user = {
'name': new_name,
'email': new_email,
}
update_user = new_user.copy()
update_user.update({'name': f'new {new_name}'})
# print(resource_user.list().json())
# print(resource_user.create(new_user).json())
# print(resource_user.update(1, new_user).json())
# print(resource_user.patch(1, new_name).json())
# print(resource_user.patch(1, new_email).json())
# print(resource_user.delete(1).json())
resource_client = Client(base_url, debug=True)
Users = resource_client('users')
users_creating = Users.create(new_user)
print(users_creating.response)
users_listing = Users.list(page=1, page_size=10)
print(users_listing.response)
users_detailing = Users.detail(1)
print(users_detailing.response)
users_updating = Users.update(2, update_user)
print(users_updating.response)
users_partial_updating = Users.partial_update(3, update_user)
print(users_partial_updating.response)
users_deleting = Users.delete(4)
print(users_deleting.response)
# extra actions
Users.login = Users.make_plural_action('login')
credentials = {'username': 'root', 'password': 'root'}
print(Users.login(credentials).response)
Users.disable = Users.make_single_action('disable')
print(Users.disable(2).response)
# resource combination
Blogs = resource_client('blogs')
UsersBlogs = users_detailing(Blogs)
new_blog = {'title': 'hello'}
print(UsersBlogs.create(new_blog).response)
print(UsersBlogs.list(page=2, page_size=20).response)
print(UsersBlogs.delete(10).response)
print(UsersBlogs.update(10, new_blog).response)
print(UsersBlogs.partial_update(10, new_blog).response)
print(UsersBlogs.delete(10).response)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
requests-rest-0.3.2.tar.gz
(4.7 kB
view details)
Built Distribution
File details
Details for the file requests-rest-0.3.2.tar.gz
.
File metadata
- Download URL: requests-rest-0.3.2.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 558f8cbb54b02f2b1430b01ed5e5fe6b4cb733f6192fb489d67d61042d8e6fab |
|
MD5 | dfaf81635e94b509fcff9d822e521110 |
|
BLAKE2b-256 | 4fa02385a3f2bc28f6bd18ab55c914544202145965a08e5bb2e32ba0a7380043 |
File details
Details for the file requests_rest-0.3.2-py2.py3-none-any.whl
.
File metadata
- Download URL: requests_rest-0.3.2-py2.py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 649389c9c7e90ad116d6df83fc6b1d39c33237e5b618e155eefb8d93204933ec |
|
MD5 | 4661005a6755c8596314f668ed2f60c1 |
|
BLAKE2b-256 | 9b16fe051d53c8b6b70e22a26fb5d1d47807c53b2fb7bf8072527443e7d82d14 |