Skip to main content

NERIS API Client

Project description

NERIS API Client

A Python class to interact with the NERIS API programmatically.

NOTE: Due to the changes and transition to using Oauth 2.0 version 1.2 is now deprecated. Please upgrade to version 1.3. You can do that in a package manager with the following update: neris-api-client = ">=1.3" or in your requirements.txt you can do neris-api-client >=1.3. Or you can install with pip install neris_api_client>=1.3..

Versioning

This API client does not directly follow semver practices. In order to remove confusion between the NERIS API client and API, we have decided to align the major version of this client with the major version of the API release. The minor and patch versions of this client will differ from API release version, they will instead represent changes made to the API client itself.

Installation

To install:

pip install neris-api-client

Package published on PyPi: NERIS API Client

Usage

Auth with password auth flow

All config parameters can be specified as environment variables prefixed with NERIS_ e.g. NERIS_GRANT_TYPE=password.

from neris_api_client import NerisApiClient, Config

client = NerisApiClient(
    Config(
        base_url="https://api-test.neris.fsri.org/v1",
        grant_type="password",
        username="neris.user@email.co",
        password="*******",
    )
)

# Get an entity
entity = client.get_entity("FD24027240")

# If MFA enabled, prompt for auth challenge answer
Provide MFA code for email_otp: ******

Auth with client_credentials auth flow

All config parameters can be specified as environment variables prefixed with NERIS_ e.g. NERIS_GRANT_TYPE=client_credentials.

from neris_api_client import NerisApiClient, Config

client = NerisApiClient(
    Config(
        base_url="https://api-test.neris.fsri.org/v1",
        grant_type="client_credentials",
        client_id="********************",
        client_secret="***************",
    )
)

# Get an entity
entity = client.get_entity("FD24027240")

Using environment varables to instantiate the library

Configuration should be stored in the environment. The following uses dotenv to load the configuration, but you can use whatever you like. In the cloud, you might load all of these values into the environment from an encrypted parameter store.

All variables prefixed are prefixed with NERIS_

  • See env.example for the parameter options.
  • Store the /env file in the current working directory.
from dotenv import load_dotenv
from neris_api_client import NerisApiClient, Config

 # Credentials must be defined in .env
load_dotenv()
client = NerisApiClient()

# Get an entity
entity = client.get_entity("FD24027240")

Additional config parameters

Parameter Description
debug Controls whether the application outputs debug information.
validate Controls whether the client performs model validations.

Disclaimer

The models in this package are generated using datamodel-code-generator and are not guaranteed to contain all of the information present in the full specification. The generated models are used to validate request payloads prior to API submission.

Additional Information

To ask a question, make a suggestion, or otherwise get help with the NERIS API Client, please visit the NERIS helpdesk.

Beta sandbox users:

  • Be sure to use the base URL https://api-test.neris.fsri.org/v1 with the NERIS API Client. You will not be able to authenticate requests in the other environments.
  • For the beta testing period, your user is only authorized to perform actions on behalf of the FSRI Fire Department FD24027214.

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

neris_api_client-1.5.3.tar.gz (78.6 kB view details)

Uploaded Source

Built Distribution

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

neris_api_client-1.5.3-py3-none-any.whl (78.0 kB view details)

Uploaded Python 3

File details

Details for the file neris_api_client-1.5.3.tar.gz.

File metadata

  • Download URL: neris_api_client-1.5.3.tar.gz
  • Upload date:
  • Size: 78.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for neris_api_client-1.5.3.tar.gz
Algorithm Hash digest
SHA256 6a7c1b597785d21edcd8d446b9817a9155d9226a116853b8465b8bc97b3f4881
MD5 60d7eb75dbca0fba23ee9d69c00d1f87
BLAKE2b-256 f34f1df88ad42d4ea670479375d7a5fbe2f33fb02f3ba3f915696fdd0d7dbac3

See more details on using hashes here.

File details

Details for the file neris_api_client-1.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for neris_api_client-1.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 835701a67a19f1d39bfd7318429de062d35e4f9acabf00d055a76d35a61f0973
MD5 d6a1f766110fe4914a0e7113e9a904fa
BLAKE2b-256 cda46c7921177e2bcf4681ae14e770a24562f6d23d88d985b9b365aab373c1b8

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