Skip to content

Bump requests from 2.31.0 to 2.32.0#443

Merged
rsforbes merged 1 commit intomasterfrom
dependabot/pip/requests-2.32.0
Aug 28, 2024
Merged

Bump requests from 2.31.0 to 2.32.0#443
rsforbes merged 1 commit intomasterfrom
dependabot/pip/requests-2.32.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github May 21, 2024

Bumps requests from 2.31.0 to 2.32.0.

Release notes

Sourced from requests's releases.

v2.32.0

2.32.0 (2024-05-20)

🐍 PYCON US 2024 EDITION 🐍

Security

  • Fixed an issue where setting verify=False on the first request from a Session will cause subsequent requests to the same origin to also ignore cert verification, regardless of the value of verify. (GHSA-9wx4-h78v-vm56)

Improvements

  • verify=True now reuses a global SSLContext which should improve request time variance between first and subsequent requests. It should also minimize certificate load time on Windows systems when using a Python version built with OpenSSL 3.x. (#6667)
  • Requests now supports optional use of character detection (chardet or charset_normalizer) when repackaged or vendored. This enables pip and other projects to minimize their vendoring surface area. The Response.text() and apparent_encoding APIs will default to utf-8 if neither library is present. (#6702)

Bugfixes

  • Fixed bug in length detection where emoji length was incorrectly calculated in the request content-length. (#6589)
  • Fixed deserialization bug in JSONDecodeError. (#6629)
  • Fixed bug where an extra leading / (path separator) could lead urllib3 to unnecessarily reparse the request URI. (#6644)

Deprecations

  • Requests has officially added support for CPython 3.12 (#6503)
  • Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
  • Requests has officially dropped support for CPython 3.7 (#6642)
  • Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)

Documentation

  • Various typo fixes and doc improvements.

Packaging

  • Requests has started adopting some modern packaging practices. The source files for the projects (formerly requests) is now located in src/requests in the Requests sdist. (#6506)
  • Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system using hatchling. This should not impact the average user, but extremely old versions of packaging utilities may have issues with the new packaging format.

New Contributors

... (truncated)

Changelog

Sourced from requests's changelog.

2.32.0 (2024-05-20)

Security

  • Fixed an issue where setting verify=False on the first request from a Session will cause subsequent requests to the same origin to also ignore cert verification, regardless of the value of verify. (GHSA-9wx4-h78v-vm56)

Improvements

  • verify=True now reuses a global SSLContext which should improve request time variance between first and subsequent requests. It should also minimize certificate load time on Windows systems when using a Python version built with OpenSSL 3.x. (#6667)
  • Requests now supports optional use of character detection (chardet or charset_normalizer) when repackaged or vendored. This enables pip and other projects to minimize their vendoring surface area. The Response.text() and apparent_encoding APIs will default to utf-8 if neither library is present. (#6702)

Bugfixes

  • Fixed bug in length detection where emoji length was incorrectly calculated in the request content-length. (#6589)
  • Fixed deserialization bug in JSONDecodeError. (#6629)
  • Fixed bug where an extra leading / (path separator) could lead urllib3 to unnecessarily reparse the request URI. (#6644)

Deprecations

  • Requests has officially added support for CPython 3.12 (#6503)
  • Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
  • Requests has officially dropped support for CPython 3.7 (#6642)
  • Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)

Documentation

  • Various typo fixes and doc improvements.

Packaging

  • Requests has started adopting some modern packaging practices. The source files for the projects (formerly requests) is now located in src/requests in the Requests sdist. (#6506)
  • Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system using hatchling. This should not impact the average user, but extremely old versions of packaging utilities may have issues with the new packaging format.
Commits
  • d6ebc4a v2.32.0
  • 9a40d12 Avoid reloading root certificates to improve concurrent performance (#6667)
  • 0c030f7 Merge pull request #6702 from nateprewitt/no_char_detection
  • 555b870 Allow character detection dependencies to be optional in post-packaging steps
  • d6dded3 Merge pull request #6700 from franekmagiera/update-redirect-to-invalid-uri-test
  • bf24b7d Use an invalid URI that will not cause httpbin to throw 500
  • 2d5f547 Pin 3.8 and 3.9 runners back to macos-13 (#6688)
  • f1bb07d Merge pull request #6687 from psf/dependabot/github_actions/github/codeql-act...
  • 60047ad Bump github/codeql-action from 3.24.0 to 3.25.0
  • 31ebb81 Merge pull request #6682 from frenzymadness/pytest8
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label May 21, 2024
@rsforbes rsforbes merged commit cffdca8 into master Aug 28, 2024
@rsforbes rsforbes deleted the dependabot/pip/requests-2.32.0 branch August 28, 2024 00:09
rsforbes added a commit to rsforbes/nba_api that referenced this pull request Nov 13, 2025
Refactored the PlayByPlayV3 parser to eliminate fragile dynamic key
extraction and follow CLAUDE.md V3 parser best practices.

Changes:
- Replace dynamic key indexing with explicit field access
- Use defensive .get() calls with defaults throughout
- Define all 24 action fields explicitly in headers tuple
- Handle edge cases (missing meta, empty actions, missing fields)

Testing:
- Added 11 comprehensive unit tests covering all edge cases
- Created test fixtures for unit testing
- Verified with real API calls (475 plays processed successfully)
- All 448 unit tests pass

Fixes swar#443
rsforbes added a commit that referenced this pull request Nov 14, 2025
* remove: BoxScorePlayerTrackV2 endpoint (NBA API returns 500 error)

The NBA API no longer supports this endpoint and returns HTTP 500 errors.
Users should use BoxScorePlayerTrackV3 instead.

Removed:
- src/nba_api/stats/endpoints/boxscoreplayertrackv2.py (endpoint class)
- docs/nba_api/stats/endpoints/boxscoreplayertrackv2.md (documentation)
- docs/nba_api/stats/endpoints_output/boxscoreplayertrackv2_output.md (examples)
- Import from src/nba_api/stats/endpoints/__init__.py
- Reference from docs/table_of_contents.md
- Deferred endpoint from tests/integration/deferred_endpoints.py
- Mapping from tools/stats/library/mapping.py
- Entry from docs/examples/Basics.ipynb endpoint list
- analysis_archive/stats/analysis.json (archive file)

* fix: retire BoxScorePlayerTrackV2 and fix LeagueIDNullable default (#562)

- Remove BoxScorePlayerTrackV2 endpoint (NBA API returns HTTP 500)
- Fix LeagueIDNullable default value to prevent empty responses
- NBA API now requires explicit LeagueID instead of empty string
- Bump version to 1.11.3

* remove: PlayerFantasyProfile endpoint (NBA API no longer supports)

- Remove PlayerFantasyProfile endpoint class and all references
- Remove documentation and test references
- Update endpoint mappings and analysis tools
- Endpoint removed due to NBA.com API discontinuation

* fix: handle missing Coaches dataset in CommonTeamRoster (#553)

- Use .get() with default empty dataset for Coaches
- NBA API sometimes omits Coaches dataset
- Returns empty dataset with proper headers when missing
- Add comprehensive unit tests for CommonTeamRoster endpoint
- Test coverage includes missing dataset scenario

* fix: add missing PLAYER_SLUG and TEAM_SLUG to CommonAllPlayers (#550)

- Added PLAYER_SLUG and TEAM_SLUG to expected_data in CommonAllPlayers endpoint
- These fields are returned by the NBA API but were previously not included
- Updated CHANGELOG.MD with fix details and note about POSITION field limitation
- Fixed typo in CONTRIBUTING.md (activate -> eval \$(poetry env activate))

Closes #550

* chore: add missing PlayerFantasyProfile removal to changelog

- Added PlayerFantasyProfile to v1.11.3 Removed section
- Endpoint was removed in commit 0b6a694 but not documented in changelog

* fix: correct CareerHighs expected_data in PlayerProfileV2 (#536)

- Added missing GAME_ID field to CareerHighs expected_data
- Fixed field name from STATS_VALUE to STAT_VALUE (singular)
- Updated CHANGELOG.MD with fix details and clarification

Note: Investigation confirmed that CareerHighs correctly returns regular
season career highs (not playoff highs). All game IDs have "002" prefix
indicating regular season games.

Closes #536

* fix: correct Golden State Warriors city name to San Francisco (#434)

- Changed city from "Golden State" to "San Francisco" in static teams data
- Updated both data.py and template.py
- Team name remains "Golden State Warriors" (unchanged)
- Updated data timestamp to Nov 13, 2025

Closes #434

* docs: add warning for TeamDashboardByGeneralSplits plus_minus bug (#448)

- Added comprehensive class docstring documenting NBA API bug with plus_minus='Y'
- Added runtime UserWarning when plus_minus='Y' is used
- Documented that plus_minus='Y' returns incorrect differential/delta values
- Provided example showing incorrect data (FGM=-0.3 instead of 39.3)
- Recommended workaround: use plus_minus='N' (default)
- Updated CHANGELOG.MD under "Changed" section

Note: This is an NBA.com API bug, not an nba_api issue. The warning helps
users avoid incorrect data by steering them away from the broken parameter.

Closes #448

* refactor: rewrite PlayByPlayV3 parser with defensive coding pattern

Refactored the PlayByPlayV3 parser to eliminate fragile dynamic key
extraction and follow CLAUDE.md V3 parser best practices.

Changes:
- Replace dynamic key indexing with explicit field access
- Use defensive .get() calls with defaults throughout
- Define all 24 action fields explicitly in headers tuple
- Handle edge cases (missing meta, empty actions, missing fields)

Testing:
- Added 11 comprehensive unit tests covering all edge cases
- Created test fixtures for unit testing
- Verified with real API calls (475 plays processed successfully)
- All 448 unit tests pass

Fixes #443

* fix: document and warn about game_id_nullable limitation in LeagueGameFinder (#446)

The NBA Stats API ignores the game_id_nullable parameter and returns
unfiltered results. This fix addresses the issue by:

- Adding runtime UserWarning when game_id_nullable is used
- Documenting the limitation in module docstring with workaround examples
- Adding integration tests to verify API behavior
- Adding unit tests to verify warning emission

Users are now warned at runtime and directed to filter results client-side:
df[df['GAME_ID'] == 'game_id_value']

Also documents date_from_nullable/date_to_nullable work correctly (#526).

* chore: added isort to dev container.

* feat: restore TeamGameLog/TeamGameLogs endpoints and enhance integration test validation

Restore endpoints:
- TeamGameLog and TeamGameLogs endpoints (retired in v1.11.0) are working again
- Both endpoints fully functional with all parameters
- Added comprehensive unit tests (6 for TeamGameLog, 6 for TeamGameLogs)
- Added integration tests (4 test cases for TeamGameLog, 5 for TeamGameLogs)
- Generated documentation files in docs/nba_api/stats/endpoints/

Enhanced integration test validation:
- Added dataset structure validation to prevent false retirements
- Validates dataset names match expected_data keys
- Validates column structure for each dataset
- Logs per-dataset row counts for better diagnostics
- Opt-in validation via validate_structure flag (default: False)
- Refactored validation logic to reduce code complexity

The enhanced validation catches:
- Missing datasets that should be present
- Column mismatches in expected_data definitions
- API response structure changes
- Empty datasets when data is expected

Root cause analysis:
- Endpoints were incorrectly retired Nov 2, 2025 based on GitHub issue
- Integration test framework was created Nov 5, 2025 (3 days later)
- No automated validation existed at time of retirement
- Enhanced validation prevents similar false retirements in the future

Files changed:
- src/nba_api/stats/endpoints/teamgamelog.py (restored)
- src/nba_api/stats/endpoints/teamgamelogs.py (restored)
- tests/unit/stats/endpoints/test_teamgamelog.py (12 unit tests)
- tests/integration/data/teamgamelog.py (4 test cases)
- tests/integration/data/teamgamelogs.py (5 test cases)
- tests/integration/test_endpoints.py (enhanced validation logic)
- tests/integration/data/README.md (documentation)
- docs/ (endpoint documentation)

Test results:
- All 37 integration tests passing
- All 460 unit tests passing
- All flake8 checks passing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant