sqlmesh.core.constants
1from __future__ import annotations 2 3import datetime 4import multiprocessing as mp 5import os 6import typing as t 7from pathlib import Path 8 9SQLMESH = "sqlmesh" 10SQLMESH_MANAGED = "sqlmesh_managed" 11SQLMESH_PATH = Path(os.getenv("SQLMESH_HOME") or Path.home() / ".sqlmesh") 12 13PROD = "prod" 14"""Prod""" 15DEV = "dev" 16"""Dev""" 17 18SNAPSHOTS_PATH = "snapshots" 19"""Snapshots path""" 20DEFAULT_SNAPSHOT_TTL = "in 1 week" 21"""Default snapshot TTL""" 22DEFAULT_ENVIRONMENT_TTL = "in 1 week" 23"""Default environment TTL""" 24IGNORE_PATTERNS = [ 25 ".ipynb_checkpoints/*", 26] 27"""Ignore patterns""" 28DATA_VERSION_LIMIT = 10 29"""Data version limit""" 30DEFAULT_TIME_COLUMN_FORMAT = "%Y-%m-%d" 31"""Default time column format""" 32MAX_MODEL_DEFINITION_SIZE = 10000 33"""Maximum number of characters in a model definition""" 34 35 36# The maximum number of fork processes, used for loading projects 37# None means default to process pool, 1 means don't fork, :N is number of processes 38# Factors in the number of available CPUs even if the process is bound to a subset of them 39# (e.g. via taskset) to avoid oversubscribing the system and causing kill signals 40if hasattr(os, "fork") and not mp.current_process().daemon: 41 try: 42 MAX_FORK_WORKERS: t.Optional[int] = int(os.getenv("MAX_FORK_WORKERS")) # type: ignore 43 except TypeError: 44 MAX_FORK_WORKERS = ( 45 len(os.sched_getaffinity(0)) if hasattr(os, "sched_getaffinity") else None # type: ignore 46 ) 47else: 48 MAX_FORK_WORKERS = 1 49 50EPOCH = datetime.date(1970, 1, 1) 51 52DEFAULT_MAX_LIMIT = 1000 53"""The default maximum row limit that is used when evaluating a model.""" 54 55DEFAULT_LOG_LIMIT = 20 56"""The default number of logs to keep.""" 57 58DEFAULT_LOG_FILE_DIR = "logs" 59"""The default directory for log files.""" 60 61AUDITS = "audits" 62CACHE = ".cache" 63EXTERNAL_MODELS = "external_models" 64LINTER = "linter" 65MACROS = "macros" 66MATERIALIZATIONS = "materializations" 67METRICS = "metrics" 68MODELS = "models" 69SEEDS = "seeds" 70SIGNALS = "signals" 71TESTS = "tests" 72 73EXTERNAL_MODELS_YAML = "external_models.yaml" 74EXTERNAL_MODELS_DEPRECATED_YAML = "schema.yaml" 75REQUIREMENTS = "sqlmesh-requirements.lock" 76 77DEFAULT_SCHEMA = "default" 78 79SQLMESH_VARS = "__sqlmesh__vars__" 80SQLMESH_VARS_METADATA = "__sqlmesh__vars__metadata__" 81SQLMESH_BLUEPRINT_VARS = "__sqlmesh__blueprint__vars__" 82SQLMESH_BLUEPRINT_VARS_METADATA = "__sqlmesh__blueprint__vars__metadata__" 83 84VAR = "var" 85BLUEPRINT_VAR = "blueprint_var" 86GATEWAY = "gateway" 87 88SQLMESH_MACRO = "__sqlmesh__macro__" 89SQLMESH_BUILTIN = "__sqlmesh__builtin__" 90SQLMESH_METADATA = "__sqlmesh__metadata__" 91 92 93BUILTIN = "builtin" 94DBT = "dbt" 95NATIVE = "native" 96HYBRID = "hybrid" 97 98DISABLE_SQLMESH_STATE_MIGRATION = "SQLMESH__AIRFLOW__DISABLE_STATE_MIGRATION"
SQLMESH =
'sqlmesh'
SQLMESH_MANAGED =
'sqlmesh_managed'
SQLMESH_PATH =
PosixPath('/home/docs/.sqlmesh')
PROD =
'prod'
Prod
DEV =
'dev'
Dev
SNAPSHOTS_PATH =
'snapshots'
Snapshots path
DEFAULT_SNAPSHOT_TTL =
'in 1 week'
Default snapshot TTL
DEFAULT_ENVIRONMENT_TTL =
'in 1 week'
Default environment TTL
IGNORE_PATTERNS =
['.ipynb_checkpoints/*']
Ignore patterns
DATA_VERSION_LIMIT =
10
Data version limit
DEFAULT_TIME_COLUMN_FORMAT =
'%Y-%m-%d'
Default time column format
MAX_MODEL_DEFINITION_SIZE =
10000
Maximum number of characters in a model definition
EPOCH =
datetime.date(1970, 1, 1)
DEFAULT_MAX_LIMIT =
1000
The default maximum row limit that is used when evaluating a model.
DEFAULT_LOG_LIMIT =
20
The default number of logs to keep.
DEFAULT_LOG_FILE_DIR =
'logs'
The default directory for log files.
AUDITS =
'audits'
CACHE =
'.cache'
EXTERNAL_MODELS =
'external_models'
LINTER =
'linter'
MACROS =
'macros'
MATERIALIZATIONS =
'materializations'
METRICS =
'metrics'
MODELS =
'models'
SEEDS =
'seeds'
SIGNALS =
'signals'
TESTS =
'tests'
EXTERNAL_MODELS_YAML =
'external_models.yaml'
EXTERNAL_MODELS_DEPRECATED_YAML =
'schema.yaml'
REQUIREMENTS =
'sqlmesh-requirements.lock'
DEFAULT_SCHEMA =
'default'
SQLMESH_VARS =
'__sqlmesh__vars__'
SQLMESH_VARS_METADATA =
'__sqlmesh__vars__metadata__'
SQLMESH_BLUEPRINT_VARS =
'__sqlmesh__blueprint__vars__'
SQLMESH_BLUEPRINT_VARS_METADATA =
'__sqlmesh__blueprint__vars__metadata__'
VAR =
'var'
BLUEPRINT_VAR =
'blueprint_var'
GATEWAY =
'gateway'
SQLMESH_MACRO =
'__sqlmesh__macro__'
SQLMESH_BUILTIN =
'__sqlmesh__builtin__'
SQLMESH_METADATA =
'__sqlmesh__metadata__'
BUILTIN =
'builtin'
DBT =
'dbt'
NATIVE =
'native'
HYBRID =
'hybrid'
DISABLE_SQLMESH_STATE_MIGRATION =
'SQLMESH__AIRFLOW__DISABLE_STATE_MIGRATION'