Source code for ngsildclient.api.constants

#!/usr/bin/env python3

# Software Name: ngsildclient
# SPDX-FileCopyrightText: Copyright (c) 2021 Orange
# SPDX-License-Identifier: Apache 2.0
#
# This software is distributed under the Apache 2.0;
# see the NOTICE file for more details.
#
# Author: Fabien BATTELLO <fabien.battello@orange.com> et al.

"""This module contains constants used in the api package.
"""

from ngsildclient import __version__

from typing import TYPE_CHECKING, Union, List
from enum import Enum, unique

if TYPE_CHECKING:
    from .entities import Entity

    OneOrManyEntities = Union[Entity, List[Entity]]

Version = str
EntityId = str


[docs]@unique class Vendor(Enum): ORIONLD = "Orion-LD" SCORPIO = "Scorpio" STELLIO = "Stellio" CASSIOPEIA = "Cassiopeia" UNKNOWN = None
[docs]@unique class AttrsFormat(Enum): NORMALIZED = "normalized" KEYVALUES = "keyValues" VALUES = "values"
[docs]@unique class LogLevel(Enum): NONE = "NONE" FATAL = "FATAL" ERROR = "ERROR" WARN = "WARN" INFO = "INFO" DEBUG = "DEBUG"
[docs]@unique class TimeProperty(Enum): OBSERVED_AT = "observedAt" MODIFIED_AT = "modifiedAt" CREATED_AT = "createdAt"
[docs]@unique class AggrMethod(Enum): TOTAL_COUNT = "totalCount" DISTINCT_COUNT = "distinctCount" SUM = "sum" AVERAGE = "avg" MINIMUM = "min" MAXIMUM = "max" STANDARD_DEVIATION = "stddev" SUM_SQUARES = "sumsq"
UA = f"ngsildclient v{__version__}" NGSILD_PATH = "ngsi-ld" NGSILD_VERSION = "v1" NGSILD_BASEPATH = f"{NGSILD_PATH}/{NGSILD_VERSION}" TEMPORAL_BASEPATH = "temporal" NGSILD_DEFAULT_PORT_ORIONLD = 1026 NGSILD_DEFAULT_PORT_SCORPIO = 9090 NGSILD_DEFAULT_PORT_STELLIO = 8080 NGSILD_DEFAULT_PORT = NGSILD_DEFAULT_PORT_ORIONLD NGSILD_TEMPORAL_PORT = NGSILD_DEFAULT_PORT # JSON-LD Vocabulary at w3.org JSONLD_CONTEXT = "http://www.w3.org/ns/json-ld#context" # endpoints MUST NOT end with a slash ENDPOINT_STATUS = "version" ENDPOINT_ADMIN = "admin" ENDPOINT_LOG = f"{ENDPOINT_ADMIN}/log" ENDPOINT_ENTITIES = f"{NGSILD_BASEPATH}/entities" ENDPOINT_BATCH = f"{NGSILD_BASEPATH}/entityOperations" ENDPOINT_TYPES = f"{NGSILD_BASEPATH}/types" ENDPOINT_CONTEXTS = f"{NGSILD_BASEPATH}/jsonldContexts" ENDPOINT_SUBSCRIPTIONS = f"{NGSILD_BASEPATH}/subscriptions" PAGINATION_LIMIT_MAX = 100 # pagination DEFAULT_ATTR_FORMAT = None # Let Orion default value => AttrsFormat.NORMALIZED DEFAULT_LOGLEVEL = LogLevel.WARN WRITE_MODE_UPSERT = True WRITE_MODE_IGNORE = False DEFAULT_WRITE_MODE = WRITE_MODE_UPSERT NOW = None