mirror of
https://github.com/K-Dense-AI/claude-scientific-skills.git
synced 2026-03-27 07:09:27 +08:00
2.5 KiB
2.5 KiB
Collection Management
Reading Collections
# All collections (flat list including nested)
all_cols = zot.collections()
# Only top-level collections
top_cols = zot.collections_top()
# Specific collection
col = zot.collection('COLKEY')
# Sub-collections of a collection
sub_cols = zot.collections_sub('COLKEY')
# All collections under a given collection (recursive)
tree = zot.all_collections('COLKEY')
# Or all collections in the library:
tree = zot.all_collections()
Collection Data Structure
col = zot.collection('5TSDXJG6')
name = col['data']['name']
key = col['data']['key']
parent = col['data']['parentCollection'] # False if top-level, else parent key
version = col['data']['version']
n_items = col['meta']['numItems']
n_sub_collections = col['meta']['numCollections']
Creating Collections
# Create a top-level collection
zot.create_collections([{'name': 'My New Collection'}])
# Create a nested collection
zot.create_collections([{
'name': 'Sub-Collection',
'parentCollection': 'PARENTCOLKEY'
}])
# Create multiple at once
zot.create_collections([
{'name': 'Collection A'},
{'name': 'Collection B'},
{'name': 'Sub-B', 'parentCollection': 'BKEY'},
])
Updating Collections
cols = zot.collections()
# Rename the first collection
cols[0]['data']['name'] = 'Renamed Collection'
zot.update_collection(cols[0])
# Update multiple collections (auto-chunked at 50)
zot.update_collections(cols)
Deleting Collections
# Delete a single collection
col = zot.collection('COLKEY')
zot.delete_collection(col)
# Delete multiple collections
cols = zot.collections()
zot.delete_collection(cols) # pass a list of dicts
Managing Items in Collections
# Add an item to a collection
item = zot.item('ITEMKEY')
zot.addto_collection('COLKEY', item)
# Remove an item from a collection
zot.deletefrom_collection('COLKEY', item)
# Get all items in a collection
items = zot.collection_items('COLKEY')
# Get only top-level items in a collection
top_items = zot.collection_items_top('COLKEY')
# Count items in a collection
n = zot.num_collectionitems('COLKEY')
# Get tags in a collection
tags = zot.collection_tags('COLKEY')
Find Collection Key by Name
def find_collection(zot, name):
for col in zot.everything(zot.collections()):
if col['data']['name'] == name:
return col['data']['key']
return None
key = find_collection(zot, 'Machine Learning Papers')