19362ddeb3c98509eca14826407754b1ee51b7bc
Wiki.js Python SDK
A professional Python SDK for Wiki.js API integration.
🎉 Status: Phase 1 MVP Complete! Ready for production use
Current Version: v0.1.0 with complete Wiki.js Pages API integration Next Milestone: v0.2.0 with Users, Groups, and Assets API support
🚀 Quick Start
Installation
# Install directly from GitHub
pip install git+https://github.com/yourusername/wikijs-python-sdk.git
# Or clone and install locally
git clone https://github.com/yourusername/wikijs-python-sdk.git
cd wikijs-python-sdk
pip install -e .
Basic Usage
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 ✅ COMPLETE
- ✅ Complete: Professional-grade Wiki.js Python SDK
- 🎯 Goal: Basic Wiki.js integration with Pages API
- 📦 Deliverable: Installable package with core functionality
| Component | Status | Description |
|---|---|---|
| Project Setup | ✅ Complete | Repository structure, packaging, CI/CD |
| Core Client | ✅ Complete | HTTP client with authentication and retry logic |
| Pages API | ✅ Complete | Full CRUD operations for wiki pages |
| Testing | ✅ Complete | 87%+ test coverage with comprehensive test suite |
| Documentation | ✅ Complete | Complete API reference, user guide, 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: Basic setup and usage
- API Reference: Complete SDK documentation
- User Guide: Comprehensive usage guide with examples
- Examples: Real-world usage examples and code samples
For Contributors
- Contributing Guide: How to contribute to the project
- Development Guide: Setup and development workflow
- Changelog: Version history and changes
For Maintainers
- Architecture: Technical design and patterns
- Development Plan: Complete roadmap and milestones
- Development Notes: Development workflow and coordination
🤝 Contributing
We welcome contributions! This project showcases systematic development with professional standards.
Getting Started:
- Check our Development Plan for current priorities
- Review the Architecture for technical context
- See Development Notes for development workflow
- 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
# 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 Complete)
- ✅ Synchronous HTTP client with connection pooling and retry logic
- ✅ Multiple authentication methods (API key, JWT, custom)
- ✅ Complete Pages API with CRUD operations, search, and filtering
- ✅ Comprehensive error handling with specific exception types
- ✅ Type-safe models with validation using Pydantic
- ✅ Extensive test coverage (87%+) with robust test suite
- ✅ Complete documentation with API reference and user guide
- ✅ Practical examples and code samples
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 file for details.
🙏 Acknowledgments
- Wiki.js: The excellent knowledge management platform this SDK supports
- leomiranda: Developer who created this SDK
- Python Community: For exceptional tools and development standards
Ready to contribute? Check out our development documentation or explore the development workflow to see how this project is built!
Languages
Python
100%