This release is a pre-release and may not be stable for production use.
Vibecontrols Sdk-python
A Python SDK vibecontrols for building GraphQL-based API clients quickly. This SDK provides a structured foundation for creating Python SDKs that interact with GraphQL APIs, similar to the Node.js workspace SDK but adapted for Python.
Features
- 🚀 Async/await support - Built with modern Python async patterns
- 🔐 Authentication handling - Token management and refresh logic
- 📦 Modular architecture - Organized by feature modules
- 🔧 Type hints - Full typing support with mypy
- 🧪 Testing ready - Pytest configuration included
- 📚 Documentation - Sphinx-ready documentation setup
- 🛠️ Development tools - Code formatting, linting, and pre-commit hooks
Installation
# Install from PyPI (when published)
pip install vibecontrols-sdk
# Or install in development mode
pip install -e .
# Install with development dependencies
pip install -e ".[dev]"
Quick Start
import asyncio
from vibecontrols_sdk import VibecontrolsSDK, VibecontrolsSDKConfig
from vibecontrols_sdk.types.common import UserRegisterInput
async def main():
# Initialize the SDK
config = VibecontrolsSDKConfig(
endpoint="https://api.example.com/graphql",
api_key="your-api-key" # Optional
)
sdk = VibecontrolsSDK(config)
try:
# Register a new user
user_input = UserRegisterInput(
email="user@example.com",
name="John Doe",
password="secure_password"
)
user = await sdk.auth.register(user_input)
print(f"User registered: {user.name}")
# Set authentication tokens
sdk.set_tokens(
access_token="your-access-token",
refresh_token="your-refresh-token"
)
# Get current user
current_user = await sdk.users.get_current_user()
print(f"Current user: {current_user.name}")
finally:
await sdk.client.close()
# Run the example
asyncio.run(main())
Configuration
The SDK is configured using the VibecontrolsSDKConfig class:
from vibecontrols_sdk import VibecontrolsSDKConfig
config = VibecontrolsSDKConfig(
endpoint="https://api.example.com/graphql", # Required
api_key="your-api-key", # Optional
access_token="your-access-token", # Optional
refresh_token="your-refresh-token", # Optional
timeout=30.0 # Optional, default: 30.0
)
Available Modules
The SDK is organized into the following modules:
- auth - Authentication operations (register, login, logout, etc.)
- user - User management operations
- workspace - Workspace operations (TODO)
- rbac - Role-based access control (TODO)
- team - Team management (TODO)
- project - Project operations (TODO)
- resources - Resource management (TODO)
- billing - Billing operations (TODO)
- organization - Organization management (TODO)
- payment - Payment processing (TODO)
- quota - Quota management (TODO)
- store - Store operations (TODO)
- support - Support ticket management (TODO)
- usage - Usage analytics (TODO)
- utils - Utility functions (TODO)
- addon - Add-on management (TODO)
- plan - Plan management (TODO)
- product - Product management (TODO)
- config - Configuration management (TODO)
Examples
See the examples/ directory for more detailed usage examples:
basic_usage.py- Basic SDK operationsadvanced_usage.py- Advanced features and error handling
Development
Setup Development Environment
# Clone the repository
git clone <repository-url>
cd vibecontrols-sdk-python
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\\Scripts\\activate
# Install development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
Code Quality
The project uses several tools for code quality:
# Format code
black src/ tests/ examples/
isort src/ tests/ examples/
# Lint code
flake8 src/ tests/ examples/
mypy src/
# Run tests
pytest
# Run tests with coverage
pytest --cov=vibecontrols_sdk --cov-report=html
Testing
# Run all tests
pytest
# Run specific test file
pytest tests/test_auth.py
# Run with coverage
pytest --cov=vibecontrols_sdk
# Run only unit tests
pytest -m unit
# Run only integration tests
pytest -m integration
Project Structure
vibecontrols-sdk-python/
├── src/
│ └── vibecontrols_sdk/
│ ├── __init__.py # Main SDK class
│ ├── client/ # HTTP/GraphQL client
│ ├── auth/ # Authentication module
│ ├── user/ # User management
│ ├── workspace/ # Workspace operations
│ ├── types/ # Type definitions
│ └── ... # Other modules
├── tests/ # Test files
├── examples/ # Usage examples
├── docs/ # Documentation
├── pyproject.toml # Package configuration
├── requirements.txt # Production dependencies
└── requirements-dev.txt # Development dependencies
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and add tests
- Run the test suite:
pytest - Commit your changes:
git commit -am 'Add feature' - Push to the branch:
git push origin feature-name - Create a Pull Request
Type Hints
This SDK is fully typed and supports mypy type checking:
mypy src/vibecontrols_sdk
License
This project is licensed under the MIT License - see the LICENSE file for details.
Changelog
See CHANGELOG.md for version history and changes.
Support
- 📖 Documentation: docs.algoshred.com/sdk/python
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Related Projects
- Workspaces SDK Node.js - The Node.js version this SDK is based on
- Vibecontrols Frontend - Frontend vibecontrols
- Vibecontrols Backend - Python GraphQL backend vibecontrols
Metadata
Release files for vibecontrols-sdk 2025.11.0a20251103183026
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vibecontrols_sdk-2025.11.0a20251103183026.tar.gz | 102.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vibecontrols_sdk-2025.11.0a20251103183026-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 193.5 kB
Release files / vibecontrols_sdk-2025.11.0a20251103183026.tar.gz
| Download URL | vibecontrols_sdk-2025.11.0a20251103183026.tar.gz |
|---|---|
| Size | 102.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
342f02b6c9544bb4d6c774d74d5c55e3798676e71960ee12f96dafb38d494c34
|
|
BLAKE2b-256 checksum How to use checksums |
324d13d62d1f89220430e89a0b88c2277993d2c5f0fcc6c0e2653b949eeb7762
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / vibecontrols_sdk-2025.11.0a20251103183026-py3-none-any.whl
| Download URL | vibecontrols_sdk-2025.11.0a20251103183026-py3-none-any.whl |
|---|---|
| Size | 91.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d37b140b7e50d33fd5be71598f8dc77c3f2fb4556c469b0f9f76f3087d13774
|
|
BLAKE2b-256 checksum How to use checksums |
b8844e60768eeb62b73e858f85c499744bb0f15a20b1bb4a7eac3a958401dc4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|