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>
This commit is contained in:
@@ -3,8 +3,70 @@ requires = ["setuptools>=61.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "wikijs-python-sdk"
|
||||
description = "A professional Python SDK for Wiki.js API integration"
|
||||
authors = [{name = "Wiki.js SDK Contributors"}]
|
||||
license = {text = "MIT"}
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.8"
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Operating System :: OS Independent",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
||||
"Topic :: Documentation",
|
||||
"Typing :: Typed",
|
||||
]
|
||||
dependencies = [
|
||||
"requests>=2.28.0",
|
||||
"pydantic>=1.10.0",
|
||||
"typing-extensions>=4.0.0",
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest>=7.0.0",
|
||||
"pytest-cov>=4.0.0",
|
||||
"pytest-asyncio>=0.21.0",
|
||||
"black>=22.0.0",
|
||||
"isort>=5.10.0",
|
||||
"flake8>=5.0.0",
|
||||
"mypy>=0.991",
|
||||
"pre-commit>=2.20.0",
|
||||
"bandit[toml]>=1.7.0",
|
||||
"responses>=0.20.0",
|
||||
"ipython>=8.0.0",
|
||||
"twine>=4.0.0",
|
||||
"build>=0.8.0",
|
||||
]
|
||||
async = [
|
||||
"aiohttp>=3.8.0",
|
||||
]
|
||||
cli = [
|
||||
"click>=8.0.0",
|
||||
"rich>=12.0.0",
|
||||
]
|
||||
all = [
|
||||
"aiohttp>=3.8.0",
|
||||
"click>=8.0.0",
|
||||
"rich>=12.0.0",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/yourusername/wikijs-python-sdk"
|
||||
"Bug Reports" = "https://github.com/yourusername/wikijs-python-sdk/issues"
|
||||
Source = "https://github.com/yourusername/wikijs-python-sdk"
|
||||
Documentation = "https://github.com/yourusername/wikijs-python-sdk/docs"
|
||||
|
||||
[tool.setuptools.dynamic]
|
||||
version = {attr = "wikijs.version.__version__"}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user