labarchive-integration — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited labarchive-integration (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
LabArchives is an electronic lab notebook platform for research documentation and data management. Access notebooks, manage entries and attachments, generate reports, and integrate with third-party tools programmatically via REST API.
This skill should be used when:
Set up API access credentials and regional endpoints for LabArchives API integration.
Prerequisites:
Configuration setup:
Use the scripts/setup_config.py script to create a configuration file:
python3 scripts/setup_config.pyThis creates a config.yaml file with the following structure:
api_url: https://api.labarchives.com/api # or regional endpoint
access_key_id: YOUR_ACCESS_KEY_ID
access_password: YOUR_ACCESS_PASSWORDRegional API endpoints:
https://api.labarchives.com/apihttps://auapi.labarchives.com/apihttps://ukapi.labarchives.com/apiFor detailed authentication instructions and troubleshooting, refer to references/authentication_guide.md.
Obtain user ID (UID) and access information required for subsequent API operations.
Workflow:
users/user_access_info API method with login credentialsusers/user_info_via_idExample using Python wrapper:
from labarchivespy.client import Client
# Initialize client
client = Client(api_url, access_key_id, access_password)
# Get user access info
login_params = {'login_or_email': user_email, 'password': auth_token}
response = client.make_call('users', 'user_access_info', params=login_params)
# Extract UID from response
import xml.etree.ElementTree as ET
uid = ET.fromstring(response.content)[0].text
# Get detailed user info
params = {'uid': uid}
user_info = client.make_call('users', 'user_info_via_id', params=params)Manage notebook access, backup, and metadata retrieval.
Key operations:
Notebook backup example:
Use the scripts/notebook_operations.py script:
# Backup with attachments (default, creates 7z archive)
python3 scripts/notebook_operations.py backup --uid USER_ID --nbid NOTEBOOK_ID
# Backup without attachments, JSON format
python3 scripts/notebook_operations.py backup --uid USER_ID --nbid NOTEBOOK_ID --json --no-attachmentsAPI endpoint format:
https://<api_url>/notebooks/notebook_backup?uid=<UID>&nbid=<NOTEBOOK_ID>&json=true&no_attachments=falseFor comprehensive API method documentation, refer to references/api_reference.md.
Create, modify, and manage notebook entries and file attachments.
Entry operations:
Attachment workflow:
Use the scripts/entry_operations.py script:
# Upload attachment to an entry
python3 scripts/entry_operations.py upload --uid USER_ID --nbid NOTEBOOK_ID --entry-id ENTRY_ID --file /path/to/file.pdf
# Create a new entry with text content
python3 scripts/entry_operations.py create --uid USER_ID --nbid NOTEBOOK_ID --title "Experiment Results" --content "Results from today's experiment..."Supported file types:
Generate institutional reports on notebook usage, activity, and compliance (Enterprise feature).
Available reports:
Report generation:
# Generate detailed usage report
response = client.make_call('site_reports', 'detailed_usage_report',
params={'start_date': '2025-01-01', 'end_date': '2025-10-20'})LabArchives integrates with numerous scientific software platforms. This skill provides guidance on leveraging these integrations programmatically.
Supported integrations:
OAuth authentication: LabArchives now uses OAuth for all new integrations. Legacy integrations may use API key authentication.
For detailed integration setup instructions and use cases, refer to references/integrations.md.
# Complete backup script
python3 scripts/notebook_operations.py backup-all --email [email protected] --password AUTH_TOKENInstall the labarchives-py wrapper for simplified API access:
git clone https://github.com/mcmero/labarchives-py
cd labarchives-py
uv pip install .Alternatively, use direct HTTP requests via Python's requests library for custom implementations.
Common issues:
For additional support, contact LabArchives at [email protected].
This skill includes bundled resources to support LabArchives API integration:
setup_config.py: Interactive configuration file generator for API credentialsnotebook_operations.py: Utilities for listing, backing up, and managing notebooksentry_operations.py: Tools for creating entries and uploading attachmentsapi_reference.md: Comprehensive API endpoint documentation with parameters and examplesauthentication_guide.md: Detailed authentication setup and configuration instructionsintegrations.md: Third-party integration setup guides and use cases~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.