A Python library to access Arctic Security's Sharing API endpoints and retrieve event data.
pip install arcticsecurityPython >= 3.9 is required.
The library supports two distinct ways to retrieve events from the Sharing API: Query and Sync.
Use the Query class to perform one-off queries for specific events.
from arcticsecurity.sharing_api import Query
url = "https://example.com/shares/v2/share-id?apikey=YOUR_API_KEY"
for event in Query(url).query(filter='"network owner"="Example Co"', max_events=50):
print(event)Use the Sync class to reliably fetch all event data. It uses pagination with opaque continuation tokens to ensure no events are missed.
from arcticsecurity.sharing_api import Sync
url = "https://example.com/shares/v2/share-id?apikey=YOUR_API_KEY"
sync = Sync(url, filter='"network owner"="Example Co"')
# Fetch token from previous run
token = ...
while True:
res = sync.read(token=token, pagesize=1000)
if not res.events:
break
# process res.events...
token = res.token
if not res.has_more:
break
# store the token for the next run- Robust error handling with specific exceptions (
ConfigError,NetworkError,Retry,TimeoutError,InvalidTokenError,ServerError). - Optional timeout and user-agent customization
Follows Semantic Versioning v2.
uv is required.
uv sync --group dev
uv run ruff check .
uv run pytest --doctest-modules
uv run mypy --config-file pyproject.toml -p arcticsecurity
uv run ty check
uv run mkdocs build
uv run mkdocs serveIssues and pull requests are welcome. Please add tests for any new behavior.
Experimental (0.1.x); the API may evolve. Pin the library version for production use.