Skip to main content

Simple, extendable base rest client for python

Project description

Rest Wrapper

PyPI - Version PyPI - Python Version Tests Codecov Read the Docs PyPI - License

Black pre-commit

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rest_wrapper-0.0.3.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

rest_wrapper-0.0.3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

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

Hashes for rest_wrapper-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d9025677ece84a7120ccc6ae20cb61a16572ca6b3f144c65904a3e2b996784aa
MD5 8413c62f1a04be52d8841929221c4d10
BLAKE2b-256 7c8726b14734e8c9ff234a436269697310f9aebb907fb04cc8de25c484f74f1b

See more details on using hashes here.

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

Hashes for rest_wrapper-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9601063bf23c4d453d06acf84c0be463a0c0944bbe6999b58c9ab0ad44bb8649
MD5 8a11a76edbc3420044dd544c2873d0cd
BLAKE2b-256 6ad078548750830ec294eaffe6dd87cfdd03c35b857b7b962d53683342647087

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page