Simple, extendable base rest client for python
Project description
Rest Wrapper
Simple, extendable base rest client for python. I've rewritten this pattern time after time, figured I would just package it and install when necessary.
- GitHub repo: https://github.com/nat5142/rest-wrapper.git
- Documentation: https://rest-wrapper.readthedocs.io
- Free software: MIT
Features
Rest Wrapper provides a simple exposure of the requests module. Just provide a base_url to target and go from there:
from rest_wrapper import RestClient
client = RestClient('https://example.com/')
# make a GET request. just provide an endpoint to append it to your base_url
resp = client.get('users/1/info')
# POST request
resp = client.post('users', json={'name': 'nick', 'username': 'nat5142'}) # kwargs are passed directly to the request itself
# don't append, just request any full URL:
resp = client.get('https://www.google.com/search?q=cats', append_url=False)
Or, use the client to make constructing your own API Wrappers easier:
import os
from rest_wrapper import RestClient
class SomeApiWrapper(RestClient):
base_url = 'https://some-api.com/'
def authenticate(self):
# authenticate method is invoked at the end of the object intialization.
self.session.headers.update({
'X-Api-Key': os.environ['API_KEY']
})
client = SomeApiWrapper()
resp = client.get('/api/v1/users') # will request https://some-api.com/api/v1/users
Credits
This package was created with Cookiecutter and the fedejaure/cookiecutter-modern-pypackage project template.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rest_wrapper-0.0.3.tar.gz.
File metadata
- Download URL: rest_wrapper-0.0.3.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.8.12 Darwin/22.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9025677ece84a7120ccc6ae20cb61a16572ca6b3f144c65904a3e2b996784aa
|
|
| MD5 |
8413c62f1a04be52d8841929221c4d10
|
|
| BLAKE2b-256 |
7c8726b14734e8c9ff234a436269697310f9aebb907fb04cc8de25c484f74f1b
|
File details
Details for the file rest_wrapper-0.0.3-py3-none-any.whl.
File metadata
- Download URL: rest_wrapper-0.0.3-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.8.12 Darwin/22.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9601063bf23c4d453d06acf84c0be463a0c0944bbe6999b58c9ab0ad44bb8649
|
|
| MD5 |
8a11a76edbc3420044dd544c2873d0cd
|
|
| BLAKE2b-256 |
6ad078548750830ec294eaffe6dd87cfdd03c35b857b7b962d53683342647087
|