Skip to main content

APIMatic SDK for USPS API

Project description

Getting Started with USPS API

Introduction

Contact Us: USPS API Support | Terms of Service

The Addresses API validates and corrects address information to improve package delivery service and pricing. This suite of APIs provides different utilities for addressing components. The ZIP Code™ lookup finds valid ZIP Code™(s) for a City and State. The City/State lookup provides the valid cities and states for a provided ZIP Code™. The Address Standardization API validates and standardizes USPS® domestic addresses, city and state names, and ZIP Code™ in accordance with USPS® addressing standards. The USPS® address standard includes the ZIP + 4®, signifying a USPS® delivery point, given a street address, a city and a state.

Install the Package

The package is compatible with Python versions 3.7+. Install the package from PyPi using the following pip command:

pip install usps-apimatic-sdk==1.0.0

You can also view the package at: https://pypi.python.org/pypi/usps-apimatic-sdk/1.0.0

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
environment Environment The API environment.
Default: Environment.PRODUCTION
http_client_instance Union[Session, HttpClientProvider] The Http Client passed from the sdk user for making requests
override_http_client_configuration bool The value which determines to override properties of the passed Http Client from the sdk user
http_call_back HttpCallBack The callback value that is invoked before and after an HTTP call is made to an endpoint
timeout float The value to use for connection timeout.
Default: 30
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"]
proxy_settings ProxySettings Optional proxy configuration to route HTTP requests through a proxy server.
logging_configuration LoggingConfiguration The SDK logging configuration for API calls
oauth_authorization_code_credentials OauthAuthorizationCodeCredentials The credential object for OAuth 2 Authorization Code Grant
oauth_client_credentials_credentials OauthClientCredentialsCredentials The credential object for OAuth 2 Client Credentials Grant
basic_auth_credentials BasicAuthCredentials The credential object for Basic Authentication
bearer_token_auth_credentials BearerTokenAuthCredentials The credential object for OAuth 2 Bearer token

The API client can be initialized as follows:

Code-Based Client Initialization

import logging

from uspsapi.configuration import Environment
from uspsapi.http.auth.basic_auth import BasicAuthCredentials
from uspsapi.http.auth.bearer_token_auth import BearerTokenAuthCredentials
from uspsapi.http.auth.oauth_authorization_code import OauthAuthorizationCodeCredentials
from uspsapi.http.auth.oauth_client_credentials import OauthClientCredentialsCredentials
from uspsapi.logging.configuration.api_logging_configuration import LoggingConfiguration
from uspsapi.logging.configuration.api_logging_configuration import RequestLoggingConfiguration
from uspsapi.logging.configuration.api_logging_configuration import ResponseLoggingConfiguration
from uspsapi.models.oauth_scope_oauth_authorization_code import OauthScopeOauthAuthorizationCode
from uspsapi.models.oauth_scope_oauth_client_credentials import OauthScopeOauthClientCredentials
from uspsapi.uspsapi_client import UspsapiClient

client = UspsapiClient(
    oauth_authorization_code_credentials=OauthAuthorizationCodeCredentials(
        oauth_client_id='OAuthClientId',
        oauth_client_secret='OAuthClientSecret',
        oauth_redirect_uri='OAuthRedirectUri',
        oauth_scopes=[
            OauthScopeOauthAuthorizationCode.ADDRESSES,
            OauthScopeOauthAuthorizationCode.ADJUSTMENTS
        ]
    ),
    oauth_client_credentials_credentials=OauthClientCredentialsCredentials(
        oauth_client_id='OAuthClientId',
        oauth_client_secret='OAuthClientSecret',
        oauth_scopes=[
            OauthScopeOauthClientCredentials.ADDRESSES,
            OauthScopeOauthClientCredentials.ADJUSTMENTS
        ]
    ),
    basic_auth_credentials=BasicAuthCredentials(
        username='Username',
        password='Password'
    ),
    bearer_token_auth_credentials=BearerTokenAuthCredentials(
        access_token='AccessToken'
    ),
    environment=Environment.PRODUCTION,
    logging_configuration=LoggingConfiguration(
        log_level=logging.INFO,
        request_logging_config=RequestLoggingConfiguration(
            log_body=True
        ),
        response_logging_config=ResponseLoggingConfiguration(
            log_headers=True
        )
    )
)

Environment-Based Client Initialization

from uspsapi.uspsapi_client import UspsapiClient

# Specify the path to your .env file if it’s located outside the project’s root directory.
client = UspsapiClient.from_environment(dotenv_path='/path/to/.env')

See the Environment-Based Client Initialization section for details.

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

Name Description
PRODUCTION Default
TESTING -

Authorization

This API uses the following authentication schemes.

List of APIs

SDK Infrastructure

Configuration

HTTP

Utilities

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

usps_apimatic_sdk-1.0.0.tar.gz (606.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

usps_apimatic_sdk-1.0.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file usps_apimatic_sdk-1.0.0.tar.gz.

File metadata

  • Download URL: usps_apimatic_sdk-1.0.0.tar.gz
  • Upload date:
  • Size: 606.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for usps_apimatic_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 415d2518aeed1b64de2ee9eefe87e8f1c8f4540bdaa47b040419e7ef16f072c8
MD5 2c68ecd5d00cae522e259638025ac743
BLAKE2b-256 4a21ca1212b1fd12af570d60cb7417d7d085813da03d5c05b30cde77c0d7a6b0

See more details on using hashes here.

File details

Details for the file usps_apimatic_sdk-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for usps_apimatic_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1cace507ebaa7285fcd5f78a526be4911b036e76ccf108ae9523f1dab62cedc
MD5 c671c5a8b2109083fe24e1ddeef6aa1d
BLAKE2b-256 8afe85e401e0ff0b04cecb017850bfe565416e2ffef70e18dd8a77989631ed97

See more details on using hashes here.

Supported by

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