Added complete configuration support with multiple formats and examples
to help users easily configure py-wikijs for their projects.
New Features:
- Configuration file templates for ENV, YAML, JSON, and INI formats
- config_helper.py: Universal configuration loader and client factory
* Auto-detects and loads configs from multiple formats
* Supports environment variables, YAML, JSON, and INI files
* Provides create_client_from_config() for easy client creation
* Validates configuration and provides helpful error messages
Configuration Templates:
- config.env.example: Environment variables (Docker, 12-factor apps)
- config.yaml.example: YAML with multi-environment support
- config.json.example: JSON for programmatic configuration
- config.ini.example: INI for traditional setups
Usage Examples:
- using_env_config.py: Complete example using .env files
- using_yaml_config.py: Complete example using YAML configuration
- using_json_config.py: Complete example using JSON configuration
Documentation:
- docs/CONFIGURATION_GUIDE.md: Comprehensive configuration guide
* All configuration methods explained
* Security best practices
* Environment-specific configurations
* Troubleshooting guide
Benefits:
✅ Flexible configuration (choose your preferred format)
✅ Keep credentials secure (no hardcoding)
✅ Environment-specific configs (dev/staging/prod)
✅ Docker/container-ready
✅ Full validation and error handling
✅ Comprehensive documentation and examples
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Resolved conflicts:
- README.md: Combined Requirements section and Production Features section
- requirements.txt: Kept pydantic[email]>=1.10.0 without aiohttp in core deps
Merged features from development:
- Production features: logging, metrics, rate limiting
- Security policy (SECURITY.md)
- Additional test coverage
- Documentation for new features
Complete package deployment configuration for PyPI publishing:
- Add MANIFEST.in to control package distribution
- Include LICENSE, README, requirements files
- Include docs/ and examples/ directories
- Include type stub marker (py.typed)
- Exclude test files and development artifacts
- Fix dependency specification
- Add pydantic[email] for email validation support
- Required for User model EmailStr fields
- Update both requirements.txt and pyproject.toml
- Create comprehensive deployment documentation
- docs/deployment.md - Complete PyPI publishing guide
- Pre-deployment checklist
- Build and test procedures
- PyPI upload instructions
- Troubleshooting guide
- CI/CD automation examples
- DEPLOYMENT_READY.md - Deployment status summary
- What's included in distributions
- Verification test results
- Quick deployment steps
- PyPI vs Gitea comparison
Package is now 100% ready for PyPI deployment:
✅ Builds successfully (sdist + wheel)
✅ Installs correctly with all dependencies
✅ Imports work without errors
✅ All files properly included
✅ Complete documentation provided
Testing:
- Successfully built wikijs_python_sdk-0.1.0.tar.gz (134 KB)
- Successfully built wikijs_python_sdk-0.1.0-py3-none-any.whl (66 KB)
- Verified installation and imports work correctly
- All dependencies resolve properly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add detailed compatibility documentation and version detection:
- Add Wiki.js 2.x compatibility badge and requirements to README
- Create comprehensive docs/compatibility.md guide
- Detailed version support matrix (2.2 through 2.5.308+)
- API schema differences between 2.x and 3.x
- Version detection examples and troubleshooting
- Known compatibility issues and solutions
- Future 3.x support planning
- Enhance test_connection() in both sync and async clients
- Add API version compatibility detection
- Better error messages for incompatible versions
- Detect Wiki.js 3.x and provide clear guidance
- Update package metadata
- Add Wiki.js compatibility keywords to setup.py and pyproject.toml
- Add compatibility documentation link to project URLs
SDK supports Wiki.js 2.x (versions 2.2 - 2.5.308+)
Wiki.js 3.x (alpha) not yet supported due to different API schema
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Resolved conflicts:
- CHANGELOG.md: Combined detailed v0.1.0 with new v0.2.0 release notes
- CLAUDE.md: Kept development version for consistency
Brings in all Phase 2 features:
- Async/await support
- Caching layer
- Batch operations
- Complete API coverage (Users, Groups, Assets)
- Comprehensive documentation updates
Comprehensive documentation updates for v0.2.0 release features:
Documentation Updates:
- Updated CHANGELOG.md with v0.2.0 release notes documenting:
* Async/await support with AsyncWikiJSClient
* Intelligent caching layer with MemoryCache
* Batch operations (create_many, update_many, delete_many)
* Complete API coverage (Users, Groups, Assets, System)
* Performance improvements and test coverage increases
- Updated docs/api_reference.md with:
* Caching section documenting MemoryCache interface and usage
* Batch Operations section with all three methods
* Cache invalidation and statistics tracking
- Updated docs/user_guide.md with:
* Intelligent Caching section with practical examples
* Completely rewritten Batch Operations section
* Performance comparison examples and use cases
- Updated README.md:
* Replaced generic features with specific implemented capabilities
* Added Async Support, Intelligent Caching, Batch Operations
* Updated current features to reflect v0.2.0 status
New Example Files:
- examples/caching_example.py (196 lines):
* Basic caching usage and configuration
* Cache statistics and hit rate monitoring
* Automatic and manual cache invalidation
* Shared cache across operations
* Cache cleanup and management
- examples/batch_operations.py (289 lines):
* Batch page creation with performance comparison
* Bulk updates and partial failure handling
* Batch deletion with success/failure tracking
* Data migration patterns
* Performance benchmarks (sequential vs batch)
All documentation is now complete and ready for merge to development branch.
Test coverage: 81% (up from 43%)
All tests passing: 37 tests (27 cache + 10 batch operations)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit introduces a detailed improvement plan that outlines the
strategic evolution of the Wiki.js Python SDK from v0.1.0 (MVP) to
v1.0.0 (Enterprise-grade).
Key additions:
1. **IMPROVEMENT_PLAN.md** - Comprehensive 47-page specification
- Phase 2: Essential Features + Async Support (v0.2.0)
* Async/await implementation with aiohttp
* API expansion: Users, Groups, Assets
* Auto-pagination support
* Dual sync/async client architecture
- Phase 3: Reliability & Performance (v0.3.0)
* Intelligent caching layer (Memory, Redis, File)
* GraphQL batch operations
* Rate limiting & throttling
* Circuit breaker & enhanced retry logic
- Phase 4: Advanced Features (v1.0.0)
* Advanced CLI with rich formatting
* Plugin architecture for extensibility
* Webhook support for event handling
2. **CLAUDE.md updates**
- Updated phase definitions with detailed task breakdowns
- Added Phase 2 implementation steps and quality gates
- Included success criteria and time estimates
- Enhanced development guidelines for Phase 2
- Updated current focus from Phase 1 to Phase 2
Implementation strategy:
- Test-driven development with >95% coverage
- Documentation alongside code development
- Quality gates at every checkpoint
- Backward compatibility guaranteed
- Performance benchmarks for all features
Timeline: ~17 weeks total (4 months to v1.0.0)
This plan ensures we deliver production-ready, enterprise-grade
features while maintaining the highest quality standards throughout.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
✅ 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>