Skip to main content

Generic Connector so you can easily create simple and readable classes for accessing APIs.

Project description

Base API Connector

Helps create a simple API Connector where all you have to do is define the resources and possible commands.

Instructions

Using GenericAPIConnector

First import the GenericAPIConnector class:

from base_api_connector import GenericAPIConnector

Then, define a base_api_url and resource fields like this:

class ImplementedAPIConnector(GenericAPIConnector):
    base_api_url = 'http://127.0.0.1:8000/notes-backend/'
    reports = APIResource(('create', 'retrieve', 'update'))
    users = APIResource('all')

This will generate the following attributes when you use this class:

conn = ImplementedAPIConnector()

conn.reports.create(data)
conn.reports.retrieve(pk)
conn.reports update(pk, data)

conn.users.list()
conn.users.create(data)
conn.users.retrieve(pk)
conn.users.update(pk, data)
conn.users.delete(pk)

Using The Returned Object

The methods of GenericAPIConnector return a regular Response object from the requests module. See requests Documentation for Response for more details.

Using AsDictObject (WIP)

If you want to define how a resource looks only once, import AsDictObject:

import datetime
from base_api_connecotr import AsDictObject

class CreateUsersResourceObject(AsDictObject):
    name = None  # None will not pass the field in the request
    created = datetime.datetime.now  # use methods to set defaults like this
    created_for_app = 'readme_example'

And then use it like this:

user = CreateUsersResourceObject():
user.name = 'readme user'
conn.users.create(user)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

base_api_connector-0.1.5.1-py3-none-any.whl (9.3 kB view hashes)

Uploaded Python 3

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