Loading...
Loading...
Scaffold new modules and components for pplx-sdk following the layered architecture and established code patterns.
npx skill4agent add pv-udpv/pplx-sdk scaffold-moduletests/test_<module>.py__init__.pypytest tests/test_<module>.py -vmypy pplx_sdk/| Layer | Directory | May Import From | Purpose |
|---|---|---|---|
| Core | | Nothing | Protocols, types, exceptions |
| Shared | | | Auth, logging, retry utilities |
| Transport | | | HTTP/SSE backends |
| Domain | | | Business logic services |
| Client | | All layers | High-level API |
"""Module description."""
from __future__ import annotations
from typing import Any, Dict, Optional
from pplx_sdk.core.exceptions import TransportError
class NewComponent:
"""Component description.
Example:
>>> component = NewComponent(base_url="https://api.example.com")
>>> result = component.execute()
"""
def __init__(
self,
base_url: str,
auth_token: Optional[str] = None,
timeout: float = 30.0,
) -> None:
"""Initialize component.
Args:
base_url: Base URL for API requests
auth_token: Authentication token
timeout: Request timeout in seconds
"""
self.base_url = base_url
self.auth_token = auth_token
self.timeout = timeout"""Tests for new_component module."""
import pytest
from pplx_sdk.core.exceptions import TransportError
def test_new_component_initialization():
component = NewComponent(base_url="https://api.test.com")
assert component.base_url == "https://api.test.com"
assert component.timeout == 30.0
def test_new_component_error_handling():
component = NewComponent(base_url="https://invalid.test")
with pytest.raises(TransportError):
component.execute()from __future__ import annotationspplx_sdk.core.exceptions__init__.py