/**
 * @brief Default configuration for Pyright static type checker.
 * @file pyright.libjsonnet
 * @namespace pyright
 */
{
  /** @brief Enables deprecation warnings for typing module aliases (e.g., typing.List -> list). */
  deprecateTypingAliases: true,
  /** @brief Enables experimental features in Pyright that are not yet stabilised. */
  enableExperimentalFeatures: true,
  /** @brief Excludes specified paths from type checking and analysis. */
  exclude: ['.venv', '**/node_modules', '**/__pycache__', '**/.*'],
  /** @brief Specifies the target platform for platform-specific type analysis. */
  pythonPlatform: 'Linux',
  /** @brief Reports calls in default initializer expressions as warnings, since they are evaluated once at function definition time. */
  reportCallInDefaultInitializer: 'warning',
  /** @brief Reports missing explicit override decorators on methods that override a base class method. */
  reportImplicitOverride: 'warning',
  /** @brief Reports circular import dependencies as errors. */
  reportImportCycles: 'error',
  /** @brief Reports missing source files for imported modules as errors. */
  reportMissingModuleSource: 'error',
  /** @brief Reports mismatches between property types in base and derived classes as errors. */
  reportPropertyTypeMismatch: 'error',
  /** @brief Controls reporting of unnecessary type: ignore comments; set to none to disable. */
  reportUnnecessaryTypeIgnoreComment: 'none',
  /** @brief Sets the overall type checking strictness level; 'off' disables most type checking rules. */
  typeCheckingMode: 'off',
  /** @brief Disables using library code for type inference, relying on type stubs instead. */
  useLibraryCodeForTypes: false,
}
