Skip to content

Commit c28469a

Browse files
authored
Release v0.2.0b1 - First Beta Release (#32)
* Refactor client.py to reduce file size by 95% (#24) * Reorganize generated code into _generated subdirectory * Fix remaining test imports for ValidationError and generated modules * Suppress websockets deprecation warnings from generated code * Refactor client.py using factory patterns and mixins * Fix test failures in refactored client * Fix remaining test failures and add UNSET export for backward compatibility * Update documentation to reflect client refactoring * Fix type annotations and pre-commit issues * Remove client_save.py backup file * Fix all mypy type errors for pre-commit compliance * Fix kwargs passthrough issue in report methods Remove kwargs passthrough to execute() to prevent HTTP client errors. Update convenience methods to only pass expected parameters. Update test to match new behavior where kwargs are not passed through. * Add dev branch to CI/CD workflow triggers * Trigger Claude Code Review [review] * Remove Claude review trigger file * Allow manual triggering of Claude Code Review workflow * Fix Claude review workflow to support reopened PRs [review] Add 'reopened' to PR event types and condition check * Address high-priority reviewer feedback - Add Protocol for type safety with model_validate method - Cache regex patterns for performance improvement - Improve error messages to show available parameters - Add comprehensive documentation for method registration - Fix type annotations to satisfy mypy * Update documentation for refactored architecture - Fix markdown formatting in architecture.md for proper rendering - Update test counts from 278 to 310 tests (105 unit tests) - Update project structure to reflect new modular architecture - Add method_factory.py and param_builders.py to unit test docs - Document new mixins directory structure * fix formatting * Bump version to 0.2.0a3 Update version across all project files: - pyproject.toml - esologs/__init__.py - README.md - CLAUDE.md - docs/index.md - docs/changelog.md (with release notes) - docs/development/architecture.md --------- Co-authored-by: knowlen <knowlen@users.noreply.github.com> * feat: Implement comprehensive guild data API endpoints (5 methods) (#27) * Implement guild data endpoints - Add 4 new guild methods: get_guilds(), get_guild(), get_guild_attendance(), get_guild_members() - Create GraphQL queries for guild search, lookup, attendance, and members - Add parameter builder for guild attendance with proper defaults - Implement flexible get_guild() method supporting ID or name/server lookup - Add comprehensive unit tests (12 new tests) - Add integration tests (10 new tests) - Update guild-data.md documentation with examples for all new methods - Update API coverage from ~83% to ~90% (37/41 methods) * Fix unit test mocking for httpx.Response objects * Fix UNSET import in test_character_rankings.py * Address reviewer comments: fix self type annotation and import location * Fix guild documentation examples and add comprehensive tests * Convert relative imports to absolute imports for better maintainability * Add retry logic and resilience features for integration tests and API clients * Replace pilcrow (¶) with hash (#) for anchor links in documentation * Fix pytest configuration for retry logic in integration and docs tests * Update README files to reflect current project status and guild endpoints * Fix API coverage metrics: guild endpoints provide ~88% coverage (37/42 methods) * Address reviewer feedback: fix import consistency and document validation strategy --------- Co-authored-by: knowlen <knowlen@users.noreply.github.com> * Add progress race tracking API endpoint (#28) * Add progress race tracking API endpoint with 90% coverage * Fix progress race tests to handle 'No race supported' GraphQL errors * Update README files to reflect current project status with 90% API coverage * Add OAuth2 user authentication and UserData API methods (#29) * Add OAuth2 user authentication and UserData API methods * Fix type checking and linting issues * Add missing test dependencies (responses, pytest-xdist) * Add mkdocs to dev dependencies for complete test coverage * Fix test dependencies and user auth warnings - Add mkdocs-material and mkdocs-minify-plugin to dev dependencies - Fix user authentication warnings in test_user_data.py by using user_token parameter - Ensure all documentation build dependencies are available for tests * Consolidate docs dependencies in dev extras * fix precommit checks * Implement async OAuth2 support and address PR review concerns * Remove duplicate API status JavaScript files * Remove redundant scripts and add token files to gitignore * Remove redundant optimize_images_simple.py script * Add README.md documentation for scripts directory * Add README.md documentation for examples directory * Update README with output examples and current project state * Update README: remove NEW tags, normalize output formatting, add missing directories to project structure * Fix pre-commit checks: remove trailing whitespace and update formatting --------- Co-authored-by: knowlen <knowlen@users.noreply.github.com> * Fix API status checker false positives by using correct favicon URL (#30) Co-authored-by: knowlen <knowlen@users.noreply.github.com> * Remove API status checker and improve documentation (#31) * Remove unreliable API status checker and add troubleshooting guide * Move troubleshooting to Getting Started section * Reorganize documentation structure for better navigation * Fix markdown formatting in authentication guide * Fix list formatting in authentication guide * Fix changelog - mark 0.2.0a3 as unreleased and correct dates * Address PR review comments - add OAuth2 error handling and fix Twitter handle * fix dates * Remove non-existent status.esologs.com references and fix future dates --------- Co-authored-by: knowlen <knowlen@users.noreply.github.com> * Prepare v0.2.0b1 beta release * Add release branch verification workflow * Update README * moved to docs * Fix API method signatures in README to match implementation * Add return type information to API method documentation * Replace return type sub-bullets with documentation links * test formatting * Update API method documentation to use method names as links * Refine API docs: only method names are links, parameters are separate code snippets * Simplify API method list by removing parameters * clean up * formatting * formatting * formatting * formatting * formatting --------- Co-authored-by: knowlen <knowlen@users.noreply.github.com>
1 parent c369935 commit c28469a

139 files changed

Lines changed: 16417 additions & 2517 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
# Run on PR creation and updates, but with conditions to reduce waste
55
pull_request:
66
types: [opened, synchronize]
7-
branches: [ main, v2-dev ]
7+
branches: [ main, v2-dev, dev ]
88
# Allow manual triggering from GitHub UI
99
workflow_dispatch:
1010
inputs:
@@ -13,9 +13,9 @@ on:
1313
required: false
1414
default: 'true'
1515
type: boolean
16-
# Still run on pushes to main/v2-dev (for releases)
16+
# Still run on pushes to main/v2-dev/dev (for releases)
1717
push:
18-
branches: [ main, v2-dev ]
18+
branches: [ main, v2-dev, dev ]
1919

2020
jobs:
2121
test:

.github/workflows/claude-code-review.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Claude Code Review
33
on:
44
# Run on PR creation, skip on drafts and minor updates
55
pull_request:
6-
types: [opened, synchronize]
6+
types: [opened, synchronize, reopened]
77
# Allow manual triggering from GitHub UI
88
workflow_dispatch:
99
# Optional: Only run on specific file changes
@@ -16,7 +16,7 @@ on:
1616
jobs:
1717
claude-review:
1818
# Skip Claude review on synchronize unless specifically requested
19-
if: github.event.action == 'opened' || contains(github.event.head_commit.message, '[review]')
19+
if: github.event.action == 'opened' || github.event.action == 'reopened' || contains(github.event.head_commit.message, '[review]') || github.event_name == 'workflow_dispatch'
2020
# Optional: Filter by PR author
2121
# if: |
2222
# github.event.pull_request.user.login == 'external-contributor' ||
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Release Branch Verification
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
7+
jobs:
8+
verify-release-branch:
9+
name: Validate Source Branch
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Check branch naming convention
13+
run: |
14+
echo "Source branch: ${{ github.head_ref }}"
15+
echo "Target branch: ${{ github.base_ref }}"
16+
17+
if [[ "${{ github.base_ref }}" == "main" ]]; then
18+
if [[ "${{ github.head_ref }}" =~ ^release/.* ]]; then
19+
echo "✅ Valid release branch format"
20+
echo "Branch '${{ github.head_ref }}' follows the release/* naming convention"
21+
else
22+
echo "❌ Invalid branch name for main"
23+
echo "PRs to main must come from release/* branches"
24+
echo "Current branch: ${{ github.head_ref }}"
25+
echo "Expected format: release/v*.*.*"
26+
exit 1
27+
fi
28+
else
29+
echo "✅ No validation needed for non-main target"
30+
fi

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,3 +190,8 @@ dmypy.json
190190
# Test files with API credentials (use environment variables instead)
191191
test_validation.py
192192
*_validation_test.py
193+
194+
# OAuth tokens - NEVER commit these!
195+
.esologs_token.json
196+
*_token.json
197+
*.token.json

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ repos:
3535
rev: v1.5.1
3636
hooks:
3737
- id: mypy
38-
additional_dependencies: [types-requests]
38+
additional_dependencies: [types-requests, types-aiofiles]
3939
args: [--ignore-missing-imports, --no-warn-return-any]
4040
exclude: ^(esologs/(get_.*\.py|input_types\.py|enums\.py|base_model\.py|exceptions\.py|async_base_client\.py)|tests/.*\.py|access_token\.py)$
4141

BRANCH_STRUCTURE.md

Lines changed: 0 additions & 85 deletions
This file was deleted.

0 commit comments

Comments
 (0)