Skip to main content

Official Python Pingen SDK for API V2

Project description

Requirements

You need to have an account in pingen and obtain oauth credentials for your desired grant type (usually client_credentials).

How to obtain these are described here: https://api.pingen.com/documentation#section/Authentication/How-to-obtain-a-Client-ID

Python 3.8+

Installation

You don't need this source code unless you want to modify the package. If you just want to use the package, just run:

pip install --upgrade pingen2sdk

Environments

We have two Environments available: Production and Staging (see https://api.pingen.com/documentation#section/Basics/Environments)

This SDK supports staging as well. When initiating the resource (see Usage), the optional 'staging' attribute should be set, as well as when creating an endpoint object.

Usage

The simplest way to integrate is using the client credentials grant (see https://api.pingen.com/documentation#section/Authentication/Which-grant-type-should-i-use)

import pingen2sdk

pingen2sdk.client_id = "YOUR_CLIENT_ID"
pingen2sdk.client_secret = "YOU_SECRET"

resp = pingen2sdk.OAuth.get_token(
    use_staging=True,
    grant_type="client_credentials",
    scope="letter batch webhook organisation_read",
)

access_token = resp["access_token"]

organisationList = pingen2sdk.Organisations(access_token, True).get_collection()

organisation_id = organisationList.data["data"][0]["id"]

LettersEndpoint = pingen2sdk.Letters(organisation_id, access_token, True)

response = LettersEndpoint.upload_and_create(
    "./letter.pdf",
    "sdk.pdf",
    "left",
    False,
    "fast",
    "simplex",
    "color",
)

letter_id = response.data["data"]["id"]

Examples & Docs

Our API Docs are here: https://api.pingen.com/documentation

On the right-hand side of every endpoint you can see request samples for Python and other languages, which you can copy and paste into your application.

Bugreport & Contribution

If you find a bug, please either create a ticket in github, or initiate a pull request.

Versioning

We adhere to semantic (major.minor.patch) versioning (https://semver.org/). This means that:

  • Patch (x.x.patch) versions fix bugs
  • Minor (x.minor.x) versions introduce new, backwards compatible features or improve existing code.
  • Major (major.x.x) versions introduce radical changes which are not backwards compatible.

In your automation or procedure you can always safely update patch & minor versions without the risk of your application failing.

Testing

Run all tests for a specific Python version (modify -e according to your Python target):

tox -e py312

Run the linter with:

tox -e lint

The library uses Black for code formatting. Code must be formatted with Black before PRs are submitted, otherwise CI will fail. Run the formatter with:

tox -e fmt

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

pingen2sdk-0.5.1.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

pingen2sdk-0.5.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file pingen2sdk-0.5.1.tar.gz.

File metadata

  • Download URL: pingen2sdk-0.5.1.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pingen2sdk-0.5.1.tar.gz
Algorithm Hash digest
SHA256 7a16a36a94a48d9d017800b67b203f2e8703fff652ca55a3ed6675dd27cb4a0c
MD5 7b8e1c5a310422a02476fb0d9346cdb1
BLAKE2b-256 f4ebc41cab5ef6fceb0d6f38705cfa8d7ed2db79a44a2085d6b7c1f25ef9f051

See more details on using hashes here.

File details

Details for the file pingen2sdk-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: pingen2sdk-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pingen2sdk-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 71fe4bf0d96cafe7e2837ea89028e009cf9516a98bb6cdd5af3c7c90a14e35bf
MD5 9e173e74868f17770789436108c8a6a9
BLAKE2b-256 83e0d1081f8daed10d4db88eace3bcf01dc48b25f4235f16e7ed0931a2b42c35

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