# Template with instructions
type: dagster.PythonScriptComponent  # Required
attributes:  # Optional: Attributes details
  assets:  # Optional: 
    - # Array of AssetSpecKwargsModel objects:
      deps: <one of: array of string, string>  # Optional: The asset keys for the upstream assets that this asset depends on.
      description: <string>  # Optional: Human-readable description of the asset.
      metadata: <one of: object, string>  # Optional: Additional metadata for the asset.
      group_name: <string>  # Optional: Used to organize assets into groups, defaults to 'default'.
      skippable: <one of: boolean, string>  # Optional: Whether this asset can be omitted during materialization, causing downstream dependencies to skip.
      code_version: <string>  # Optional: A version representing the code that produced the asset. Increment this value when the code changes.
      owners: <one of: array of string, string>  # Optional: A list of strings representing owners of the asset. Each string can be a user's email address, or a team name prefixed with `team:`, e.g. `team:finops`.
      tags: <one of: object, string>  # Optional: Tags for filtering and organizing.
      kinds: <one of: array of string, string>  # Optional: A list of strings representing the kinds of the asset. These will be made visible in the Dagster UI.
      automation_condition: <string>  # Optional: The condition under which the asset will be automatically materialized.
      partitions_def:  # Optional: The partitions definition for the asset.
        # Choose one of the following types:
        # Option 1 - HourlyPartitionsDefinitionModel:
        # type: <string>  # Optional: 
        # start_date: <string>  # Optional: 
        # end_date: <string>  # Optional: 
        # timezone: <string>  # Optional: 
        # minute_offset: <integer>  # Optional: 
        #
        # Option 2 - DailyPartitionsDefinitionModel:
        # type: <string>  # Optional: 
        # start_date: <string>  # Optional: 
        # end_date: <string>  # Optional: 
        # timezone: <string>  # Optional: 
        # minute_offset: <integer>  # Optional: 
        # hour_offset: <integer>  # Optional: 
        #
        # Option 3 - WeeklyPartitionsDefinitionModel:
        # type: <string>  # Optional: 
        # start_date: <string>  # Optional: 
        # end_date: <string>  # Optional: 
        # timezone: <string>  # Optional: 
        # minute_offset: <integer>  # Optional: 
        # hour_offset: <integer>  # Optional: 
        # day_offset: <integer>  # Optional: 
        #
        # Option 4 - TimeWindowPartitionsDefinitionModel:
        # type: <string>  # Optional: 
        # start_date: <string>  # Optional: 
        # end_date: <string>  # Optional: 
        # timezone: <string>  # Optional: 
        # fmt: <string>  # Optional: 
        # cron_schedule: <string>  # Optional: 
        #
        # Option 5 - StaticPartitionsDefinitionModel:
        # type: <string>  # Optional: 
        # partition_keys:  # Optional: List of string items
          - <string>
        #
      freshness_policy: <string>  # Optional: The freshness policy for the asset.
      key: <string>  # Required: A unique identifier for the asset.
  checks:  # Optional: 
    - # Array of AssetCheckSpecKwargsModel objects:
      name: <string>  # Required: 
      asset: <string>  # Required: A unique identifier for the asset.
      additional_deps: <one of: array of string, string>  # Optional: 
      description: <string>  # Optional: 
      blocking: <one of: boolean, string>  # Optional: 
      metadata: <one of: object, string>  # Optional: 
      automation_condition: <string>  # Optional: 
  execution:  # Required: 
    name: <string>  # Optional: 
    tags: <one of: object, string>  # Optional: 
    description: <string>  # Optional: 
    pool: <string>  # Optional: 
    backfill_policy:  # Optional: 
      # Choose one of the following types:
      # Option 1 - SingleRunBackfillPolicyModel:
      # type: <string>  # Optional: 
      #
      # Option 2 - MultiRunBackfillPolicyModel:
      # type: <string>  # Optional: 
      # max_partitions_per_run: <integer>  # Optional: 
      #
    type: <one of: string, string>  # Optional: 
    path: <string>  # Required: 
    args: <one of: array of string, string>  # Optional: 