pipolars.PIConfig - PIPolars 0.1.0 documentation

Skip to content
Back to top
View this page
Edit this page

# pipolars.PIConfig

class pipolars.PIConfig

  Bases: `BaseSettings`

  Main configuration class for PIPolars library.

  This class aggregates all configuration sections and provides a unified interface for configuration management.

  Example

      >>> config = PIConfig(
      ...     server=PIServerConfig(host="my-pi-server"),
      ...     cache=CacheConfig(backend=CacheBackend.SQLITE),
      ... )
      >>> client = PIClient(config=config)

  __init__(_case_sensitive=None, _nested_model_default_partial_update=None, _env_prefix=None, _env_file=WindowsPath('.'), _env_file_encoding=None, _env_ignore_empty=None, _env_nested_delimiter=None, _env_nested_max_split=None, _env_parse_none_str=None, _env_parse_enums=None, _cli_prog_name=None, _cli_parse_args=None, _cli_settings_source=None, _cli_parse_none_str=None, _cli_hide_none_type=None, _cli_avoid_json=None, _cli_enforce_required=None, _cli_use_class_docs_for_groups=None, _cli_exit_on_error=None, _cli_prefix=None, _cli_flag_prefix_char=None, _cli_implicit_flags=None, _cli_ignore_unknown_args=None, _cli_kebab_case=None, _cli_shortcuts=None, _secrets_dir=None, **values)

    Create a new model by parsing and validating input data from keyword arguments.

    Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

    self is explicitly positional-only to allow self as a field name.

  Methods

  `__init__`([_case_sensitive, ...]) | Create a new model by parsing and validating input data from keyword arguments.
  `construct`([_fields_set]) |
  `copy`(*[, include, exclude, update, deep]) | Returns a copy of the model.
  `dict`(*[, include, exclude, by_alias, ...]) |
  `from_file`(path) | Load configuration from a TOML or JSON file.
  `from_orm`(obj) |
  `json`(*[, include, exclude, by_alias, ...]) |
  `model_construct`([_fields_set]) | Creates a new instance of the Model class with validated data.
  `model_copy`(*[, update, deep]) | !!! abstract "Usage Documentation"
  `model_dump`(*[, mode, include, exclude, ...]) | !!! abstract "Usage Documentation"
  `model_dump_json`(*[, indent, ensure_ascii, ...]) | !!! abstract "Usage Documentation"
  `model_json_schema`([by_alias, ref_template, ...]) | Generates a JSON schema for a model class.
  `model_parametrized_name`(params) | Compute the class name for parametrizations of generic classes.
  `model_post_init`(context, /) | Override this method to perform additional initialization after __init__ and model_construct.
  `model_rebuild`(*[, force, raise_errors, ...]) | Try to rebuild the pydantic-core schema for the model.
  `model_validate`(obj, *[, strict, extra, ...]) | Validate a pydantic model instance.
  `model_validate_json`(json_data, *[, strict, ...]) | !!! abstract "Usage Documentation"
  `model_validate_strings`(obj, *[, strict, ...]) | Validate the given object with string data against the Pydantic model.
  `parse_file`(path, *[, content_type, ...]) |
  `parse_obj`(obj) |
  `parse_raw`(b, *[, content_type, encoding, ...]) |
  `schema`([by_alias, ref_template]) |
  `schema_json`(*[, by_alias, ref_template]) |
  `settings_customise_sources`(settings_cls, ...) | Define the sources and their order for loading the settings values.
  `to_dict`() | Convert configuration to a dictionary.
  `update_forward_refs`(**localns) |
  `validate`(value) |

  Attributes

  `model_computed_fields` |
  `model_config` | Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
  `model_extra` | Get extra fields set during validation.
  `model_fields` |
  `model_fields_set` | Returns the set of fields that have been explicitly set on this model instance.
  `server` |
  `af` |
  `cache` |
  `query` |
  `polars` |
  `debug` |
  `log_level` |

  model_config = {'arbitrary_types_allowed': True, 'case_sensitive': False, 'cli_avoid_json': False, 'cli_enforce_required': False, 'cli_exit_on_error': True, 'cli_flag_prefix_char': '-', 'cli_hide_none_type': False, 'cli_ignore_unknown_args': False, 'cli_implicit_flags': False, 'cli_kebab_case': False, 'cli_parse_args': None, 'cli_parse_none_str': None, 'cli_prefix': '', 'cli_prog_name': None, 'cli_shortcuts': None, 'cli_use_class_docs_for_groups': False, 'enable_decoding': True, 'env_file': '.env', 'env_file_encoding': None, 'env_ignore_empty': False, 'env_nested_delimiter': '__', 'env_nested_max_split': None, 'env_parse_enums': None, 'env_parse_none_str': None, 'env_prefix': 'PIPOLARS_', 'extra': 'ignore', 'json_file': None, 'json_file_encoding': None, 'nested_model_default_partial_update': False, 'protected_namespaces': ('model_validate', 'model_dump', 'settings_customise_sources'), 'secrets_dir': None, 'toml_file': None, 'validate_default': True, 'yaml_config_section': None, 'yaml_file': None, 'yaml_file_encoding': None}

    Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

  server: PIServerConfig
  af: AFServerConfig
  cache: CacheConfig
  query: QueryConfig
  polars: PolarsConfig
  debug: bool
  log_level: str
  classmethod from_file(path)

    Load configuration from a TOML or JSON file.

    Parameters:

      path (str | Path) – Path to the configuration file

    Returns:

      PIConfig instance with loaded configuration

    Return type:

      PIConfig

  to_dict()

    Convert configuration to a dictionary.

    Sensitive fields like passwords are masked.