> For the complete documentation index, see [llms.txt](https://docs.redivis.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.redivis.com/api/client-libraries/redivis-python/reference/table/table.download.md).

# Table.download

### Table.<mark style="color:purple;">download</mark>(*path=os.cwd(), \*, format='csv', overwrite=False,  progress=True, max\_parallelization=None, max\_concurrency=None*) → list(str)

Downloads the table in a given format to the path specified, as one or more files. Returns a list of strings representing the absolute file path of all downloaded files.

### **Parameters:**

**`path` :&#x20;*****str***\
The path at which to download the table. Will automatically create any directories if they don't exist. If not specified, path defaults to the current working directory.&#x20;

Some exports (avro and parquet) of larger tables can contain multiple files. The downloaded file paths will vary based on the following rules:

* If the export has one file, and `path` is a file (either existing, or ends with an extension), the export will be saved as `path`.
* If the export has one file, and `path` is a directory, the export will be saved within the directory as `{table_name}.{format}`
* If the export has multiple files, and `path` is a file (either existing, or ends with an extension), an exception will be raised.
* If the export has multiple files, and `path` is a directory, a subdirectory (based on the table name) will be created and the individual files will be stored within that directory.

**`format` :&#x20;*****str, default 'csv'***\
The format of the downloaded file(s). Must be one of `csv`, `parquet`, `avro`, `ndjson`, `sav`, `sas7bdat`, `dta`

**`overwrite` :&#x20;*****bool, default False***\
Whether to overwrite any existing files when downloading. If False, will throw an error if a file with the same name already exists at the provided path.

**`progress` :&#x20;*****bool, default True***\
Whether to show progress bar.

**`max_parallelization` :&#x20;*****int, default None***\
The maximum number of threads to use to download files. If unset (recommended), will be determined dynamically based on the number of files, their size, and available cores on your machine.

**`max_concurrency` :&#x20;*****int, default None***\
The maximum total concurrency when downloading files. Should be higher than max\_parallelization, as multiple files are downloaded concurrently per thread. If unset (recommended), will be determined dynamically based on the number of files, their size, and available cores on your machine.

### **Returns:**&#x20;

**list\<str>**&#x20;

A list of strings represent the absolute paths of the downloaded files.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.redivis.com/api/client-libraries/redivis-python/reference/table/table.download.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
