""" Constants used throughout the project. """ from enum import StrEnum, unique @unique class CompressionFormats(StrEnum): """Compression formats.""" BROTLI = "brotli" ZSTD = "zstd" @unique class Formats(StrEnum): """File and data formats.""" CSV = "csv" JSON = "json" XLSX = "xlsx" @unique class FileExtensions(StrEnum): """File extensions, including the leading period.""" XLSX = f".{Formats.XLSX}" @unique class MimeTypes(StrEnum): """MIME types.""" APPLICATION = "application" @unique class MimeSubTypes(StrEnum): """MIME subtypes.""" ALTERNATIVE = "alternative" PLAIN = "plain" HTML = "html" OCTET_STREAM = "octet-stream" @unique class AWSResponse(StrEnum): STATUS_CODE = "statusCode" BODY = "body" @unique class AWSPayload(StrEnum): SECRET_STRING = "SecretString" PAYLOAD = "Payload" REQUEST_RESPONSE = "RequestResponse" RECORDS = "Records" SNS = "Sns" MESSAGE = "Message" BODY = "Body" KEY = "Key" CONTENTS = "Contents" RESPONSE_METADATA = "ResponseMetadata" HTTP_STATUS_CODE = "HTTPStatusCode" TOPICS = "Topics" TOPIC_ARN = "TopicArn" @unique class AWSService(StrEnum): """Service names for use with AWS Client.""" LAMBDA = "lambda" SECRETS_MANAGER = "secretsmanager" SES = "ses" S3 = "s3" SNS = "sns" @unique class AWSRegion(StrEnum): """AWS Regions.""" US_EAST_1 = "us-east-1" @unique class AWSPrefixes(StrEnum): """AWS path prefixes.""" S3 = "s3://" @unique class PlatformName(StrEnum): """Platform names (human-readable).""" SNOWFLAKE = "Snowflake" S3 = "S3"