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 yourrequirements.txtyou can doneris-api-client >=1.3. Or you can install withpip 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
/envfile 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/v1with 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.
Metadata
Release files for neris-api-client 1.5.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| neris_api_client-1.5.5.tar.gz | 103.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| neris_api_client-1.5.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 206.3 kB
Release files / neris_api_client-1.5.5.tar.gz
| Download URL | neris_api_client-1.5.5.tar.gz |
|---|---|
| Size | 103.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
291c2fdb12261989cc971b4ec614a9d007a2ba3f90ebc92e609bbb560bf43e9b
|
|
BLAKE2b-256 checksum How to use checksums |
8a0612aa0eccc88cf68e6e36fe4de42a6bf3a9024fa3a3d8bb3c780178af530d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / neris_api_client-1.5.5-py3-none-any.whl
| Download URL | neris_api_client-1.5.5-py3-none-any.whl |
|---|---|
| Size | 102.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed1e94822d72624324c02aeb33df1b3f6c7866b39ef0be2eb1ebb32c5af42455
|
|
BLAKE2b-256 checksum How to use checksums |
570f3ae4de530f2047491e6d7b066327d25d3cf21d33542c4b533f9c045fd23c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|