DelfiniFolder¶
- class pydelfini.collections.DelfiniFolder(collection, in_folder, model, core)[source]¶
Bases:
DelfiniItem,FolderMixinRepresents a folder within a collection.
Note that folders cannot be opened as data streams, so the
open()method will always returnOSError.Attributes
Item column definitions
Datetime item was created
Item internal ID
Datetime item was last modified
Item metadata
Item name
Item parser settings
Item fully qualified path
Item type (
file,folder,dataview, etc.)Collection that contains this item
Folder that contains this item
- Parameters:
collection (DelfiniCollection)
in_folder (FolderMixin)
model (Item)
core (AuthenticatedClient)
- __getitem__(item_path)¶
Retrieve an item in this folder.
Relative paths are supported, such as
folder_a/folder_b/item_c.- Parameters:
item_path (str)
- Return type:
- __iter__()¶
Iterate over all items in this folder.
- Return type:
- collection: DelfiniCollection¶
Collection that contains this item
- property columns: list[ItemColumn] | None¶
Item column definitions
- folder(folder_name)¶
Open the named folder.
- Parameters:
folder_name (str) – the name of the folder to open
- Return type:
- get_table(item_path)¶
Retrieve the tabular contents of an item as a
pd.DataFrame.
- in_folder: FolderMixin¶
Folder that contains this item
- new_empty_file(file_name)¶
Create a new, empty file.
- Parameters:
file_name (str) – the name of the file to create
- Return type:
- new_folder(folder_name)¶
Create a new folder.
- Parameters:
folder_name (str) – the name of the folder to create
- Return type:
- new_link(target, link_name=None)¶
Create a new link pointing to a target.
- Parameters:
- Return type:
- open(mode: Literal['rb'], *, parser: None | str | ItemParser = None, metadata: dict[str, str] | None = None, columns: None | Series | Schema | list[ItemColumn] = None) BinaryIO[source]¶
- open(mode: Literal['r'], *, parser: None | str | ItemParser = None, metadata: dict[str, str] | None = None, columns: None | Series | Schema | list[ItemColumn] = None) TextIO
- open(mode: Literal['wb'], *, parser: None | str | ItemParser = None, metadata: dict[str, str] | None = None, columns: None | Series | Schema | list[ItemColumn] = None) BinaryIO
- open(mode: Literal['w'], *, parser: None | str | ItemParser = None, metadata: dict[str, str] | None = None, columns: None | Series | Schema | list[ItemColumn] = None) TextIO
N/A - folders cannot be opened.
Signature intentionally matches DelfiniItem.open overloads so that type checkers accept calls with the same keyword arguments. At runtime, folders cannot be opened, so we always raise
IsADirectoryError.- Raises:
IsADirectoryError – always
- overwrite_table_data(dataframe, format='csv', **kwargs)¶
Write a
pd.DataFrameto this item, overwriting existing data.- Parameters:
dataframe (DataFrame) – The dataframe to be written.
format (Literal['csv', 'parquet']) – One of the supported formats (
csvorparquet).**kwargs (Any) – Any other arguments to be passed to the Pandas export function. See the documentation for
pd.DataFrame.to_csv()orpd.DataFrame.to_parquet()for valid arguments.
- Return type:
None
- property parser: ItemParser | None¶
Item parser settings
- set_metadata(new_metadata)¶
Update the item’s metadata.
- set_parser(parser, columns=None)¶
Update the item’s parser and optionally columns.
- Parameters:
parser (str | ItemParser) – Parser name (str) or ItemParser object.
columns (None | Series | Schema | list[ItemColumn]) – Optional column schema.
- Return type:
None
- walk()¶
Iterate over all items in this folder, and all subfolders.
- Return type:
- write_table(item_path, dataframe, format='csv', overwrite=False, **kwargs)¶
Write a
pd.DataFrameto the named item.If the item already exists and overwrite is False, an error is raised. If overwrite is True and the item exists, its data is overwritten.
- Parameters:
item_path (str) – The path to the item relative to the current folder. Accepts slashes (‘/’) for items in subfolders.
dataframe (DataFrame) – The dataframe to be written.
format (Literal['csv', 'parquet']) – One of the supported formats (
csvorparquet).overwrite (bool) – If True, overwrite existing item data if it exists. If False (default), raises an error if item already exists.
**kwargs (Any) – Any other arguments to be passed to the Pandas export function. See the documentation for
pd.DataFrame.to_csv()orpd.DataFrame.to_parquet()for valid arguments.
- Return type:
None