accessibletranslator


Nameaccessibletranslator JSON
Version 1.0.3 PyPI version JSON
download
home_pagehttps://www.accessibletranslator.com/resources/api-docs
SummaryOfficial Python SDK for AccessibleTranslator API - automated cognitive accessibility
upload_time2025-07-16 11:55:04
maintainerNone
docs_urlNone
authorAccessibleTranslator Team
requires_python>=3.9
licenseMIT
keywords accessibility translation text-simplification cognitive-accessibility autism sdk python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AccessibleTranslator Python SDK

Official Python SDK for AccessibleTranslator API - automated cognitive accessibility

Transform complex text into accessible content for users with autism, intellectual disabilities, limited vocabulary, and other cognitive accessibility needs.

## Features

- **Async/Sync Support**: Built with asyncio for optimal performance
- **Type Safety**: Full type hints with Pydantic models
- **Comprehensive Error Handling**: Detailed error messages and retry logic
- **API Key Authentication**: Secure API key-based authentication
- **Complete API Coverage**: All endpoints including text translation, transformations, and word balance

## Installation

```bash
pip install accessibletranslator
```

## Quick Start

```python
import asyncio
import accessibletranslator
from accessibletranslator.models.translation_request import TranslationRequest

async def main():
    # Configure the client with your API key
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        # Create API instances
        translation_api = accessibletranslator.TranslationApi(api_client)
        
        # Transform text for better accessibility
        request = TranslationRequest(
            text="The implementation of this algorithm requires substantial computational resources and exhibits significant complexity in its operational parameters.",
            transformations=[
                "language_simple_sentences",
                "language_common_words",
                "clarity_concrete_examples"
            ]
        )
        
        # Get the accessible version
        result = await translation_api.text_api_translate_post(request)
        
        print(f"Original: {request.text}")
        print(f"Accessible: {result.translated_text}")
        print(f"Word balance: {result.word_balance}")
        print(f"Processing time: {result.processing_time_ms}ms")

# Run the example
asyncio.run(main())
```

## Authentication

