feat(atlascloud): add Atlas Cloud provider (OpenAI-compatible)#1150
Conversation
Atlas Cloud (https://www.atlascloud.ai) exposes an OpenAI-compatible API at https://api.atlascloud.ai/v1 serving DeepSeek, Qwen, Kimi, GLM and MiniMax models. Add it as a first-class provider so it can be selected as "atlascloud/<model>" with its own ATLASCLOUD_API_KEY env var. Implemented as a thin BaseOpenAIProvider subclass (no new dependency, reuses the openai client). Declared capabilities: completion, streaming, reasoning and list_models. Embeddings, moderation, vision/PDF, rerank, batch, responses and image generation are left off as they are not exposed on the /v1 base. - constants: register ATLASCLOUD in the LLMProvider enum - pyproject: add the empty "atlascloud" extra and include it in "all" - conftest: add deepseek-ai/deepseek-v4-flash to the model and reasoning model maps - tests: unit coverage for metadata, key/base resolution, missing-key error, capability flags and enum/loader registration
WalkthroughThis PR adds the Atlascloud provider, registers it in the provider enum and package exports, expands the consolidated optional dependency set, and updates fixtures and unit tests to cover provider lookup and configuration. ChangesAtlascloud provider support
Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pyproject.toml`:
- Line 24: The OpenAI-compatible extras are missing the runtime SDK dependency
needed by BaseOpenAIProvider, so installing one of these providers can later
fail when AsyncOpenAI is imported. Update the dependency entries in
pyproject.toml so the relevant extras (AtlascloudProvider and the other
empty-list OpenAI-compatible extras like azureopenai, cascadia, nebius,
neosantara, openai, openrouter, and portkey) explicitly include openai. Keep the
fix aligned with the existing extras definitions in the dependency array for
each provider.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: cfa1cfa7-c7f3-4cbd-a340-9a2e579c33d2
📒 Files selected for processing (6)
pyproject.tomlsrc/any_llm/constants.pysrc/any_llm/providers/atlascloud/__init__.pysrc/any_llm/providers/atlascloud/atlascloud.pytests/conftest.pytests/unit/providers/test_atlascloud_provider.py
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 38 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Atlas Cloud (https://www.atlascloud.ai) exposes an OpenAI-compatible API at https://api.atlascloud.ai/v1 serving DeepSeek, Qwen, Kimi, GLM and MiniMax models. Add it as a first-class provider so it can be selected as "atlascloud/" with its own ATLASCLOUD_API_KEY env var.
Implemented as a thin BaseOpenAIProvider subclass (no new dependency, reuses the openai client). Declared capabilities: completion, streaming, reasoning and list_models. Embeddings, moderation, vision/PDF, rerank, batch, responses and image generation are left off as they are not exposed on the /v1 base.
Description
Adds Atlas Cloud as a first-class, OpenAI-compatible provider. It already works today by pointing the
openaiprovider athttps://api.atlascloud.ai/v1; this PR makes it a named provider (atlascloud/<model>) with its ownATLASCLOUD_API_KEY/ATLASCLOUD_API_BASEenv vars and auto-generated docs.The provider is a thin
BaseOpenAIProvidersubclass that only sets configuration defaults and capability flags, so it reuses the existingopenaiclient and needs no new dependency. Declared capabilities (completion, streaming, reasoning, list_models) reflect what Atlas Cloud exposes on its/v1base; embeddings, moderation, vision/PDF, rerank, batch, responses and image generation are intentionally left off because they are not available there (image/video generation live on a separate/api/v1base).PR Type
Relevant issues
N/A
Checklist
fixes the issueworks correctly.AI Usage Information
AI Model used: Claude Opus 4.8 and Claude Opus 4.6
AI Developer Tool used: Claude Code and Visual Studio Code with GitHub Copilot built in extension
Any other info you'd like to share: AI assisted with code drafting and tests; design decisions and final review are mine.
I am an AI Agent filling out this form (check box if true)
Summary by CodeRabbit
New Features
atlascloudoptional dependency entry.Bug Fixes
Tests