docs: def run_crate(
          version,
          env=None,
          setting=None,
          crate_root=None,
          keep_data=False,
          disable_java_magic=False,
  ):
      """Launch a crate instance.
  
      Supported version specifications:
          - Concrete version like "0.55.0" or with wildcard: "1.1.x"
          - An alias (one of [latest-nightly, latest-stable, latest-testing])
          - A URI pointing to a CrateDB tarball (in .tar.gz format)
          - A URI pointing to a checked out CrateDB repo directory
  
      run-crate supports command chaining. To launch a CrateDB node and another
      sub-command use:
  
          cr8 run-crate <ver> -- timeit -s "select 1" --hosts '{node.http_url}'
  
      To launch any (blocking) subprocess, prefix the name with '@':
  
          cr8 run-crate <version> -- @http '{node.http_url}'
  
      If run-crate is invoked using command chaining it will exit once all
      chained commands finished.
  
      The postgres host and port are available as {node.addresses.psql.host} and
      {node.addresses.psql.port}
      """
      with create_node(
              version,
              env,
              setting,
              crate_root,
              keep_data,
              java_magic=not disable_java_magic,
      ) as n:
          try:
              n.start()
              n.process.wait()
          except KeyboardInterrupt:
              print('Stopping Crate...')