Get your API key from [AccessibleTranslator](https://www.accessibletranslator.com/resources/api-docs):

```python
import accessibletranslator

configuration = accessibletranslator.Configuration(
    api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
)
```

## API Reference

### Text Translation

Transform text for cognitive accessibility:

```python
import asyncio
import accessibletranslator
from accessibletranslator.models.translation_request import TranslationRequest

async def translate_text():
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        translation_api = accessibletranslator.TranslationApi(api_client)
        
        request = TranslationRequest(
            text="Your complex text here",
            transformations=[
                "language_simple_sentences",
                "language_common_words",
                "clarity_pronouns"
            ],
            target_language="Same as input"  # or "English", "Spanish", etc.
        )
        
        result = await translation_api.text_api_translate_post(request)
        return result

asyncio.run(translate_text())
```

### Available Transformations

Get list of available transformations:

```python
async def get_transformations():
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        translation_api = accessibletranslator.TranslationApi(api_client)
        
        transformations = await translation_api.available_transformations_api_transformations_get()
        
        print(f"Available transformations: {transformations.total_transformations}")
        for transform in transformations.transformations:
            print(f"- {transform.name}: {transform.description}")
        
        return transformations

asyncio.run(get_transformations())
```

### Target Languages

Get supported target languages:

```python
async def get_languages():
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        translation_api = accessibletranslator.TranslationApi(api_client)
        
        languages = await translation_api.available_target_languages_api_target_languages_get()
        
        print(f"Supported languages: {languages.total_languages}")
        for lang in languages.languages:
            print(f"- {lang}")
        
        return languages

asyncio.run(get_languages())
```

### Word Balance

Check your remaining word balance:

```python
async def check_balance():
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        user_api = accessibletranslator.UserManagementApi(api_client)
        
        balance = await user_api.word_balance_users_word_balance_get()
        print(f"Remaining words: {balance.word_balance}")
        
        return balance

asyncio.run(check_balance())
```


## Error Handling

```python
import asyncio
import accessibletranslator
from accessibletranslator.rest import ApiException

async def handle_errors():
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        translation_api = accessibletranslator.TranslationApi(api_client)
        
        try:
            request = TranslationRequest(
                text="Text to transform",
                transformations=["language_simple_sentences"]
            )
            
            result = await translation_api.text_api_translate_post(request)
            return result
            
        except ApiException as e:
            if e.status == 401:
                print("Invalid API key")
            elif e.status == 402:
                print("Insufficient word balance")
            elif e.status == 422:
                print("Invalid request data")
            else:
                print(f"API error: {e.status} - {e.reason}")
        except Exception as e:
            print(f"Unexpected error: {e}")

asyncio.run(handle_errors())
```

## Rate Limiting

The API includes rate limiting. The SDK can automatically handle retries when properly configured:

```python
import asyncio
import accessibletranslator
from accessibletranslator.models.translation_request import TranslationRequest
from accessibletranslator.exceptions import ApiException

async def with_retry():
    # ⚠️ IMPORTANT: Retries must be explicitly enabled
    configuration = accessibletranslator.Configuration(
        api_key={'ApiKeyAuth': 'sk_your_api_key_here'},
        api_key_prefix={'ApiKeyAuth': 'Bearer'},  # Required for authentication
        retries=3  # Enable 3 retry attempts with exponential backoff
    )
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        translation_api = accessibletranslator.TranslationApi(api_client)
        
        # Define the request
        request = TranslationRequest(
            text="Text to translate",
            transformations=["language_simple_sentences"]
        )
        
        try:
            # The SDK will automatically retry on rate limits (429) and server errors (5xx)
            # Retry timing: 100ms → 200ms → 400ms → 800ms (exponential backoff)
            result = await translation_api.text_api_translate_post(request)
            return result
        except ApiException as e:
            if e.status == 429:
                print("Rate limit exceeded. All retries exhausted. Please wait and try again.")
            elif e.status >= 500:
                print("Server error. All retries exhausted.")
            else:
                print(f"API error: {e.status} - {e.reason}")
            raise

asyncio.run(with_retry())
```

**Note:** By default, retries are **disabled**. You must set `retries=N` to enable automatic retry handling for rate limits and server errors.

## Health Check

Check API health status:

```python
async def health_check():
    configuration = accessibletranslator.Configuration()
    
    async with accessibletranslator.ApiClient(configuration) as api_client:
        system_api = accessibletranslator.SystemApi(api_client)
        
        health = await system_api.health_check_health_get()
        print(f"API Status: {health.status}")
        print(f"Timestamp: {health.timestamp}")
        
        return health

asyncio.run(health_check())
```

## Requirements

- Python 3.9+
- aiohttp
- pydantic
- typing-extensions

## Support

- **Documentation**: [AccessibleTranslator API Docs](https://www.accessibletranslator.com/resources/api-docs)
- **Issues**: For SDK-related issues, please open an issue in the repository
- **API Support**: Visit [AccessibleTranslator.com](https://www.accessibletranslator.com) for general API support

## License

This SDK is licensed under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.accessibletranslator.com/resources/api-docs",
    "name": "accessibletranslator",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "accessibility, translation, text-simplification, cognitive-accessibility, autism, sdk, python",
    "author": "AccessibleTranslator Team",
    "author_email": "AccessibleTranslator Team <support@accessibletranslator.com>",
    "download_url": "https://files.pythonhosted.org/packages/52/df/9dc7185f3aa252fb94e21974cfd2ec37e3086811d04752c4cc8a92dd2998/accessibletranslator-1.0.3.tar.gz",
    "platform": null,
    "description": "# AccessibleTranslator Python SDK\n\nOfficial Python SDK for AccessibleTranslator API - automated cognitive accessibility\n\nTransform complex text into accessible content for users with autism, intellectual disabilities, limited vocabulary, and other cognitive accessibility needs.\n\n## Features\n\n- **Async/Sync Support**: Built with asyncio for optimal performance\n- **Type Safety**: Full type hints with Pydantic models\n- **Comprehensive Error Handling**: Detailed error messages and retry logic\n- **API Key Authentication**: Secure API key-based authentication\n- **Complete API Coverage**: All endpoints including text translation, transformations, and word balance\n\n## Installation\n\n```bash\npip install accessibletranslator\n```\n\n## Quick Start\n\n```python\nimport asyncio\nimport accessibletranslator\nfrom accessibletranslator.models.translation_request import TranslationRequest\n\nasync def main():\n    # Configure the client with your API key\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        # Create API instances\n        translation_api = accessibletranslator.TranslationApi(api_client)\n        \n        # Transform text for better accessibility\n        request = TranslationRequest(\n            text=\"The implementation of this algorithm requires substantial computational resources and exhibits significant complexity in its operational parameters.\",\n            transformations=[\n                \"language_simple_sentences\",\n                \"language_common_words\",\n                \"clarity_concrete_examples\"\n            ]\n        )\n        \n        # Get the accessible version\n        result = await translation_api.text_api_translate_post(request)\n        \n        print(f\"Original: {request.text}\")\n        print(f\"Accessible: {result.translated_text}\")\n        print(f\"Word balance: {result.word_balance}\")\n        print(f\"Processing time: {result.processing_time_ms}ms\")\n\n# Run the example\nasyncio.run(main())\n```\n\n## Authentication\n\nGet your API key from [AccessibleTranslator](https://www.accessibletranslator.com/resources/api-docs):\n\n```python\nimport accessibletranslator\n\nconfiguration = accessibletranslator.Configuration(\n    api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n)\n```\n\n## API Reference\n\n### Text Translation\n\nTransform text for cognitive accessibility:\n\n```python\nimport asyncio\nimport accessibletranslator\nfrom accessibletranslator.models.translation_request import TranslationRequest\n\nasync def translate_text():\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        translation_api = accessibletranslator.TranslationApi(api_client)\n        \n        request = TranslationRequest(\n            text=\"Your complex text here\",\n            transformations=[\n                \"language_simple_sentences\",\n                \"language_common_words\",\n                \"clarity_pronouns\"\n            ],\n            target_language=\"Same as input\"  # or \"English\", \"Spanish\", etc.\n        )\n        \n        result = await translation_api.text_api_translate_post(request)\n        return result\n\nasyncio.run(translate_text())\n```\n\n### Available Transformations\n\nGet list of available transformations:\n\n```python\nasync def get_transformations():\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        translation_api = accessibletranslator.TranslationApi(api_client)\n        \n        transformations = await translation_api.available_transformations_api_transformations_get()\n        \n        print(f\"Available transformations: {transformations.total_transformations}\")\n        for transform in transformations.transformations:\n            print(f\"- {transform.name}: {transform.description}\")\n        \n        return transformations\n\nasyncio.run(get_transformations())\n```\n\n### Target Languages\n\nGet supported target languages:\n\n```python\nasync def get_languages():\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        translation_api = accessibletranslator.TranslationApi(api_client)\n        \n        languages = await translation_api.available_target_languages_api_target_languages_get()\n        \n        print(f\"Supported languages: {languages.total_languages}\")\n        for lang in languages.languages:\n            print(f\"- {lang}\")\n        \n        return languages\n\nasyncio.run(get_languages())\n```\n\n### Word Balance\n\nCheck your remaining word balance:\n\n```python\nasync def check_balance():\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        user_api = accessibletranslator.UserManagementApi(api_client)\n        \n        balance = await user_api.word_balance_users_word_balance_get()\n        print(f\"Remaining words: {balance.word_balance}\")\n        \n        return balance\n\nasyncio.run(check_balance())\n```\n\n\n## Error Handling\n\n```python\nimport asyncio\nimport accessibletranslator\nfrom accessibletranslator.rest import ApiException\n\nasync def handle_errors():\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'}\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        translation_api = accessibletranslator.TranslationApi(api_client)\n        \n        try:\n            request = TranslationRequest(\n                text=\"Text to transform\",\n                transformations=[\"language_simple_sentences\"]\n            )\n            \n            result = await translation_api.text_api_translate_post(request)\n            return result\n            \n        except ApiException as e:\n            if e.status == 401:\n                print(\"Invalid API key\")\n            elif e.status == 402:\n                print(\"Insufficient word balance\")\n            elif e.status == 422:\n                print(\"Invalid request data\")\n            else:\n                print(f\"API error: {e.status} - {e.reason}\")\n        except Exception as e:\n            print(f\"Unexpected error: {e}\")\n\nasyncio.run(handle_errors())\n```\n\n## Rate Limiting\n\nThe API includes rate limiting. The SDK can automatically handle retries when properly configured:\n\n```python\nimport asyncio\nimport accessibletranslator\nfrom accessibletranslator.models.translation_request import TranslationRequest\nfrom accessibletranslator.exceptions import ApiException\n\nasync def with_retry():\n    # \u26a0\ufe0f IMPORTANT: Retries must be explicitly enabled\n    configuration = accessibletranslator.Configuration(\n        api_key={'ApiKeyAuth': 'sk_your_api_key_here'},\n        api_key_prefix={'ApiKeyAuth': 'Bearer'},  # Required for authentication\n        retries=3  # Enable 3 retry attempts with exponential backoff\n    )\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        translation_api = accessibletranslator.TranslationApi(api_client)\n        \n        # Define the request\n        request = TranslationRequest(\n            text=\"Text to translate\",\n            transformations=[\"language_simple_sentences\"]\n        )\n        \n        try:\n            # The SDK will automatically retry on rate limits (429) and server errors (5xx)\n            # Retry timing: 100ms \u2192 200ms \u2192 400ms \u2192 800ms (exponential backoff)\n            result = await translation_api.text_api_translate_post(request)\n            return result\n        except ApiException as e:\n            if e.status == 429:\n                print(\"Rate limit exceeded. All retries exhausted. Please wait and try again.\")\n            elif e.status >= 500:\n                print(\"Server error. All retries exhausted.\")\n            else:\n                print(f\"API error: {e.status} - {e.reason}\")\n            raise\n\nasyncio.run(with_retry())\n```\n\n**Note:** By default, retries are **disabled**. You must set `retries=N` to enable automatic retry handling for rate limits and server errors.\n\n## Health Check\n\nCheck API health status:\n\n```python\nasync def health_check():\n    configuration = accessibletranslator.Configuration()\n    \n    async with accessibletranslator.ApiClient(configuration) as api_client:\n        system_api = accessibletranslator.SystemApi(api_client)\n        \n        health = await system_api.health_check_health_get()\n        print(f\"API Status: {health.status}\")\n        print(f\"Timestamp: {health.timestamp}\")\n        \n        return health\n\nasyncio.run(health_check())\n```\n\n## Requirements\n\n- Python 3.9+\n- aiohttp\n- pydantic\n- typing-extensions\n\n## Support\n\n- **Documentation**: [AccessibleTranslator API Docs](https://www.accessibletranslator.com/resources/api-docs)\n- **Issues**: For SDK-related issues, please open an issue in the repository\n- **API Support**: Visit [AccessibleTranslator.com](https://www.accessibletranslator.com) for general API support\n\n## License\n\nThis SDK is licensed under the MIT License.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Official Python SDK for AccessibleTranslator API - automated cognitive accessibility",
    "version": "1.0.3",
    "project_urls": {
        "Documentation": "https://www.accessibletranslator.com/resources/api-docs",
        "Homepage": "https://www.accessibletranslator.com",
        "Issues": "https://www.accessibletranslator.com/resources/api-docs",
        "Repository": "https://www.accessibletranslator.com/resources/api-docs"
    },
    "split_keywords": [
        "accessibility",
        " translation",
        " text-simplification",
        " cognitive-accessibility",
        " autism",
        " sdk",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fcd7a2fcf96cf7f0c4b0c3e479b4631dd48efd9b582af0d5e44bb8cc123d56e5",
                "md5": "fc23faa1917ee41cb8a27db375fa0f02",
                "sha256": "8e0e1eab5ce7a739f323338eb184a119f5b38007b05262d2f0c7ec79a3fbcf5c"
            },
            "downloads": -1,
            "filename": "accessibletranslator-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fc23faa1917ee41cb8a27db375fa0f02",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 45674,
            "upload_time": "2025-07-16T11:55:03",
            "upload_time_iso_8601": "2025-07-16T11:55:03.200810Z",
            "url": "https://files.pythonhosted.org/packages/fc/d7/a2fcf96cf7f0c4b0c3e479b4631dd48efd9b582af0d5e44bb8cc123d56e5/accessibletranslator-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "52df9dc7185f3aa252fb94e21974cfd2ec37e3086811d04752c4cc8a92dd2998",
                "md5": "b355936de0d41570697d5787401b65c3",
                "sha256": "c3c3d9b27680f8b8f6511d04f4f5e580f84ff8585cdab0acb4e279198caed1e0"
            },
            "downloads": -1,
            "filename": "accessibletranslator-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "b355936de0d41570697d5787401b65c3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 49567,
            "upload_time": "2025-07-16T11:55:04",
            "upload_time_iso_8601": "2025-07-16T11:55:04.350775Z",
            "url": "https://files.pythonhosted.org/packages/52/df/9dc7185f3aa252fb94e21974cfd2ec37e3086811d04752c4cc8a92dd2998/accessibletranslator-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-16 11:55:04",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "accessibletranslator"
}
        
Elapsed time: 2.05519s