The Armis SDK is a package that encapsulates common use-cases for interacting with the Armis platform.
Project description
Armis SDK for Python 3.9+
The Armis SDK is a package that encapsulates common use-cases for interacting with the Armis platform.
Installation
Use your favourite package manager to install the SDK, for example:
pip install armis_sdk
Documentation
For full documentation, please visit our dedicated site.
Usage
All interaction with the SDK happens through the ArmisSdk class. You'll need five things:
- Audience: The url of the tenant you want to interact with, including trailing slash (e.g.
https://acme.armis.com/). - Client ID: The email address of the user account within the tenant that was used to generate the Client Secret.
- Client Secret: The confidential credential generated by your customer within Armis, paired with the Client ID.
- Vendor ID: An identifier unique to your developer account or integration, obtained when you register on our developer portal.
- Scopes: The specific permissions required by your access token to interact with the desired API endpoints.
You can either provide these values using the environment variables ARMIS_AUDIENCE, ARMIS_CLIENT_ID, ARMIS_CLIENT_SECRET, ARMIS_VENDOR_ID, and ARMIS_CLIENT_ID:
from armis_sdk import ArmisSdk
armis_sdk = ArmisSdk()
or by passing them explicitly:
from armis_sdk import ArmisSdk
from armis_sdk import ClientCredentials
credentials = ClientCredentials(
audience="<audience>",
client_id="<client_id>",
client_secret="<client_secret>",
vendor_id="<vendor_id>",
scopes=["scope1", "scope2"],
)
armis_sdk = ArmisSdk(credentials=credentials)
[!TIP] If you're building an application that interacts with multiple tenants, you can populate only the
ARMIS_VENDOR_IDandARMIS_SCOPESenvironment variable and pass theaudience,client_idandclient_secretexplicitly:from armis_sdk import ArmisSdk from armis_sdk import ClientCredentials credentials = ClientCredentials( audience="<audience>", client_id="<client_id>", client_secret="<client_secret>", ) armis_sdk = ArmisSdk(credentials=credentials)
Entity clients
Once you have an instance of ArmisSdk, you can start interacting with the various clients. Each handles use-cases of a specific entity.
[!NOTE] Note that all functions in this SDK that eventually make HTTP requests are asynchronous.
However, for convenience, all public asynchronous functions can also be executed in a synchronous way.
For example, if you want to update a site's location:
import asyncio
from armis_sdk import ArmisSdk
from armis_sdk.entities.site import Site
armis_sdk = ArmisSdk()
async def main():
site = Site(id=1, location="new location")
await armis_sdk.sites.update(site)
asyncio.run(main())
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file armis_sdk-1.0.0.tar.gz.
File metadata
- Download URL: armis_sdk-1.0.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a226a486be7bc75af5dc4b26043c8c1dda14bde44e646f43e7e2d6517c92168
|
|
| MD5 |
e2b536d2ea524e7ff628231cca275946
|
|
| BLAKE2b-256 |
f845b3be83262b2560df3d8c1d0fd61ba27b19612b6fd3e038e429a899124f95
|
Provenance
The following attestation bundles were made for armis_sdk-1.0.0.tar.gz:
Publisher:
publish.yml on ArmisSecurity/armis-sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
armis_sdk-1.0.0.tar.gz -
Subject digest:
5a226a486be7bc75af5dc4b26043c8c1dda14bde44e646f43e7e2d6517c92168 - Sigstore transparency entry: 767357654
- Sigstore integration time:
-
Permalink:
ArmisSecurity/armis-sdk-python@a0fc5862a6927abd4b101d4c0c2ec52a4acddafc -
Branch / Tag:
refs/heads/master - Owner: https://github.com/ArmisSecurity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a0fc5862a6927abd4b101d4c0c2ec52a4acddafc -
Trigger Event:
repository_dispatch
-
Statement type:
File details
Details for the file armis_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: armis_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b06008f1b835824ee44480347454608dab725e31452a32a9e8003bf24d3a298b
|
|
| MD5 |
5e240f1a8feca5dab5e0a840be787b3f
|
|
| BLAKE2b-256 |
f7f750a370b5351126368228b05591dff4a6c7f0c5baab0db48f626590019bb7
|
Provenance
The following attestation bundles were made for armis_sdk-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on ArmisSecurity/armis-sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
armis_sdk-1.0.0-py3-none-any.whl -
Subject digest:
b06008f1b835824ee44480347454608dab725e31452a32a9e8003bf24d3a298b - Sigstore transparency entry: 767357661
- Sigstore integration time:
-
Permalink:
ArmisSecurity/armis-sdk-python@a0fc5862a6927abd4b101d4c0c2ec52a4acddafc -
Branch / Tag:
refs/heads/master - Owner: https://github.com/ArmisSecurity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a0fc5862a6927abd4b101d4c0c2ec52a4acddafc -
Trigger Event:
repository_dispatch
-
Statement type: