Python SDK for working with Cookies APIs.
Project description
Cookies SDK for Python
- Library Version:
1.0.0
(beta
) - API Version:
v1
(stable
)
This repository defines an API client for easy access to Cookies APIs from Python.
Installation
From your favorite command line:
pip install cookiesapi
Docs
Guides, access docs, and other resources can be found at the Cookies API Console. Check there first if you can't find what you're after.
-
API Reference
-
Class Reference
- API Client: Info about the main API client facade.
- HTTP Request: HTTP request object.
- HTTP Response: HTTP response object.
- Utility classes: General utilities
-
Devops Reports
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
Parameter | Type | Description |
---|---|---|
apikey |
string |
Consumer API key issued by Cookies. |
environment |
Environment | The API environment. Default: Environment.SANDBOX |
timeout |
float |
The value to use for connection timeout. Default: 60 |
max_retries |
int |
The number of times to retry an endpoint call if it fails. Default: 0 |
backoff_factor |
float |
A backoff factor to apply between attempts after the second try. Default: 2 |
retry_statuses |
Array of int |
The http statuses on which retry is to be done. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524] |
retry_methods |
Array of string |
The http methods on which retry is to be done. Default: ['GET', 'PUT'] |
The API client can be initialized as follows:
from cookiesapi import CookiesSDK
from cookiesapi.configuration import Environment
client = CookiesSDK(
apikey='apikey',
environment=Environment.SANDBOX
)
The API key is also settable via the environment variable COOKIES_APIKEY
. If both are made available to the SDK at runtime, the constructor parameter wins.
Obtaining Credentials
Authorization for most Cookies APIs occurs via regular consumer API keys, which authorize the bearer to perform a broad set of operations (i.e. keys are usually API- or consumer-wide). To acquire authorized API credentials, visit the API Console.
Sensitive APIs are gated by allowlists and may require additional security measures such as Mutual TLS (mTLS), OAuth 2, or asymmetric cryptographic signatures.
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
Name | Description |
---|---|
production | Production data and hosting environment. |
sandbox | Default Testing and development environment. |
Please switch to production
only for production traffic. Otherwise, the two environments are identical, because they pull from a mirrored (albeit isolated) data source.
Resources
Resources available for the Python SDK include guides, reference docs, and the API Console which sports a full testing harness.
Cookies also supports API access from Java or via plain HTTP.
Contributing
Building the SDK
You must have Python 3 >=3.6, <= 3.9
installed on your system to install and run this SDK. This SDK package depends on other Python packages like nose, jsonpickle etc. These dependencies are defined in the requirements.txt
file that comes with the SDK.To resolve these dependencies, you can use the PIP Dependency manager. Install it by following steps at https://pip.pypa.io/en/stable/installing/.
Python and PIP executables should be defined in your PATH. Open command prompt and type pip --version
. This should display the version of the PIP Dependency Manager installed if your installation was successful and the paths are properly defined.
- Using command line, navigate to the directory containing the generated files (including
requirements.txt
) for the SDK. - Run the command
pip install -r requirements.txt
. This should install all the required dependencies.
Development
The following section explains how to use the cookiesapi library in a new project.
1. Open Project in an IDE
Open up a Python IDE like PyCharm. The basic workflow presented here is also applicable if you prefer using a different editor or IDE.
Click on Open
in PyCharm to browse to your generated SDK directory and then click OK
.
The project files will be displayed in the side bar as follows:
2. Add a new Test Project
Create a new directory by right clicking on the solution name as shown below:
Name the directory as "test".
Add a python file to this project.
Name it "testSDK".
In your python file you will be required to import the generated python library using the following code lines
from cookiesapi.cookiesapi_client import CookiesapiClient
After this you can write code to instantiate an API client object, get a controller object and make API calls. Sample code is given in the subsequent sections.
3. Run the Test Project
To run the file within your test project, right click on your Python file inside your Test project and click on Run
Test the SDK
You can test the generated SDK and the server with test cases. unittest
is used as the testing framework and nose
is used as the test runner. You can run the tests as follows:
Navigate to the root directory of the SDK and run the following commands
pip install -r test-requirements.txt
nosetests
🍪 Copyright © Cookies Creative Consulting & Promotions, Inc.
This repository contains private computer source code owned by Cookies (heretofore Cookies Creative Consulting & Promotions, a California Company). Use of this code in source or object form requires prior written permission from a duly-authorized member of Cookies Engineering. All rights reserved.
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.