Commit Graph

24 Commits

Author SHA1 Message Date
Claude
6fdff8f95d docs: Update documentation to reflect Phase 1 (v0.1.0) completion
This commit updates all project documentation to accurately reflect
the current implementation status and v0.1.0 MVP release.

**Major Updates:**

1. **CLAUDE.md (v1.1)**:
   - Updated Current Development State to 100% Phase 1 complete
   - Replaced outdated "CURRENT FOCUS: TASK 1.1" section with "PHASE 1 COMPLETE" summary
   - Marked all Phase 1 tasks (1.1-1.7) as complete with 100% status
   - Updated repository structure to show tests/, docs/, examples/ as complete
   - Added Phase 1 Achievement Summary with metrics:
     * 2,641 lines of test code (231 tests, 87%+ coverage)
     * 3,589+ lines of documentation
     * 3 authentication methods implemented
     * Complete Pages API (679 lines)
   - Updated Success Criteria checkboxes to reflect achievements
   - Prepared Phase 2 planning section
   - Added version history entry for v1.1

2. **docs/CHANGELOG.md**:
   - Moved [Unreleased] content to new [0.1.0] release section
   - Added comprehensive v0.1.0 release notes (2025-10-23)
   - Documented all delivered features:
     * Core Implementation (Client, Auth, Pages API, Models, Exceptions, Utilities)
     * Quality Infrastructure (Tests, Coverage, Tools, CI/CD)
     * Documentation (12 files, 3,589+ lines)
     * Project Infrastructure
   - Marked all v0.1.0 Success Criteria as complete
   - Fixed installation URL from GitHub to Gitea
   - Added security notes (input validation, API key masking, SSL verification)

3. **docs/api_reference.md**:
   - Fixed JWT Authentication documentation
   - Changed from username/password pattern to correct token-based pattern
   - Added proper parameters: token, base_url, refresh_token, expires_at
   - Documented JWT features: auto-expiration detection, token refresh, security

**Rationale:**
These updates ensure documentation accurately reflects the actual
implementation, eliminating confusion and providing clear status
for Phase 1 completion and readiness for Phase 2 development.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 13:59:15 +00:00
Leo Miranda
7b67ade2f3 Merge pull request #1 from l3ocho/claude/review-repository-011CUNdp1kRuTe47fPVBhrBZ
Fix 3 critical issues identified in repository review
2025-10-22 13:47:24 -04:00
Claude
66f4471e53 Fix 3 critical issues identified in repository review
**Critical Fixes:**

1. **Fixed Error Hierarchy** (wikijs/exceptions.py)
   - ConnectionError and TimeoutError now properly inherit from APIError
   - Ensures consistent exception handling across the SDK
   - Added proper __init__ methods with status_code=None

2. **Fixed test_connection Method** (wikijs/client.py)
   - Changed from basic HTTP GET to proper GraphQL query validation
   - Now uses query { site { title } } to validate API connectivity
   - Provides better error messages for authentication failures
   - Validates both connectivity AND API access

3. **Implemented JWT Token Refresh** (wikijs/auth/jwt.py)
   - Added base_url parameter to JWTAuth class
   - Implemented complete refresh() method with HTTP request to /api/auth/refresh
   - Handles token, refresh token, and expiration updates
   - Proper error handling for network failures and auth errors

**Bonus Fixes:**
- Dynamic user agent version (uses __version__ from version.py instead of hardcoded)
- Updated all JWT tests to include required base_url parameter
- Updated test mocks to match new GraphQL-based test_connection

**Test Results:**
- All 231 tests passing 
- Test coverage: 91.64% (target: 85%) 
- No test failures or errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 17:44:44 +00:00
3e2430fbe0 final commit 2025-07-31 23:11:30 -04:00
f4c99ab5db final commit 2025-07-31 23:11:30 -04:00
5f43b3d077 Merge pull request 'initial-setup' (#1) from initial-setup into main
Reviewed-on: lmiranda/wikijs-sdk-python#1
2025-08-01 02:34:32 +00:00
b0f903660e second commit 2025-07-31 22:32:51 -04:00
96ebbb6823 first commit 2025-07-31 22:22:37 -04:00
39d82f7644 testing first commit 2025-07-31 22:07:16 -04:00
19362ddeb3 testing adjustments 2025-07-30 21:34:55 -04:00
2971858b37 Fix flake8 whitespace errors in helpers.py
- Removed trailing whitespace from blank lines (W293)
- All flake8 checks now pass

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 21:10:44 -04:00
5201f6e558 Fix test failures and formatting issues
- Fixed black formatting in exceptions.py
- Restored parse_wiki_response to original behavior (return input unchanged for non-dict)
- Enhanced validate_url to properly reject URLs with spaces
- Fixed 3 previously failing utility tests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 21:07:29 -04:00
6c578ac43e Fix GitHub Actions and pyproject.toml configuration issues
- Updated actions/upload-artifact from deprecated v3 to v4
- Fixed pyproject.toml license format from "MIT" to {text = "MIT"}
- Package configuration now validates successfully

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 21:03:33 -04:00
bfb0589953 Fix whitespace in blank line (W293)
- Removed trailing whitespace from blank line in client.py:66
- All flake8 checks now pass

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 21:00:35 -04:00
447ae9aa44 Fix mypy Python version to match system Python 3.12
- Corrected mypy python_version from 3.9 to 3.12 to match system Python
- Type checking still passes with all annotations intact

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:58:43 -04:00
b0c1599958 Fix mypy type checking errors
- Updated mypy configuration to use Python 3.9+
- Added missing type annotations to all function parameters
- Fixed type compatibility issues in variable assignments
- Resolved unreachable code and return type warnings
- All mypy checks now pass successfully

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:56:29 -04:00
ade9aacf56 Fix code formatting and linting issues
- Updated GitHub Actions workflow to use correct flake8 configuration
- Fixed line length issues by using 88 characters as configured
- Removed unused imports and trailing whitespace
- Fixed f-string placeholders and unused variables
- All linting checks now pass with project configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:49:40 -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
29001b02a5 Complete Task 1.3 - Authentication System Implementation
 Implemented comprehensive authentication system:
- Abstract AuthHandler base class with pluggable architecture
- APIKeyAuth for API key authentication (string auto-conversion)
- JWTAuth for JWT token authentication with expiration handling
- NoAuth for testing and public instances
- Full integration with WikiJSClient for automatic header management

🔧 Fixed packaging issues:
- Updated pyproject.toml with required project metadata fields
- Fixed utility function exports in utils/__init__.py
- Package now installs correctly in virtual environments

🧪 Validated with comprehensive tests:
- All authentication methods working correctly
- Proper error handling for invalid credentials
- Type validation and security features

📊 Progress: Phase 1 MVP Development now 60% complete
🎯 Next: Task 1.4 - Pages API implementation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 15:06: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