code: def __init__(
      self, config_path, dotenv_path, compose_bin, params=None
  ):
      config_path = _ensure_path(config_path)
      if dotenv_path:
          dotenv_path = _ensure_path(dotenv_path)
      else:
          dotenv_path = config_path.parent / ".env"
      self._read_env(dotenv_path, params)
      self._read_config(config_path, compose_bin)
  
imports: import os
  import shlex
  import subprocess
  from io import StringIO
  from dotenv import dotenv_values
  from ruamel.yaml import YAML
  from ..utils.command import Command, default_bin
  from ..utils.source import arrow_path
  from ..compat import _ensure_path
label_desc: Use image node_id 1 to create a new ComposeConfig object  with example: obj = ComposeConfig(config_path, dotenv_path, compose_bin, params)