Skip to main content

spectre-api-python

General

This module is intended to make it a bit easier to work with The Firemon Corporation's Lumeta (was named "Spectre" API.

Lumeta and Spectre are both registered trademarks of Firemon

Install this module by running pip3 install spectre-api

Introduction

This Python module is intended to be a relatively light weight wrapper around the Spectre API. The idea is to abstract out some of the authentication and paging pieces to make it easier to focus on fine-tuning the actual underlying calls. Basically, you configure a server (currently using username/password or API Key authentication) and then have it perform API calls. For example:

>>> import spectreapi
>>> s = spectreapi.UsernameServer("cc", "username", "password")
>>> r = s.get("zonedata/devices", params = { "filter.zone.id": 1} )
>>> for d in r:
...     if d['ip'] is not None:
...             print(d['ip'])
...
10.2.1.1
10.201.0.1
10.201.0.7
10.202.0.1
10.202.0.2
172.18.1.180
>>>

Another, slightly cleaner way to do this would be to use the query methods

>>> import spectreapi
>>> z = spectreapi.UsernameServer('cc','username','password').get_zone_by_name('Zone1')
>>> q=z.query().detail('Attributes')
>>> for d in q.run():
...     if d['ip'] is not None:
...             print(d['ip'])
...
10.2.1.1
10.201.0.1
10.201.0.7
10.202.0.1
10.202.0.2
172.18.1.180
>>>

Servers

A Server is the base class that has most of the functionality needed to use the Spectre API. You'll instantiate a more specific Server based on which authentication method you're using.

UsernameServer

spectreapi.UsernameServer(<server>, <username>, <password>, [<page_size>,] [<verify>]) Where:

<server> = The IP address or DNS name of the Spectre Command Center

<username> = Username

<password> = Password

<page_size> = How many results should a GET request return at a time.

<verify> = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate.

Behind the scenes, this makes an API call to system/information with basic authentication (over https) and then uses the resulting JSESSIONID cookie for the rest of the time.

APIKeyServer

spectreapi.APIKeyServer(<server>, <api_key>, [, <page_size>] [, <verify>]) Where:

<server> = The IP address or DNS name of the Spectre Command Center

<api_key> = API Key for API access. You get this via the GUI or by issuing the user key new <username> command at the command center CLI.

<page_size> = How many results should a GET request return at a time.

<verify> = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate.

GET, POST, PUT, DELETE

Notes on using the underlying Spectre API

Metadata

Release files for spectre-api 0.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spectre-api 0.5.5
File Size Uploaded Provenance Actions
spectre-api-0.5.5.tar.gz 15.7 kB Without provenance Details for spectre-api-0.5.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for spectre-api 0.5.5
File Interpreter ABI Platform Actions
spectre_api-0.5.5-py3-none-any.whl Python 3 none any Details for spectre_api-0.5.5-py3-none-any.whl

Total release size: 32.6 kB

Release files / spectre-api-0.5.5.tar.gz

Download URL spectre-api-0.5.5.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4ba3200dcbb555964182208792f4d15df0701cf28394e605ed37a7bebc6a9cfe
BLAKE2b-256 checksum
How to use checksums
eb0f2502bb5124eb8714febff668628264580ffa164288c9f474b8549103999b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.17

Release files / spectre_api-0.5.5-py3-none-any.whl

Download URL spectre_api-0.5.5-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2760f5cefed1f12c5b51b698212cb4ec582b9d0b17058cbc30497f5833ac2ee4
BLAKE2b-256 checksum
How to use checksums
61a07f4d48b350ca04ba6498dad3ad47a50c88e3b5ee5f8ae12e830de247a08c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.17

Security for spectre-api 0.5.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.5.5 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page