Edit on GitHub

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'