Complete Phase 1 foundation: Tasks 1.1 and 1.2
✅ Task 1.1 - Project Foundation Setup: - Repository structure with Python packaging (setup.py, pyproject.toml) - Development dependencies and requirements - Contributing guidelines and MIT license - GitHub workflows for CI/CD (test.yml, release.yml) - Issue and PR templates for community contributions - Comprehensive project documentation ✅ Task 1.2 - Core Client Structure: - wikijs package with proper module organization - Core client class foundation in client.py - Exception hierarchy for error handling - Base model classes and page models - Type checking support (py.typed) - Utility modules and helper functions 📊 Progress: Phase 1 MVP Development now 40% complete 🎯 Next: Task 1.3 - Authentication System implementation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
77
wikijs/__init__.py
Normal file
77
wikijs/__init__.py
Normal file
@@ -0,0 +1,77 @@
|
||||
"""Wiki.js Python SDK - Professional SDK for Wiki.js API integration.
|
||||
|
||||
This package provides a comprehensive Python SDK for interacting with Wiki.js
|
||||
instances, including support for pages, users, groups, and system management.
|
||||
|
||||
Example:
|
||||
Basic usage:
|
||||
|
||||
>>> from wikijs import WikiJSClient
|
||||
>>> client = WikiJSClient('https://wiki.example.com', auth='your-api-key')
|
||||
>>> # API endpoints will be available as development progresses
|
||||
|
||||
Features:
|
||||
- Type-safe data models with validation
|
||||
- Comprehensive error handling
|
||||
- Automatic retry logic with exponential backoff
|
||||
- Professional logging and debugging support
|
||||
- Context manager support for resource cleanup
|
||||
"""
|
||||
|
||||
from .client import WikiJSClient
|
||||
from .exceptions import (
|
||||
WikiJSException,
|
||||
APIError,
|
||||
AuthenticationError,
|
||||
ConfigurationError,
|
||||
ValidationError,
|
||||
ClientError,
|
||||
ServerError,
|
||||
NotFoundError,
|
||||
PermissionError,
|
||||
RateLimitError,
|
||||
ConnectionError,
|
||||
TimeoutError,
|
||||
)
|
||||
from .models import BaseModel, Page, PageCreate, PageUpdate
|
||||
from .version import __version__, __version_info__
|
||||
|
||||
# Public API
|
||||
__all__ = [
|
||||
# Main client
|
||||
"WikiJSClient",
|
||||
|
||||
# Data models
|
||||
"BaseModel",
|
||||
"Page",
|
||||
"PageCreate",
|
||||
"PageUpdate",
|
||||
|
||||
# Exceptions
|
||||
"WikiJSException",
|
||||
"APIError",
|
||||
"AuthenticationError",
|
||||
"ConfigurationError",
|
||||
"ValidationError",
|
||||
"ClientError",
|
||||
"ServerError",
|
||||
"NotFoundError",
|
||||
"PermissionError",
|
||||
"RateLimitError",
|
||||
"ConnectionError",
|
||||
"TimeoutError",
|
||||
|
||||
# Version info
|
||||
"__version__",
|
||||
"__version_info__",
|
||||
]
|
||||
|
||||
# Package metadata
|
||||
__author__ = "Wiki.js SDK Contributors"
|
||||
__email__ = ""
|
||||
__license__ = "MIT"
|
||||
__description__ = "Professional Python SDK for Wiki.js API integration"
|
||||
__url__ = "https://github.com/yourusername/wikijs-python-sdk"
|
||||
|
||||
# For type checking
|
||||
__all__ += ["__author__", "__email__", "__license__", "__description__", "__url__"]
|
||||
Reference in New Issue
Block a user