Commit Graph

13 Commits

Author SHA1 Message Date
Claude
eba7dc505a Merge origin/development into feature branch
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
2025-10-23 20:43:56 +00:00
Claude
59cdf5ee01 refactor: Rename package from wikijs-python-sdk to py-wikijs and migrate to GitHub
Complete package renaming and platform migration:

Package Name Changes:
- Rename package from 'wikijs-python-sdk' to 'py-wikijs'
- Update setup.py package name
- Update pyproject.toml package name
- Users can now install with: pip install py-wikijs

URL Migration (Gitea → GitHub):
- Replace all Gitea URLs with GitHub URLs
- Update repository: github.com/l3ocho/py-wikijs
- Update issue tracker: github.com/l3ocho/py-wikijs/issues
- Update documentation links
- Fix URL path format (/src/branch/main/ → /blob/main/)

Documentation Updates:
- Update README.md badges (PyPI, GitHub)
- Update installation instructions (pip install py-wikijs)
- Update all doc references to new package name
- Update all examples with GitHub URLs
- Update DEPLOYMENT_READY.md with new package name
- Update deployment.md with new package name

Testing:
- Successfully built py_wikijs-0.1.0.tar.gz (138 KB)
- Successfully built py_wikijs-0.1.0-py3-none-any.whl (66 KB)
- Package installs correctly: pip install py-wikijs
- Imports work: from wikijs import WikiJSClient
- Package metadata correct (Home-page: github.com/l3ocho/py-wikijs)

Breaking Changes:
- Package name changed from wikijs-python-sdk to py-wikijs
- Repository migrated from Gitea to GitHub
- All URLs updated to GitHub

Users should now:
pip install py-wikijs  # Instead of wikijs-python-sdk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 20:23:50 +00:00
Claude
5cd55e65af docs: Add comprehensive Wiki.js version compatibility documentation
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>
2025-10-23 20:01:14 +00:00
Claude
cef6903cbc feat: implement production-ready features from improvement plan phase 2.5 & 2.6
Phase 2.5: Fix Foundation (CRITICAL)
- Fixed 4 failing tests by adding cache attribute to mock_client fixture
- Created comprehensive cache tests for Pages endpoint (test_pages_cache.py)
- Added missing dependencies: pydantic[email] and aiohttp to core requirements
- Updated requirements.txt with proper dependency versions
- Achieved 82.67% test coverage with 454 passing tests

Phase 2.6: Production Essentials
- Implemented structured logging (wikijs/logging.py)
  * JSON and text log formatters
  * Configurable log levels and output destinations
  * Integration with client operations

- Implemented metrics and telemetry (wikijs/metrics.py)
  * Request tracking with duration, status codes, errors
  * Latency percentiles (min, max, avg, p50, p95, p99)
  * Error rate calculation
  * Thread-safe metrics collection

- Implemented rate limiting (wikijs/ratelimit.py)
  * Token bucket algorithm for request throttling
  * Per-endpoint rate limiting support
  * Configurable timeout handling
  * Burst capacity management

- Created SECURITY.md policy
  * Vulnerability reporting procedures
  * Security best practices
  * Response timelines
  * Supported versions

Documentation
- Added comprehensive logging guide (docs/logging.md)
- Added metrics and telemetry guide (docs/metrics.md)
- Added rate limiting guide (docs/rate_limiting.md)
- Updated README.md with production features section
- Updated IMPROVEMENT_PLAN_2.md with completed checkboxes

Testing
- Created test suite for logging (tests/test_logging.py)
- Created test suite for metrics (tests/test_metrics.py)
- Created test suite for rate limiting (tests/test_ratelimit.py)
- All 454 tests passing
- Test coverage: 82.67%

Breaking Changes: None
Dependencies Added: pydantic[email], email-validator, dnspython

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 16:45:02 +00:00
Claude
8e948d5cef docs: Update repository name from wikijs-sdk-python to py-wikijs
Updated all repository URL references to reflect the new repository name:
- setup.py: Updated project URLs
- pyproject.toml: Updated project URLs
- README.md: Updated badges and installation commands
- CLAUDE.md: Updated deployment strategy
- docs/wikijs_sdk_release_plan.md: Updated repository URL
- docs/CONTRIBUTING.md: Updated clone URLs and issue tracker links

Note: Python package name remains 'wikijs-python-sdk' for consistency
with pip naming conventions. Only repository name changed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 15:36:19 +00:00
Claude
a48db0e754 docs: Complete documentation for caching and batch operations features
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>
2025-10-23 15:01:37 +00:00
3e2430fbe0 final commit 2025-07-31 23:11:30 -04:00
16bd151337 last one 2025-07-30 20:11:48 -04:00
db95a4c1be changed to github deployment for the first version. 2025-07-30 19:43:23 -04:00
40c801f053 last-updates 2025-07-29 21:01:46 -04:00
18a82711cb ready for try 2025-07-29 20:16:11 -04:00
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
l3ocho
3554d7d69c Initial commit 2025-07-28 23:46:07 -04:00