Files
wikijs-sdk-python/README.md
l3ocho 11b6be87c8 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>
2025-07-29 13:25:36 -04:00

160 lines
5.0 KiB
Markdown

# Wiki.js Python SDK
[![PyPI version](https://badge.fury.io/py/wikijs-python-sdk.svg)](https://badge.fury.io/py/wikijs-python-sdk)
[![Python Support](https://img.shields.io/pypi/pyversions/wikijs-python-sdk.svg)](https://pypi.org/project/wikijs-python-sdk/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![CI Status](https://github.com/yourusername/wikijs-python-sdk/workflows/Test%20Suite/badge.svg)](https://github.com/yourusername/wikijs-python-sdk/actions)
[![Coverage](https://codecov.io/gh/yourusername/wikijs-python-sdk/branch/main/graph/badge.svg)](https://codecov.io/gh/yourusername/wikijs-python-sdk)
**A professional Python SDK for Wiki.js API integration, developed entirely with AI assistance.**
> **🚧 Status**: Currently in Phase 1 - MVP Development (0% complete)
> **Next Milestone**: v0.1.0 with basic Wiki.js integration and Pages API
---
## 🚀 Quick Start
### Installation
```bash
# Coming soon - not yet published
pip install wikijs-python-sdk
```
### Basic Usage
```python
from wikijs import WikiJSClient
# Initialize client
client = WikiJSClient('https://wiki.example.com', auth='your-api-key')
# List pages
pages = client.pages.list()
# Get a specific page
page = client.pages.get(123)
# Create a new page
from wikijs.models import PageCreate
new_page = client.pages.create(PageCreate(
title="Getting Started",
path="getting-started",
content="# Welcome\n\nThis is your first page!"
))
```
---
## 🎯 Current Development Status
### **Phase 1: MVP Development** (Target: 2 weeks)
- 🔄 **In Progress**: Project foundation setup
- 🎯 **Goal**: Basic Wiki.js integration with Pages API
- 📦 **Deliverable**: Installable package with core functionality
| Component | Status | Description |
|-----------|--------|-------------|
| **Project Setup** | 🔄 In Progress | Repository structure, packaging, CI/CD |
| **Core Client** | ⏳ Pending | HTTP client with authentication |
| **Pages API** | ⏳ Pending | CRUD operations for wiki pages |
| **Testing** | ⏳ Pending | Comprehensive test suite |
| **Documentation** | ⏳ Pending | API reference and examples |
### **Planned Features**
- **v0.2.0**: Complete API coverage (Users, Groups, Assets)
- **v0.3.0**: Production features (retry logic, caching, monitoring)
- **v1.0.0**: Enterprise features (async support, plugins, advanced CLI)
---
## 📚 Documentation
### **For Users**
- **[Quick Start](#quick-start)**: Basic setup and usage
- **[API Reference](docs/api_reference.md)**: Complete SDK documentation *(Coming soon)*
- **[Examples](examples/)**: Real-world usage examples *(Coming soon)*
### **For Contributors**
- **[Contributing Guide](CONTRIBUTING.md)**: How to contribute *(Coming soon)*
- **[Development Setup](docs/development.md)**: Local development guide *(Coming soon)*
### **For Maintainers**
- **[Architecture](docs/wikijs_sdk_architecture.md)**: Technical design and patterns
- **[Development Plan](docs/wikijs_sdk_release_plan.md)**: Complete roadmap and milestones
- **[AI Coordination](CLAUDE.md)**: AI-assisted development workflow
---
## 🤝 Contributing
We welcome contributions! This project showcases AI-powered development with professional standards.
**Getting Started:**
1. Check our [Development Plan](docs/wikijs_sdk_release_plan.md) for current priorities
2. Review the [Architecture](docs/wikijs_sdk_architecture.md) for technical context
3. See [AI Coordination](CLAUDE.md) for development workflow
4. Start with issues labeled `good first issue` *(Coming soon)*
**Community:**
- 💬 **GitHub Discussions**: Questions and community chat *(Coming soon)*
- 🐛 **GitHub Issues**: Bug reports and feature requests *(Coming soon)*
---
## 🛠️ Development Setup
### Prerequisites
- Python 3.8+
- Git
- Wiki.js instance for testing
### Local Development
```bash
# Clone and setup (when repository is published)
git clone https://github.com/yourusername/wikijs-python-sdk
cd wikijs-python-sdk
pip install -e ".[dev]"
# Run tests
pytest
# Run quality checks
pre-commit run --all-files
```
---
## 🏆 Project Features
### **Current (MVP in development)**
- 🔄 Synchronous HTTP client
- 🔄 API key authentication
- 🔄 Pages CRUD operations
- 🔄 Comprehensive error handling
- 🔄 Type-safe models with validation
### **Planned Enhancements**
- ⚡ Async/await support
- 💾 Intelligent caching
- 🔄 Retry logic with backoff
- 💻 CLI tools
- 🔧 Plugin system
- 🛡️ Advanced security features
---
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
## 🙏 Acknowledgments
- **Wiki.js**: The excellent knowledge management platform this SDK supports
- **Claude (Anthropic)**: AI assistant powering the complete development process
- **Python Community**: For exceptional tools and development standards
---
**Ready to contribute?** Check out our [development documentation](docs/) or explore the [AI coordination workflow](CLAUDE.md) to see how this project is built!