You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Python module is auto-generated from the Rust crate via PyO3 + maturin. All types, fields, and methods are derived directly from the Rust source — no separate Python code to maintain.
# From PyPI (recommended)
pip install scix-client
# From source (requires Rust toolchain)
pip install maturin
maturin develop
# List your librariesforlibinclient.list_libraries():
print(f"{lib.name}: {lib.num_documents} papers")
# Create a librarylib=client.create_library("My Reading List", description="Papers to read")
# Add / remove documentsclient.add_documents(lib.id, ["2023ApJ...123..456A"])
client.remove_documents(lib.id, ["2023ApJ...123..456A"])
Library Permissions (v0.2.0)
# Get permissions for a libraryperms=client.get_permissions("library-id")
# Grant a collaborator access (owner, admin, write, read)client.update_permissions("library-id", "colleague@example.edu", "write")
# Transfer ownershipclient.transfer_library("library-id", "new-owner@example.edu")
Annotations / Notes (v0.2.0)
# Set a note on a paper in a libraryclient.set_annotation("library-id", "2023ApJ...123..456A", "Key result in Fig. 3")
# Read it backnote=client.get_annotation("library-id", "2023ApJ...123..456A")
# Deleteclient.delete_annotation("library-id", "2023ApJ...123..456A")
Set Operations (v0.2.0)
# Union: merge papers from source libraries into the targetclient.library_operation("target-id", "union", source_library_ids=["source-1", "source-2"])
# Intersection, difference, copyclient.library_operation("target-id", "intersection", source_library_ids=["source-id"])
# Empty a libraryclient.library_operation("target-id", "empty")
Add Documents by Query (v0.2.0)
# Search and add matching papers to a library in one calladded=client.add_documents_by_query("library-id", 'author:"Weinberg" title:"cosmological constant"', rows=20)
print(f"Added {added} papers")