Files
Wilson Freitas 157e6cbd79 Rename default branch from master to main
Update GitHub Actions workflow, skill files, and shell scripts
to reference 'main' instead of 'master'.
2026-03-22 10:18:19 -03:00
..

Update PyPI Dates Skill

Automatically check PyPI projects for their latest update dates and keep README.md entries current.

Overview

This skill monitors Python packages listed in awesome-quant and updates their entries with the latest release dates from PyPI. This ensures that outdated project information is easily identifiable.

Features

  • Checks 4 PyPI projects: qfrm, chinesestockapi, tushare, metatrader5
  • Fetches latest release dates from PyPI API
  • Updates README.md entries with (Last updated: YYYY-MM-DD) format
  • Commits changes automatically when updates found
  • No dependencies beyond Python standard library

Usage

Invoke from Claude Code

/update-pypi-dates

Or call the script directly:

./.claude/skills/update-pypi-dates/scripts/check_pypi_dates.py

Manual Python Execution

python3 .claude/skills/update-pypi-dates/scripts/check_pypi_dates.py

Bash Wrapper

./.claude/skills/update-pypi-dates/scripts/update_pypi_dates.sh

How It Works

  1. Queries PyPI API for each tracked package
  2. Extracts last release date from the releases data
  3. Updates README.md entries with format: (Last updated: 2024-08-27)
  4. Commits changes if any updates were found

Adding New Packages

To track additional PyPI packages, edit the PYPI_PROJECTS dictionary in scripts/check_pypi_dates.py:

PYPI_PROJECTS = {
    "display_name": "pypi_package_name",
    # Add new entries here
}

Then update the skill description if needed.

Output Examples

No Changes

📦 Checking PyPI projects for last updated dates...

Checking qfrm...
  ✓ 2015-12-12 (no change)

✓ All packages up to date!

With Updates

📦 Checking PyPI projects for last updated dates...

Checking tushare...
  ✓ 2024-08-27 (no change)
Checking metatrader5...
  ✅ Updated to 2026-02-20

📝 Found 1 update(s):
  - metatrader5: 2026-02-20

✅ Updated README.md

Configuration

Periodic Execution

Set up a cron job to run weekly:

# Add to crontab (runs Monday at 2 AM)
0 2 * * 1 cd /path/to/awesome-quant && ./.claude/skills/update-pypi-dates/scripts/update_pypi_dates.sh

Or use Claude Code's scheduling:

/loop 1w /update-pypi-dates

Files

  • SKILL.md - Skill definition and documentation
  • scripts/check_pypi_dates.py - Main Python script
  • scripts/update_pypi_dates.sh - Bash wrapper with git integration
  • README.md - This file

Requirements

  • Python 3.6+
  • Network access to PyPI API
  • Git (for automatic commits)

Error Handling

  • Network timeouts: Gracefully skipped with warning
  • Package not found: Skipped with message
  • API errors: Logged and continued with other packages

Future Enhancements

  • Support for more PyPI packages
  • GitHub Actions workflow integration
  • Email notifications on updates
  • Comparison with published versions in README
  • Support for other package registries (npm, Ruby Gems, etc.)