# RankVectors Python SDK
Official Python SDK for the RankVectors API - Intelligent internal linking optimization using AI.
## Installation
```bash
pip install rankvectors
```
## Quick Start
```python
import rankvectors
from rankvectors.api import projects_api
from rankvectors.model.create_project_request import CreateProjectRequest
# Configure the API client
configuration = rankvectors.Configuration(
host="https://api.rankvectors.com"
)
# Set API key
configuration.api_key['Authorization'] = 'YOUR_API_KEY' # Replace with your actual API key
# Create API instance
with rankvectors.ApiClient(configuration) as api_client:
api_instance = projects_api.ProjectsApi(api_client)
# Create project
project_data = CreateProjectRequest(
name="My Website",
domain="https://example.com",
prompt="Only crawl blog posts and documentation"
)
try:
project = api_instance.create_project(project_data)
print(f"Project created: {project}")
# Start crawling
crawl = api_instance.start_crawl(project.id)
print(f"Crawl started: {crawl}")
except rankvectors.ApiException as e:
print(f"Error: {e}")
```
## Features
- ✅ **Python 3.7+**: Modern Python support with type hints
- ✅ **Async Support**: Full async/await support for non-blocking operations
- ✅ **Automatic Authentication**: Handles API key authentication automatically
- ✅ **Error Handling**: Comprehensive error handling with detailed error messages
- ✅ **Type Hints**: Full type annotations for better IDE support
- ✅ **Context Managers**: Proper resource management with context managers
## API Coverage
- **Projects**: Create, manage, and delete projects
- **Crawling**: Start and monitor website crawls
- **Suggestions**: Generate AI-powered link suggestions
- **Implementations**: Implement links via API or webhook
- **Credits**: Manage credit balance and usage
- **Content Verification**: Verify content changes before implementation
## Error Handling
```python
try:
project = api_instance.create_project(project_data)
except rankvectors.ApiException as e:
if e.status == 401:
print("Authentication failed")
elif e.status == 400:
print(f"Invalid request: {e.body}")
else:
print(f"Unexpected error: {e}")
```
## Async Usage
```python
import asyncio
import rankvectors
from rankvectors.api import projects_api
async def create_project_async():
configuration = rankvectors.Configuration(
host="https://api.rankvectors.com"
)
configuration.api_key['Authorization'] = 'YOUR_API_KEY'
async with rankvectors.ApiClient(configuration) as api_client:
api_instance = projects_api.ProjectsApi(api_client)
project_data = CreateProjectRequest(
name="My Website",
domain="https://example.com"
)
try:
project = await api_instance.create_project(project_data)
print(f"Project created: {project}")
except rankvectors.ApiException as e:
print(f"Error: {e}")
# Run the async function
asyncio.run(create_project_async())
```
## Configuration
```python
configuration = rankvectors.Configuration(
host="https://api.rankvectors.com", # API base URL
api_key={'Authorization': 'YOUR_API_KEY'}, # API key
timeout=30, # Request timeout in seconds
retries=3, # Number of retries for failed requests
)
```
## Support
- **Documentation**: https://docs.rankvectors.com
- **Support**: support@rankvectors.com
- **GitHub**: https://github.com/rankvectors
## License
MIT License
Raw data
{
"_id": null,
"home_page": "https://github.com/rankvectors/rankvectors-python-sdk",
"name": "rankvectors",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "OpenAPI, OpenAPI-Generator, RankVectors API",
"author": "RankVectors",
"author_email": "RankVectors Support <support@rankvectors.com>",
"download_url": "https://files.pythonhosted.org/packages/38/9e/fe876033a876204cb8c6eb951fe655e41ba479cc2a41240ced91c5d53399/rankvectors-1.0.1.tar.gz",
"platform": null,
"description": "# RankVectors Python SDK\n\nOfficial Python SDK for the RankVectors API - Intelligent internal linking optimization using AI.\n\n## Installation\n\n```bash\npip install rankvectors\n```\n\n## Quick Start\n\n```python\nimport rankvectors\nfrom rankvectors.api import projects_api\nfrom rankvectors.model.create_project_request import CreateProjectRequest\n\n# Configure the API client\nconfiguration = rankvectors.Configuration(\n host=\"https://api.rankvectors.com\"\n)\n\n# Set API key\nconfiguration.api_key['Authorization'] = 'YOUR_API_KEY' # Replace with your actual API key\n\n# Create API instance\nwith rankvectors.ApiClient(configuration) as api_client:\n api_instance = projects_api.ProjectsApi(api_client)\n \n # Create project\n project_data = CreateProjectRequest(\n name=\"My Website\",\n domain=\"https://example.com\",\n prompt=\"Only crawl blog posts and documentation\"\n )\n \n try:\n project = api_instance.create_project(project_data)\n print(f\"Project created: {project}\")\n \n # Start crawling\n crawl = api_instance.start_crawl(project.id)\n print(f\"Crawl started: {crawl}\")\n \n except rankvectors.ApiException as e:\n print(f\"Error: {e}\")\n```\n\n## Features\n\n- \u2705 **Python 3.7+**: Modern Python support with type hints\n- \u2705 **Async Support**: Full async/await support for non-blocking operations\n- \u2705 **Automatic Authentication**: Handles API key authentication automatically\n- \u2705 **Error Handling**: Comprehensive error handling with detailed error messages\n- \u2705 **Type Hints**: Full type annotations for better IDE support\n- \u2705 **Context Managers**: Proper resource management with context managers\n\n## API Coverage\n\n- **Projects**: Create, manage, and delete projects\n- **Crawling**: Start and monitor website crawls\n- **Suggestions**: Generate AI-powered link suggestions\n- **Implementations**: Implement links via API or webhook\n- **Credits**: Manage credit balance and usage\n- **Content Verification**: Verify content changes before implementation\n\n## Error Handling\n\n```python\ntry:\n project = api_instance.create_project(project_data)\nexcept rankvectors.ApiException as e:\n if e.status == 401:\n print(\"Authentication failed\")\n elif e.status == 400:\n print(f\"Invalid request: {e.body}\")\n else:\n print(f\"Unexpected error: {e}\")\n```\n\n## Async Usage\n\n```python\nimport asyncio\nimport rankvectors\nfrom rankvectors.api import projects_api\n\nasync def create_project_async():\n configuration = rankvectors.Configuration(\n host=\"https://api.rankvectors.com\"\n )\n configuration.api_key['Authorization'] = 'YOUR_API_KEY'\n \n async with rankvectors.ApiClient(configuration) as api_client:\n api_instance = projects_api.ProjectsApi(api_client)\n \n project_data = CreateProjectRequest(\n name=\"My Website\",\n domain=\"https://example.com\"\n )\n \n try:\n project = await api_instance.create_project(project_data)\n print(f\"Project created: {project}\")\n except rankvectors.ApiException as e:\n print(f\"Error: {e}\")\n\n# Run the async function\nasyncio.run(create_project_async())\n```\n\n## Configuration\n\n```python\nconfiguration = rankvectors.Configuration(\n host=\"https://api.rankvectors.com\", # API base URL\n api_key={'Authorization': 'YOUR_API_KEY'}, # API key\n timeout=30, # Request timeout in seconds\n retries=3, # Number of retries for failed requests\n)\n```\n\n## Support\n\n- **Documentation**: https://docs.rankvectors.com\n- **Support**: support@rankvectors.com\n- **GitHub**: https://github.com/rankvectors\n\n## License\n\nMIT License\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "RankVectors API",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/rankvectors/rankvectors-python-sdk",
"Repository": "https://github.com/rankvectors/rankvectors-python-sdk"
},
"split_keywords": [
"openapi",
" openapi-generator",
" rankvectors api"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c9fbd91580225ba9bd54a88a10a0dd3e1cfca21e8f2c275115b5d24ca58faf0d",
"md5": "87535307b1231d275a49216737960672",
"sha256": "cf8d787cb4d4150e0dfea907025c969dc1dd1ef93a15d92bc062a2ded16d01aa"
},
"downloads": -1,
"filename": "rankvectors-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "87535307b1231d275a49216737960672",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 129968,
"upload_time": "2025-10-26T18:12:24",
"upload_time_iso_8601": "2025-10-26T18:12:24.844876Z",
"url": "https://files.pythonhosted.org/packages/c9/fb/d91580225ba9bd54a88a10a0dd3e1cfca21e8f2c275115b5d24ca58faf0d/rankvectors-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "389efe876033a876204cb8c6eb951fe655e41ba479cc2a41240ced91c5d53399",
"md5": "6126e51e107e8c8928b4b110e82b499b",
"sha256": "d7dfb23ad32ae8213ac87b1d63661cce6dc8ac4eeb07da3fc583a9427b1fb2ef"
},
"downloads": -1,
"filename": "rankvectors-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "6126e51e107e8c8928b4b110e82b499b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 57881,
"upload_time": "2025-10-26T18:12:25",
"upload_time_iso_8601": "2025-10-26T18:12:25.957910Z",
"url": "https://files.pythonhosted.org/packages/38/9e/fe876033a876204cb8c6eb951fe655e41ba479cc2a41240ced91c5d53399/rankvectors-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-26 18:12:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rankvectors",
"github_project": "rankvectors-python-sdk",
"github_not_found": true,
"lcname": "rankvectors"
}