openalex_client
if response.status_code == 200: return response.json() elif response.status_code == 403: # Rate limited wait_time = 2 attempt print(f"Rate limited. Waiting {wait_time}s before retry...") time.sleep(wait_time) elif response.status_code >=…
- Skills
- Scientific
- 0
What it does and how to use it
A skill that teaches Claude Code to do scientific tasks well. It is packaged knowledge the model uses whenever it is relevant.
- Install the skill (command above).
- In Claude Code, describe what you need - the skill turns on by itself when the context fits.
- No commands to memorize: you talk in plain language and the skill does the rest.
Install (Claude Code)
mkdir -p .claude/skills/openalex-client && curl -fsSL https://doutorai.pt/data/lib/skills__openalex-client.md -o .claude/skills/openalex-client/SKILL.mdPaste this command into the terminal, in your project folder, and the component installs automatically.
Content
#!/usr/bin/env python3
"""
OpenAlex API Client with rate limiting and error handling.
Provides a robust client for interacting with the OpenAlex API with:
- Automatic rate limiting (polite pool: 10 req/sec)
- Exponential backoff retry logic
- Pagination support
- Batch operations support
"""
import time
import requests
from typing import Dict, List, Optional, Any
from urllib.parse import urljoin
class OpenAlexClient:
"""Client for OpenAlex API with rate limiting and error handling."""
BASE_URL = "https://api.openalex.org"
def __init__(self, email: Optional[str] = None, reques
- 🔒 Full content on the Pro plan (€7.99/month) -Need help with Claude Code?
Ask Dr AI - it explains things simply.
Need a tailor-made solution?
Not sure where to start with AI in your business? Get a free assessment and a tailored plan - no commitment.
Save hours every week with AI, no hassle
Doutor AI gives you 1,859 ready-to-copy AI prompts, by industry and in plain English - plus a complete technical library for those who want to go further.