file_to_civis(buf, name, api_key=None, client=None, **kwargs)[source]¶
Upload a file to Civis.
buf : file-like object or str
The file or other buffer that you wish to upload. Strings will be treated as paths to local files to open.
name : str
The name you wish to give the file.
api_key : DEPRECATED str, optional
Your Civis API key. If not given, the
CIVIS_API_KEYenvironment variable will be used.
If not provided, an
civis.APIClientobject will be created from the
**kwargs : kwargs
Extra keyword arguments will be passed to the file creation endpoint. See
file_id : int
The new Civis file ID.
If you are opening a binary file (e.g., a compressed archive) to pass to this function, do so using the
'rb'(read binary) mode (e.g.,
Warning: If the file-like object is seekable, the current position will be reset to 0.
This facilitates retries and is used to chunk files for multipart uploads for improved performance.
Small or non-seekable file-like objects will be uploaded with a single post.
>>> # Upload file at a given path on the local filesystem. >>> file_id = file_to_civis("my_data.csv", 'my_data') >>> # Upload file which expires in 30 days >>> with open("my_data.csv", "r") as f: ... file_id = file_to_civis(f, 'my_data') >>> # Upload file which never expires >>> with open("my_data.csv", "r") as f: ... file_id = file_to_civis(f, 'my_data', expires_at=None)