Source code for matchlight

"""Software development kit for the Terbium Labs Matchlight product."""
from __future__ import absolute_import

import pkg_resources

from .alert import Alert, AlertMethods
from .connection import Connection, MATCHLIGHT_API_URL_V2
from .error import (
    APIError,
    ConnectionError,
    InvalidCredentialsError,
    SDKError,
)
from .feed import Feed, FeedMethods
from .project import Project, ProjectMethods
from .record import Record, RecordMethods
from .search import SearchMethods


__all__ = (
    'Alert',
    'AlertMethods',
    'APIError',
    'Connection',
    'ConnectionError',
    'Feed',
    'FeedMethods',
    'InvalidCredentialsError',
    'MATCHLIGHT_API_URL_V2',
    'Matchlight',
    'Project',
    'ProjectMethods',
    'Record',
    'RecordMethods',
    'SDKError',
    'SearchMethods',
)


try:
    __version__ = pkg_resources.get_distribution('matchlightsdk').version
except:
    __version__ = 'unknown'


[docs]class Matchlight(object): """Top-level Matchlight API connection object. A top-level wrapper for all Matchlight products: including Retrospective Search, DataFeeds, and Fingerprint Monitoring (projects, and records). Attributes: alerts: :class:`~matchlight.alert.AlertMethods` object with access to alert methods for Matchlight Fingerprint Monitoring. projects: :class:`~matchlight.project.ProjectMethods` object with access to project methods for Matchlight Fingerprint Monitoring. records: :class:`~matchlight.record.RecordMethods` object with access to record methods for Matchlight Fingerprint Monitoring. feeds: :class:`~matchlight.feed.FeedMethods` object with access to all Matchlight DataFeed methods. search: :class:`~matchlight.search.SearchMethods` object with access to Matchlight Retrospective Search. """ def __init__(self, access_key=None, secret_key=None, **kwargs): """Matchlight API connection object. This class is a wrapper over the Matchlight API feature set including functionality for search, feeds, projects, and records. Attributes: access_key (str, optional): The user's Matchlight API access key. If not passed as an argument this value must be set using the ``MATCHLIGHT_ACCESS_KEY`` environment variable. secret_key (str, optional): The user's Matchlight API access key. If not passed as an argument this value must be set using the ``MATCHLIGHT_SECRET_KEY`` environment variable. """ self.conn = Connection( access_key=access_key, secret_key=secret_key, **kwargs) self.alerts = AlertMethods(self.conn) self.projects = ProjectMethods(self.conn) self.feeds = FeedMethods(self.conn) self.records = RecordMethods(self.conn) self.search = SearchMethods(self.conn).search self.pii_search = SearchMethods(self.conn).pii_search