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>
This commit is contained in:
Claude
2025-10-23 20:23:50 +00:00
parent c18d00cd47
commit 59cdf5ee01
52 changed files with 128 additions and 125 deletions

View File

@@ -31,7 +31,7 @@
## 📋 PROJECT CONTEXT & STATUS ## 📋 PROJECT CONTEXT & STATUS
### **Project Overview** ### **Project Overview**
**Name**: wikijs-python-sdk **Name**: py-wikijs
**Purpose**: Professional-grade Python SDK for Wiki.js API integration **Purpose**: Professional-grade Python SDK for Wiki.js API integration
**Development Approach**: AI-powered, community-driven, open source **Development Approach**: AI-powered, community-driven, open source
**Deployment Strategy**: Gitea-only installation (pip install git+https://gitea.hotserv.cloud/...) **Deployment Strategy**: Gitea-only installation (pip install git+https://gitea.hotserv.cloud/...)
@@ -48,7 +48,7 @@ Target_Date: "2 weeks from start"
### **Repository Structure Status** ### **Repository Structure Status**
``` ```
wikijs-python-sdk/ # ✅ COMPLETE py-wikijs/ # ✅ COMPLETE
├── README.md # ✅ COMPLETE - Central documentation hub ├── README.md # ✅ COMPLETE - Central documentation hub
├── CLAUDE.md # ✅ COMPLETE - This file ├── CLAUDE.md # ✅ COMPLETE - This file
├── LICENSE # ✅ COMPLETE - Task 1.1 ├── LICENSE # ✅ COMPLETE - Task 1.1
@@ -760,7 +760,7 @@ This document evolves based on development experience:
**DEPLOYMENT STRATEGY**: **DEPLOYMENT STRATEGY**:
- Maintain backward compatibility with v0.1.0 - Maintain backward compatibility with v0.1.0
- Gitea-only deployment continues - Gitea-only deployment continues
- Users install via: `pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git@v0.2.0` - Users install via: `pip install git+https://github.com/l3ocho/py-wikijs.git@v0.2.0`
**DEVELOPMENT PRINCIPLES**: **DEVELOPMENT PRINCIPLES**:
1.**Test-Driven Development**: Write tests first, then implementation 1.**Test-Driven Development**: Write tests first, then implementation

View File

@@ -32,7 +32,7 @@
- [x] setup.py configured - [x] setup.py configured
- [x] pyproject.toml configured - [x] pyproject.toml configured
- [x] Version management (wikijs/version.py) - [x] Version management (wikijs/version.py)
- [x] Package name: `wikijs-python-sdk` - [x] Package name: `py-wikijs`
- [x] Author information - [x] Author information
- [x] Keywords and classifiers - [x] Keywords and classifiers
- [x] Project URLs - [x] Project URLs
@@ -48,7 +48,7 @@
## 📦 What's Included ## 📦 What's Included
### Source Distribution (`wikijs_python_sdk-0.1.0.tar.gz`) ### Source Distribution (`py_wikijs-0.1.0.tar.gz`)
``` ```
Size: ~134 KB Size: ~134 KB
@@ -65,7 +65,7 @@ Contents:
✅ pyproject.toml ✅ pyproject.toml
``` ```
### Wheel Distribution (`wikijs_python_sdk-0.1.0-py3-none-any.whl`) ### Wheel Distribution (`py_wikijs-0.1.0-py3-none-any.whl`)
``` ```
Size: ~66 KB Size: ~66 KB
@@ -97,7 +97,7 @@ python -m twine upload --repository testpypi dist/*
python -m twine upload dist/* python -m twine upload dist/*
# 5. Install from PyPI # 5. Install from PyPI
pip install wikijs-python-sdk pip install py-wikijs
# Done! Package is now publicly available # Done! Package is now publicly available
``` ```
@@ -106,10 +106,10 @@ pip install wikijs-python-sdk
```bash ```bash
# Users install directly from Git # Users install directly from Git
pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git pip install git+https://github.com/l3ocho/py-wikijs.git
# Or specific version/branch # Or specific version/branch
pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git@v0.1.0 pip install git+https://github.com/l3ocho/py-wikijs.git@v0.1.0
``` ```
--- ---
@@ -119,13 +119,13 @@ pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git@v0.1.0
### Build Tests ✅ ### Build Tests ✅
```bash ```bash
$ python -m build $ python -m build
Successfully built wikijs_python_sdk-0.1.0.tar.gz and wikijs_python_sdk-0.1.0-py3-none-any.whl Successfully built py_wikijs-0.1.0.tar.gz and py_wikijs-0.1.0-py3-none-any.whl
``` ```
### Installation Test ✅ ### Installation Test ✅
```bash ```bash
$ pip install dist/wikijs_python_sdk-0.1.0-py3-none-any.whl $ pip install dist/py_wikijs-0.1.0-py3-none-any.whl
Successfully installed wikijs-python-sdk-0.1.0 Successfully installed py-wikijs-0.1.0
``` ```
### Import Test ✅ ### Import Test ✅
@@ -136,8 +136,8 @@ $ python -c "from wikijs import WikiJSClient, __version__; print(f'Version: {__v
### Dependency Test ✅ ### Dependency Test ✅
```bash ```bash
$ pip show wikijs-python-sdk $ pip show py-wikijs
Name: wikijs-python-sdk Name: py-wikijs
Version: 0.1.0 Version: 0.1.0
Requires: pydantic, requests, typing-extensions Requires: pydantic, requests, typing-extensions
Required-by: Required-by:
@@ -149,7 +149,7 @@ Required-by:
| Attribute | Value | | Attribute | Value |
|-----------|-------| |-----------|-------|
| **Package Name** | `wikijs-python-sdk` | | **Package Name** | `py-wikijs` |
| **Import Name** | `wikijs` | | **Import Name** | `wikijs` |
| **Version** | 0.1.0 | | **Version** | 0.1.0 |
| **Python Support** | 3.8+ | | **Python Support** | 3.8+ |
@@ -240,7 +240,7 @@ Required-by:
## 📦 PyPI vs Gitea-Only ## 📦 PyPI vs Gitea-Only
### PyPI Benefits ### PyPI Benefits
- ✅ Simple installation: `pip install wikijs-python-sdk` - ✅ Simple installation: `pip install py-wikijs`
- ✅ Better discoverability - ✅ Better discoverability
- ✅ Automatic dependency resolution - ✅ Automatic dependency resolution
- ✅ Version management - ✅ Version management

View File

@@ -3,8 +3,8 @@
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python Support](https://img.shields.io/badge/python-3.8+-blue.svg)](https://python.org) [![Python Support](https://img.shields.io/badge/python-3.8+-blue.svg)](https://python.org)
[![Wiki.js Support](https://img.shields.io/badge/Wiki.js-2.2+-green.svg)](https://docs.requarks.io/releases) [![Wiki.js Support](https://img.shields.io/badge/Wiki.js-2.2+-green.svg)](https://docs.requarks.io/releases)
[![Repository](https://img.shields.io/badge/repo-Gitea-green.svg)](https://gitea.hotserv.cloud/lmiranda/py-wikijs) [![PyPI Package](https://img.shields.io/badge/PyPI-py--wikijs-blue.svg)](https://pypi.org/project/py-wikijs/)
[![Issues](https://img.shields.io/badge/issues-Gitea-blue.svg)](https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues) [![GitHub](https://img.shields.io/badge/GitHub-l3ocho/py--wikijs-blue.svg)](https://github.com/l3ocho/py-wikijs)
**A professional Python SDK for Wiki.js API integration.** **A professional Python SDK for Wiki.js API integration.**
@@ -18,13 +18,16 @@
### Installation ### Installation
```bash ```bash
# Install directly from Gitea # Install from PyPI (recommended)
pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git pip install py-wikijs
# Or clone and install locally # Or install from GitHub
git clone https://gitea.hotserv.cloud/lmiranda/py-wikijs.git pip install git+https://github.com/l3ocho/py-wikijs.git
cd wikijs-python-sdk
pip install -e . # Or clone and install locally for development
git clone https://github.com/l3ocho/py-wikijs.git
cd py-wikijs
pip install -e ".[dev]"
``` ```
### Basic Usage ### Basic Usage
@@ -138,8 +141,8 @@ Additional development tools:
### Local Development ### Local Development
```bash ```bash
# Clone and setup # Clone and setup
git clone https://gitea.hotserv.cloud/lmiranda/py-wikijs.git git clone https://github.com/l3ocho/py-wikijs.git
cd wikijs-python-sdk cd py-wikijs
pip install -e ".[dev]" pip install -e ".[dev]"
# Run tests # Run tests

View File

@@ -22,8 +22,8 @@ This project was developed by leomiranda, showcasing professional development pr
1. **Fork the Repository** 1. **Fork the Repository**
```bash ```bash
# Fork on Gitea, then clone your fork # Fork on Gitea, then clone your fork
git clone https://gitea.hotserv.cloud/lmiranda/py-wikijs.git git clone https://github.com/l3ocho/py-wikijs.git
cd wikijs-python-sdk cd py-wikijs
``` ```
2. **Set Up Development Environment** 2. **Set Up Development Environment**
@@ -336,7 +336,7 @@ Significant contributors may be invited to become maintainers.
1. Read our [Governance](docs/GOVERNANCE.md) guidelines 1. Read our [Governance](docs/GOVERNANCE.md) guidelines
2. Check the [current development status](CLAUDE.md) 2. Check the [current development status](CLAUDE.md)
3. Look for issues in the [repository](https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues) 3. Look for issues in the [repository](https://github.com/l3ocho/py-wikijs/issues)
4. Join the discussion! 4. Join the discussion!
**Questions?** Don't hesitate to create an issue in the [Gitea repository](https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues). **Questions?** Don't hesitate to create an issue in the [Gitea repository](https://github.com/l3ocho/py-wikijs/issues).

View File

@@ -1,6 +1,6 @@
# Wiki.js Python SDK - Community Governance # Wiki.js Python SDK - Community Governance
**Project**: wikijs-python-sdk **Project**: py-wikijs
**Stage**: MVP Development **Stage**: MVP Development
**Version**: 1.0 **Version**: 1.0
**Last Updated**: July 2025 **Last Updated**: July 2025

View File

@@ -1,6 +1,6 @@
# Wiki.js Python SDK - Risk Management # Wiki.js Python SDK - Risk Management
**Project**: wikijs-python-sdk **Project**: py-wikijs
**Stage**: MVP Development **Stage**: MVP Development
**Version**: 1.0 **Version**: 1.0
**Last Updated**: July 2025 **Last Updated**: July 2025

View File

@@ -5,7 +5,7 @@ The Wiki.js Python SDK provides full async/await support for high-performance co
## Installation ## Installation
```bash ```bash
pip install wikijs-python-sdk[async] pip install py-wikijs[async]
``` ```
## Quick Start ## Quick Start

View File

@@ -379,7 +379,7 @@ client_v3 = WikiJSClientV3(...) # Force 3.x API
- **Documentation**: [Full documentation](../README.md) - **Documentation**: [Full documentation](../README.md)
- **Examples**: [Usage examples](../examples/) - **Examples**: [Usage examples](../examples/)
- **Issues**: [Report compatibility issues](https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues) - **Issues**: [Report compatibility issues](https://github.com/l3ocho/py-wikijs/issues)
### Resources ### Resources
@@ -402,4 +402,4 @@ client_v3 = WikiJSClientV3(...) # Force 3.x API
**Last Updated**: October 2025 **Last Updated**: October 2025
**Next Review**: When Wiki.js 3.0 beta is released **Next Review**: When Wiki.js 3.0 beta is released
For the latest compatibility information, always check this guide or visit the [project repository](https://gitea.hotserv.cloud/lmiranda/py-wikijs). For the latest compatibility information, always check this guide or visit the [project repository](https://github.com/l3ocho/py-wikijs).

View File

@@ -7,7 +7,7 @@
## 📋 Overview ## 📋 Overview
This guide covers how to build, test, and publish the `wikijs-python-sdk` package to PyPI (Python Package Index). This guide covers how to build, test, and publish the `py-wikijs` package to PyPI (Python Package Index).
--- ---
@@ -57,7 +57,7 @@ pip install build twine
2. **Create API Token**: 2. **Create API Token**:
- Go to https://pypi.org/manage/account/ - Go to https://pypi.org/manage/account/
- Click "Add API token" - Click "Add API token"
- Name: `wikijs-python-sdk-upload` - Name: `py-wikijs-upload`
- Scope: Entire account (or specific project after first upload) - Scope: Entire account (or specific project after first upload)
3. **Save Token Securely**: Store in password manager or environment variable 3. **Save Token Securely**: Store in password manager or environment variable
@@ -218,7 +218,7 @@ python -m twine upload --repository testpypi dist/*
# Install from TestPyPI # Install from TestPyPI
pip install --index-url https://test.pypi.org/simple/ \ pip install --index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple/ \ --extra-index-url https://pypi.org/simple/ \
wikijs-python-sdk py-wikijs
# Test the installation # Test the installation
python -c "from wikijs import WikiJSClient; print('TestPyPI install successful')" python -c "from wikijs import WikiJSClient; print('TestPyPI install successful')"
@@ -253,17 +253,17 @@ python -m twine upload dist/*
# Uploading wikijs_python_sdk-0.2.0-py3-none-any.whl # Uploading wikijs_python_sdk-0.2.0-py3-none-any.whl
# Uploading wikijs_python_sdk-0.2.0.tar.gz # Uploading wikijs_python_sdk-0.2.0.tar.gz
# View at: # View at:
# https://pypi.org/project/wikijs-python-sdk/0.2.0/ # https://pypi.org/project/py-wikijs/0.2.0/
``` ```
### 3. Verify Publication ### 3. Verify Publication
```bash ```bash
# Visit PyPI page # Visit PyPI page
# https://pypi.org/project/wikijs-python-sdk/ # https://pypi.org/project/py-wikijs/
# Test installation from PyPI # Test installation from PyPI
pip install wikijs-python-sdk pip install py-wikijs
# Verify version # Verify version
python -c "from wikijs import __version__; print(__version__)" python -c "from wikijs import __version__; print(__version__)"
@@ -358,7 +358,7 @@ python -m twine upload dist/*
# Solution: Choose a different package name # Solution: Choose a different package name
# 1. Update name in setup.py and pyproject.toml # 1. Update name in setup.py and pyproject.toml
# 2. Rebuild package # 2. Rebuild package
# Note: wikijs-python-sdk is our chosen name # Note: py-wikijs is our chosen name
``` ```
### Installation Issues ### Installation Issues
@@ -367,8 +367,8 @@ python -m twine upload dist/*
```bash ```bash
# Solution: Check dependencies are installed # Solution: Check dependencies are installed
pip show wikijs-python-sdk pip show py-wikijs
pip install wikijs-python-sdk[all] # Install all optional deps pip install py-wikijs[all] # Install all optional deps
``` ```
**Problem**: Import errors with type hints **Problem**: Import errors with type hints
@@ -394,14 +394,14 @@ ls -lh dist/
# Check dependency tree # Check dependency tree
pip install pipdeptree pip install pipdeptree
pipdeptree -p wikijs-python-sdk pipdeptree -p py-wikijs
``` ```
### Download Stats ### Download Stats
After publication, monitor package metrics: After publication, monitor package metrics:
- **PyPI Stats**: https://pypistats.org/packages/wikijs-python-sdk - **PyPI Stats**: https://pypistats.org/packages/py-wikijs
- **GitHub Stats**: Stars, forks, watchers - **GitHub Stats**: Stars, forks, watchers
- **Issue Tracker**: Open issues, response time - **Issue Tracker**: Open issues, response time

View File

@@ -26,8 +26,8 @@ Guide for contributors and developers working on the Wiki.js Python SDK.
1. **Clone the repository:** 1. **Clone the repository:**
```bash ```bash
git clone https://github.com/yourusername/wikijs-python-sdk.git git clone https://github.com/yourusername/py-wikijs.git
cd wikijs-python-sdk cd py-wikijs
``` ```
2. **Create a virtual environment:** 2. **Create a virtual environment:**
@@ -70,7 +70,7 @@ python -c "from wikijs import WikiJSClient; print('✅ Setup successful!')"
## Project Structure ## Project Structure
``` ```
wikijs-python-sdk/ py-wikijs/
├── wikijs/ # Main package ├── wikijs/ # Main package
│ ├── __init__.py # Package exports │ ├── __init__.py # Package exports
│ ├── version.py # Version information │ ├── version.py # Version information

View File

@@ -516,7 +516,7 @@ pytest -v --cov=wikijs --cov-report=term-missing --cov-report=html
**File**: `wikijs/logging.py` (NEW) **File**: `wikijs/logging.py` (NEW)
```python ```python
"""Logging configuration for wikijs-python-sdk.""" """Logging configuration for py-wikijs."""
import logging import logging
import json import json
import sys import sys
@@ -784,7 +784,7 @@ JSON logs include:
**File**: `wikijs/metrics.py` (NEW) **File**: `wikijs/metrics.py` (NEW)
```python ```python
"""Metrics and telemetry for wikijs-python-sdk.""" """Metrics and telemetry for py-wikijs."""
import time import time
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import Dict, List, Optional from typing import Dict, List, Optional
@@ -1001,7 +1001,7 @@ print(f"P95 latency: {metrics['latency']['p95']:.2f}ms")
**File**: `wikijs/ratelimit.py` (NEW) **File**: `wikijs/ratelimit.py` (NEW)
```python ```python
"""Rate limiting for wikijs-python-sdk.""" """Rate limiting for py-wikijs."""
import time import time
import threading import threading
from typing import Optional from typing import Optional
@@ -1156,7 +1156,7 @@ pip install build twine
**File**: `setup.py` (VERIFY) **File**: `setup.py` (VERIFY)
```python ```python
setup( setup(
name="wikijs-python-sdk", # or "py-wikijs" name="py-wikijs", # or "py-wikijs"
version=read_version(), version=read_version(),
# ... existing config ... # ... existing config ...
classifiers=[ classifiers=[
@@ -1195,7 +1195,7 @@ rm -rf dist/ build/ *.egg-info
python -m build python -m build
# Verify contents # Verify contents
tar -tzf dist/wikijs-python-sdk-*.tar.gz tar -tzf dist/py-wikijs-*.tar.gz
unzip -l dist/wikijs_python_sdk-*.whl unzip -l dist/wikijs_python_sdk-*.whl
# Check package # Check package
@@ -1209,7 +1209,7 @@ twine check dist/*
twine upload --repository testpypi dist/* twine upload --repository testpypi dist/*
# Test installation # Test installation
pip install --index-url https://test.pypi.org/simple/ wikijs-python-sdk pip install --index-url https://test.pypi.org/simple/ py-wikijs
# Verify import # Verify import
python -c "from wikijs import WikiJSClient; print('Success!')" python -c "from wikijs import WikiJSClient; print('Success!')"
@@ -1222,10 +1222,10 @@ python -c "from wikijs import WikiJSClient; print('Success!')"
twine upload dist/* twine upload dist/*
# Verify on PyPI # Verify on PyPI
# https://pypi.org/project/wikijs-python-sdk/ # https://pypi.org/project/py-wikijs/
# Test installation # Test installation
pip install wikijs-python-sdk pip install py-wikijs
``` ```
#### Step 5: Update Documentation #### Step 5: Update Documentation
@@ -1236,18 +1236,18 @@ pip install wikijs-python-sdk
### From PyPI (Recommended) ### From PyPI (Recommended)
```bash ```bash
pip install wikijs-python-sdk pip install py-wikijs
# With async support # With async support
pip install wikijs-python-sdk[async] pip install py-wikijs[async]
# With all extras # With all extras
pip install wikijs-python-sdk[all] pip install py-wikijs[all]
``` ```
### From Source ### From Source
```bash ```bash
pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git pip install git+https://github.com/l3ocho/py-wikijs.git
``` ```
``` ```
@@ -1276,7 +1276,7 @@ pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git
### Success Criteria ### Success Criteria
- [ ] Package published to PyPI - [ ] Package published to PyPI
- [ ] Installation works: `pip install wikijs-python-sdk` - [ ] Installation works: `pip install py-wikijs`
- [ ] README updated with PyPI instructions - [ ] README updated with PyPI instructions
- [ ] Release notes created - [ ] Release notes created
- [ ] Version tagged in git - [ ] Version tagged in git
@@ -1379,7 +1379,7 @@ Once a vulnerability is fixed:
**File**: `wikijs/cli/__init__.py` (NEW) **File**: `wikijs/cli/__init__.py` (NEW)
```python ```python
"""Command-line interface for wikijs-python-sdk.""" """Command-line interface for py-wikijs."""
import click import click
from rich.console import Console from rich.console import Console
from rich.table import Table from rich.table import Table
@@ -1535,7 +1535,7 @@ setup(
```bash ```bash
# Install with CLI # Install with CLI
pip install wikijs-python-sdk[cli] pip install py-wikijs[cli]
# Set environment # Set environment
export WIKIJS_URL="https://wiki.example.com" export WIKIJS_URL="https://wiki.example.com"
@@ -1681,7 +1681,7 @@ open _build/html/index.html
**File**: `wikijs/plugins/base.py` (NEW) **File**: `wikijs/plugins/base.py` (NEW)
```python ```python
"""Plugin system for wikijs-python-sdk.""" """Plugin system for py-wikijs."""
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
@@ -1868,8 +1868,8 @@ git checkout -b phase-2.5-foundation-fixes
### Questions? ### Questions?
- 📧 Email: lmiranda@hotserv.cloud - 📧 Email: lmiranda@hotserv.cloud
- 🐛 Issues: https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues - 🐛 Issues: https://github.com/l3ocho/py-wikijs/issues
- 📚 Docs: https://gitea.hotserv.cloud/lmiranda/py-wikijs/src/branch/main/docs - 📚 Docs: https://github.com/l3ocho/py-wikijs/blob/main/docs
--- ---

View File

@@ -18,7 +18,7 @@ Complete guide to using the Wiki.js Python SDK for common tasks and workflows.
### Installation ### Installation
```bash ```bash
pip install wikijs-python-sdk pip install py-wikijs
``` ```
### Basic Setup ### Basic Setup

View File

@@ -741,5 +741,5 @@ Search for users by name or email.
## Support ## Support
For issues and questions: For issues and questions:
- GitHub Issues: [wikijs-python-sdk/issues](https://github.com/yourusername/wikijs-python-sdk/issues) - GitHub Issues: [py-wikijs/issues](https://github.com/yourusername/py-wikijs/issues)
- Documentation: [Full Documentation](../README.md) - Documentation: [Full Documentation](../README.md)

View File

@@ -224,7 +224,7 @@ flowchart TD
### Directory Layout ### Directory Layout
``` ```
wikijs-python-sdk/ py-wikijs/
├── wikijs/ # Main package ├── wikijs/ # Main package
│ ├── __init__.py # Package entry point │ ├── __init__.py # Package entry point
│ ├── client.py # Main client class │ ├── client.py # Main client class

View File

@@ -1,7 +1,7 @@
# Wiki.js Python SDK - Release Plan # Wiki.js Python SDK - Release Plan
**Project Name:** `wikijs-python-sdk` **Project Name:** `py-wikijs`
**Repository:** `https://gitea.hotserv.cloud/lmiranda/py-wikijs` **Repository:** `https://github.com/l3ocho/py-wikijs`
**License:** MIT **License:** MIT
**Target Audience:** Python developers, DevOps engineers, Data scientists **Target Audience:** Python developers, DevOps engineers, Data scientists
@@ -66,7 +66,7 @@ gantt
- **Documentation**: API documentation and usage examples - **Documentation**: API documentation and usage examples
### Success Criteria ### Success Criteria
- [ ] Package installable via `pip install git+https://gitea.hotserv.cloud/lmiranda/py-wikijs.git` - [ ] Package installable via `pip install git+https://github.com/l3ocho/py-wikijs.git`
- [ ] Basic page operations work with real Wiki.js instance - [ ] Basic page operations work with real Wiki.js instance
- [ ] >85% test coverage with passing CI/CD - [ ] >85% test coverage with passing CI/CD
- [ ] Complete API documentation - [ ] Complete API documentation

View File

@@ -43,8 +43,8 @@ python examples/content_management.py
1. **Set up your environment:** 1. **Set up your environment:**
```bash ```bash
# Clone the repository # Clone the repository
git clone https://github.com/yourusername/wikijs-python-sdk git clone https://github.com/yourusername/py-wikijs
cd wikijs-python-sdk cd py-wikijs
# Install the SDK # Install the SDK
pip install -e . pip install -e .

View File

@@ -4,7 +4,7 @@ This example demonstrates how to use the AsyncWikiJSClient for
high-performance concurrent operations with Wiki.js. high-performance concurrent operations with Wiki.js.
Requirements: Requirements:
pip install wikijs-python-sdk[async] pip install py-wikijs[async]
""" """
import asyncio import asyncio

View File

@@ -357,7 +357,7 @@ def main():
project_page = PageCreate( project_page = PageCreate(
title="Wiki.js Python SDK - Project Documentation", title="Wiki.js Python SDK - Project Documentation",
path="projects/wikijs-python-sdk", path="projects/py-wikijs",
content=project_content, content=project_content,
tags=["project", "sdk", "python", "documentation"], tags=["project", "sdk", "python", "documentation"],
description="Project documentation for the Wiki.js Python SDK" description="Project documentation for the Wiki.js Python SDK"

View File

@@ -1,4 +1,4 @@
"""Async users management example for wikijs-python-sdk. """Async users management example for py-wikijs.
This example demonstrates: This example demonstrates:
- Async user operations - Async user operations

View File

@@ -1,4 +1,4 @@
"""Basic users management example for wikijs-python-sdk. """Basic users management example for py-wikijs.
This example demonstrates: This example demonstrates:
- Creating users - Creating users

View File

@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[project] [project]
name = "wikijs-python-sdk" name = "py-wikijs"
description = "A professional Python SDK for Wiki.js API integration" description = "A professional Python SDK for Wiki.js API integration"
authors = [{name = "leomiranda", email = "lmiranda@hotserv.cloud"}] authors = [{name = "leomiranda", email = "lmiranda@hotserv.cloud"}]
license = {text = "MIT"} license = {text = "MIT"}
@@ -60,11 +60,11 @@ all = [
] ]
[project.urls] [project.urls]
Homepage = "https://gitea.hotserv.cloud/lmiranda/py-wikijs" Homepage = "https://github.com/l3ocho/py-wikijs"
"Bug Reports" = "https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues" "Bug Reports" = "https://github.com/l3ocho/py-wikijs/issues"
Source = "https://gitea.hotserv.cloud/lmiranda/py-wikijs" Source = "https://github.com/l3ocho/py-wikijs"
Documentation = "https://gitea.hotserv.cloud/lmiranda/py-wikijs/src/branch/main/docs" Documentation = "https://github.com/l3ocho/py-wikijs/blob/main/docs"
Compatibility = "https://gitea.hotserv.cloud/lmiranda/py-wikijs/src/branch/main/docs/compatibility.md" Compatibility = "https://github.com/l3ocho/py-wikijs/blob/main/docs/compatibility.md"
"Wiki.js" = "https://js.wiki" "Wiki.js" = "https://js.wiki"
[tool.setuptools.dynamic] [tool.setuptools.dynamic]

View File

@@ -42,19 +42,19 @@ def read_dev_requirements():
setup( setup(
name="wikijs-python-sdk", name="py-wikijs",
version=read_version(), version=read_version(),
description="A professional Python SDK for Wiki.js API integration", description="A professional Python SDK for Wiki.js API integration",
long_description=read_readme(), long_description=read_readme(),
long_description_content_type="text/markdown", long_description_content_type="text/markdown",
author="leomiranda", author="leomiranda",
author_email="lmiranda@hotserv.cloud", author_email="lmiranda@hotserv.cloud",
url="https://gitea.hotserv.cloud/lmiranda/py-wikijs", url="https://github.com/l3ocho/py-wikijs",
project_urls={ project_urls={
"Bug Reports": "https://gitea.hotserv.cloud/lmiranda/py-wikijs/issues", "Bug Reports": "https://github.com/l3ocho/py-wikijs/issues",
"Source": "https://gitea.hotserv.cloud/lmiranda/py-wikijs", "Source": "https://github.com/l3ocho/py-wikijs",
"Documentation": "https://gitea.hotserv.cloud/lmiranda/py-wikijs/src/branch/main/docs", "Documentation": "https://github.com/l3ocho/py-wikijs/blob/main/docs",
"Compatibility": "https://gitea.hotserv.cloud/lmiranda/py-wikijs/src/branch/main/docs/compatibility.md", "Compatibility": "https://github.com/l3ocho/py-wikijs/blob/main/docs/compatibility.md",
"Wiki.js": "https://js.wiki", "Wiki.js": "https://js.wiki",
}, },
packages=find_packages(), packages=find_packages(),

View File

@@ -1 +1 @@
"""Tests for wikijs-python-sdk.""" """Tests for py-wikijs."""

View File

@@ -28,7 +28,7 @@ class TestAsyncWikiJSClientInit:
assert isinstance(client._auth_handler, APIKeyAuth) assert isinstance(client._auth_handler, APIKeyAuth)
assert client.timeout == 30 assert client.timeout == 30
assert client.verify_ssl is True assert client.verify_ssl is True
assert "wikijs-python-sdk" in client.user_agent assert "py-wikijs" in client.user_agent
def test_init_with_auth_handler(self): def test_init_with_auth_handler(self):
"""Test initialization with auth handler.""" """Test initialization with auth handler."""
@@ -265,7 +265,7 @@ class TestAsyncWikiJSClientSessionCreation:
session = client._create_session() session = client._create_session()
assert isinstance(session, aiohttp.ClientSession) assert isinstance(session, aiohttp.ClientSession)
assert "wikijs-python-sdk" in session.headers["User-Agent"] assert "py-wikijs" in session.headers["User-Agent"]
assert session.headers["Accept"] == "application/json" assert session.headers["Accept"] == "application/json"
assert session.headers["Content-Type"] == "application/json" assert session.headers["Content-Type"] == "application/json"

View File

@@ -1 +1 @@
"""Authentication tests for wikijs-python-sdk.""" """Authentication tests for py-wikijs."""

View File

@@ -1,4 +1,4 @@
"""Test configuration and fixtures for wikijs-python-sdk.""" """Test configuration and fixtures for py-wikijs."""
import pytest import pytest
import responses import responses

View File

@@ -28,7 +28,7 @@ class TestWikiJSClientInit:
assert isinstance(client._auth_handler, APIKeyAuth) assert isinstance(client._auth_handler, APIKeyAuth)
assert client.timeout == 30 assert client.timeout == 30
assert client.verify_ssl is True assert client.verify_ssl is True
assert "wikijs-python-sdk" in client.user_agent assert "py-wikijs" in client.user_agent
def test_init_with_auth_handler(self): def test_init_with_auth_handler(self):
"""Test initialization with auth handler.""" """Test initialization with auth handler."""

View File

@@ -82,7 +82,7 @@ __author__ = "Wiki.js SDK Contributors"
__email__ = "" __email__ = ""
__license__ = "MIT" __license__ = "MIT"
__description__ = "Professional Python SDK for Wiki.js API integration" __description__ = "Professional Python SDK for Wiki.js API integration"
__url__ = "https://github.com/yourusername/wikijs-python-sdk" __url__ = "https://github.com/yourusername/py-wikijs"
# For type checking # For type checking
__all__ += [ __all__ += [

View File

@@ -1,4 +1,4 @@
"""Async WikiJS client for wikijs-python-sdk.""" """Async WikiJS client for py-wikijs."""
import json import json
from typing import Any, Dict, Optional, Union from typing import Any, Dict, Optional, Union
@@ -8,7 +8,7 @@ try:
except ImportError: except ImportError:
raise ImportError( raise ImportError(
"aiohttp is required for async support. " "aiohttp is required for async support. "
"Install it with: pip install wikijs-python-sdk[async]" "Install it with: pip install py-wikijs[async]"
) )
from ..auth import APIKeyAuth, AuthHandler from ..auth import APIKeyAuth, AuthHandler
@@ -99,7 +99,7 @@ class AsyncWikiJSClient:
# Request configuration # Request configuration
self.timeout = timeout self.timeout = timeout
self.verify_ssl = verify_ssl self.verify_ssl = verify_ssl
self.user_agent = user_agent or f"wikijs-python-sdk/{__version__}" self.user_agent = user_agent or f"py-wikijs/{__version__}"
# Endpoint handlers (will be initialized when session is created) # Endpoint handlers (will be initialized when session is created)
self.pages = AsyncPagesEndpoint(self) self.pages = AsyncPagesEndpoint(self)

View File

@@ -1,4 +1,4 @@
"""Base async endpoint class for wikijs-python-sdk.""" """Base async endpoint class for py-wikijs."""
from typing import TYPE_CHECKING, Any, Dict, Optional from typing import TYPE_CHECKING, Any, Dict, Optional

View File

@@ -1,4 +1,4 @@
"""Async Pages API endpoint for wikijs-python-sdk.""" """Async Pages API endpoint for py-wikijs."""
from typing import Any, Dict, List, Optional, Union from typing import Any, Dict, List, Optional, Union

View File

@@ -1,4 +1,4 @@
"""Async Users API endpoint for wikijs-python-sdk.""" """Async Users API endpoint for py-wikijs."""
from typing import Any, Dict, List, Optional, Union from typing import Any, Dict, List, Optional, Union

View File

@@ -1,4 +1,4 @@
"""Authentication module for wikijs-python-sdk. """Authentication module for py-wikijs.
This module contains authentication handlers for different This module contains authentication handlers for different
authentication methods supported by Wiki.js. authentication methods supported by Wiki.js.

View File

@@ -1,4 +1,4 @@
"""API key authentication for wikijs-python-sdk. """API key authentication for py-wikijs.
This module implements API key authentication for Wiki.js instances. This module implements API key authentication for Wiki.js instances.
API keys are typically used for server-to-server authentication. API keys are typically used for server-to-server authentication.

View File

@@ -1,4 +1,4 @@
"""Base authentication interface for wikijs-python-sdk. """Base authentication interface for py-wikijs.
This module defines the abstract base class for all authentication handlers, This module defines the abstract base class for all authentication handlers,
providing a consistent interface for different authentication methods. providing a consistent interface for different authentication methods.

View File

@@ -1,4 +1,4 @@
"""JWT token authentication for wikijs-python-sdk. """JWT token authentication for py-wikijs.
This module implements JWT (JSON Web Token) authentication for Wiki.js instances. This module implements JWT (JSON Web Token) authentication for Wiki.js instances.
JWT tokens are typically used for user-based authentication and have expiration times. JWT tokens are typically used for user-based authentication and have expiration times.

View File

@@ -1,4 +1,4 @@
"""Caching module for wikijs-python-sdk. """Caching module for py-wikijs.
This module provides intelligent caching for frequently accessed Wiki.js resources This module provides intelligent caching for frequently accessed Wiki.js resources
like pages, users, and groups. It supports multiple cache backends and TTL-based like pages, users, and groups. It supports multiple cache backends and TTL-based

View File

@@ -1,4 +1,4 @@
"""Base cache interface for wikijs-python-sdk.""" """Base cache interface for py-wikijs."""
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from dataclasses import dataclass from dataclasses import dataclass

View File

@@ -1,4 +1,4 @@
"""In-memory cache implementation for wikijs-python-sdk.""" """In-memory cache implementation for py-wikijs."""
import time import time
from collections import OrderedDict from collections import OrderedDict

View File

@@ -1,4 +1,4 @@
"""Main WikiJS client for wikijs-python-sdk.""" """Main WikiJS client for py-wikijs."""
import json import json
from typing import Any, Dict, Optional, Union from typing import Any, Dict, Optional, Union
@@ -95,7 +95,7 @@ class WikiJSClient:
# Request configuration # Request configuration
self.timeout = timeout self.timeout = timeout
self.verify_ssl = verify_ssl self.verify_ssl = verify_ssl
self.user_agent = user_agent or f"wikijs-python-sdk/{__version__}" self.user_agent = user_agent or f"py-wikijs/{__version__}"
# Cache configuration # Cache configuration
self.cache = cache self.cache = cache

View File

@@ -1,4 +1,4 @@
"""API endpoints module for wikijs-python-sdk. """API endpoints module for py-wikijs.
This module contains endpoint handlers for different This module contains endpoint handlers for different
Wiki.js API endpoints. Wiki.js API endpoints.

View File

@@ -1,4 +1,4 @@
"""Base endpoint class for wikijs-python-sdk.""" """Base endpoint class for py-wikijs."""
from typing import TYPE_CHECKING, Any, Dict, Optional from typing import TYPE_CHECKING, Any, Dict, Optional

View File

@@ -1,4 +1,4 @@
"""Pages API endpoint for wikijs-python-sdk.""" """Pages API endpoint for py-wikijs."""
from typing import Any, Dict, List, Optional, Union from typing import Any, Dict, List, Optional, Union

View File

@@ -1,4 +1,4 @@
"""Users API endpoint for wikijs-python-sdk.""" """Users API endpoint for py-wikijs."""
from typing import Any, Dict, List, Optional, Union from typing import Any, Dict, List, Optional, Union

View File

@@ -1,4 +1,4 @@
"""Exception hierarchy for wikijs-python-sdk.""" """Exception hierarchy for py-wikijs."""
from typing import Any, Dict, Optional from typing import Any, Dict, Optional

View File

@@ -1,4 +1,4 @@
"""Data models for wikijs-python-sdk.""" """Data models for py-wikijs."""
from .asset import ( from .asset import (
Asset, Asset,

View File

@@ -1,4 +1,4 @@
"""Base model functionality for wikijs-python-sdk.""" """Base model functionality for py-wikijs."""
from datetime import datetime from datetime import datetime
from typing import Any, Dict, Optional from typing import Any, Dict, Optional

View File

@@ -1,4 +1,4 @@
"""Page-related data models for wikijs-python-sdk.""" """Page-related data models for py-wikijs."""
import re import re
from typing import List, Optional from typing import List, Optional

View File

@@ -1,4 +1,4 @@
"""User-related data models for wikijs-python-sdk.""" """User-related data models for py-wikijs."""
import re import re
from typing import List, Optional from typing import List, Optional

View File

@@ -1,4 +1,4 @@
"""Utility functions for wikijs-python-sdk.""" """Utility functions for py-wikijs."""
from .helpers import ( from .helpers import (
build_api_url, build_api_url,

View File

@@ -1,4 +1,4 @@
"""Helper utilities for wikijs-python-sdk.""" """Helper utilities for py-wikijs."""
import re import re
from typing import Any, Dict from typing import Any, Dict

View File

@@ -1,4 +1,4 @@
"""Version information for wikijs-python-sdk.""" """Version information for py-wikijs."""
__version__ = "0.1.0" __version__ = "0.1.0"
__version_info__ = (0, 1, 0) __version_info__ = (0, 1, 0)