nfl_data_py icon indicating copy to clipboard operation
nfl_data_py copied to clipboard

Add Python 3.13 support by updating NumPy and pandas constraints

Open jbf302 opened this issue 4 months ago • 3 comments

Summary

Fixes #122 by adding Python 3.13 support through conservative dependency constraint updates.

Problem

The current package constrains Python to <3.13 and requires numpy==1.*, which prevents installation on Python 3.13 since NumPy v1 doesn't support Python 3.13.

Solution

  • Update requires-python constraint: >=3.6.1,<3.13>=3.6.1,<3.14
  • Update numpy constraint: ==1.*>=1.20,<3.0 (enables NumPy v2 support)
  • Update pandas constraint: ==1.*>=1.3,<3.0 (compatible with NumPy v2)
  • Add Python 3.13 classifier

Testing Results ✅

Environment: Python 3.13.4, NumPy 2.3.2, pandas 2.3.1

  • ✅ Package installs successfully
  • ✅ All core functionality verified (data import, downcast, cleaning)
  • ✅ Test suite: 54/54 tests passed
  • ✅ Thread requests working
  • ✅ Caching functionality working
  • ✅ Advanced features (NGS data, PFR data, etc.) working

Backward Compatibility

These changes maintain full backward compatibility:

  • NumPy 1.20+ works on Python 3.6.1-3.12 (existing users unaffected)
  • Pandas 1.3+ is compatible with existing functionality
  • No API changes or breaking modifications

Commits

  • 8cfcb6e: Add Python 3.13 support by updating dependencies
  • 3252353: Verify Python 3.13 compatibility with comprehensive testing

Closes #122

jbf302 avatar Aug 04 '25 17:08 jbf302