Skip to main content
Pre-release

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 operations
  • advanced_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

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes and add tests
  4. Run the test suite: pytest
  5. Commit your changes: git commit -am 'Add feature'
  6. Push to the branch: git push origin feature-name
  7. 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

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)

Source distribution for vibecontrols-sdk 2025.11.0a20251103183026
File Size Uploaded
vibecontrols_sdk-2025.11.0a20251103183026.tar.gz 102.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibecontrols-sdk 2025.11.0a20251103183026
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page