def test_image_repo_parsing_errors(pg_repo_local): repo = Repository("test", "pg_mount") assert ImageType(get_image=True, default="latest")("test/pg_mount")[1] == repo.images["latest"] assert ( ImageType(get_image=True, default="latest")("test/pg_mount:00000000")[1] == repo.images["00000000"] ) with pytest.raises(ImageNotFoundError): ImageType(get_image=True, default="latest")("test/pg_mount:doesnt_exist") with pytest.raises(RepositoryNotFoundError): ImageType(get_image=True, default="latest")("test/doesntexist:latest") with pytest.raises(RepositoryNotFoundError): RepositoryType(exists=True)("test/doesntexist")
def pull_c(repository_or_image, download_all, overwrite_object_meta, tags): """ Pull changes / download a single image. """ repository, image = repository_or_image repository.pull( download_all, single_image=image, overwrite_objects=overwrite_object_meta, overwrite_tags=tags, ) @click.command(name="clone") @click.argument("remote_repository_or_image", type=ImageType(default=None)) @click.argument("local_repository", required=False, type=RepositoryType()) @click.option("-r", "--remote", help="Name of the remote engine") @click.option( "-d", "--download-all", help="Download all objects immediately instead of on checkout.", default=False, is_flag=True, ) @click.option( "-f", "--overwrite-object-meta", help="Overwrite metadata for existing objects", is_flag=True, ) @click.option("-t",
Check out the `dec_2018` tag of `noaa/climate` and output values from `"rainfall"` for Arizona to `dec_2018_az.csv` `sgr csv export --layered noaa/climate:abcdef1234567890 "SELECT * FROM rainfall JOIN other_table ON..."` Uses layered querying instead to execute a join on tables in a certain image (satisfying the query without having to check the image out). """ from splitgraph.ingestion.csv import csv_adapter repository, image = image_spec csv_adapter.to_data(query, image, repository, layered, buffer=file) @click.command(name="import") @click.argument("repository", type=RepositoryType(exists=True)) @click.argument("table") @click.option( "-f", "--file", type=click.File("rb"), default="-", help="File name to import data from, default stdin.", ) @click.option("-r", "--replace", default=False, is_flag=True, help="Replace the table if it already exists.") @click.option( "-k",
conn_params=ddn_params, registry=False, check_version=False) try: results = engine.run_sql(query) emit_sql_results(results, use_json=json, show_all=show_all) finally: engine.close() @click.command("readme") @click.option("--remote", default="data.splitgraph.com", help="Name of the remote registry to use.") @click.argument("repository", type=RepositoryType(exists=False)) @click.argument("readme", type=click.File("r")) def readme_c(remote, repository, readme): """Upload or a README to a Splitgraph repository. The repository must have already been pushed. The README must be a file in Markdown format. """ from splitgraph.cloud import GQLAPIClient client = GQLAPIClient(remote) client.upsert_readme(namespace=repository.namespace, repository=repository.repository, readme=readme.read()) click.echo("README updated for repository %s." % str(repository))