PyPI / python-dateutil / 3.0.0

python-dateutil 3.0.0

Source
https://github.com/dateutil/dateutil
Artifact scanned
python_dateutil-3.0.0-py2.py3-none-any.whl (wheel · 92.4 KB · SHA-256 3c79630202e4…)
Compared with
python_dateutil-2.9.0.post0-py2.py3-none-any.whl (1 signals introduced since)
Files
22 scanned, 5 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 2 info
Scan time
3.2 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 1 of 1 warn and critical signal; 1 demoted to info.
Disclude version
4.3.0
Scanned (UTC)
2026-10-22 23:39

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info warn → info by review frame-introspection dateutil/zoneinfo/__init__.py:39:13 new in this release

    `sys._getframe` — call-stack frame introspection (ast pass, confidence 0.70)

        level = 1
        frame = sys._getframe(1)  # The body of this module
        while frame.f_back is not None:
            frame = frame.f_back
    likely benign LLM, confidence 0.93 dateutil's zoneinfo module uses sys._getframe to walk the call stack to its own module frame, a benign introspection idiom.
    Reasoning

    This is a known dateutil pattern in zoneinfo/__init__.py that uses sys._getframe to locate the module's own frame so it can compute the module's path (used for resolving the bundled tarball/caching). It only walks f_back to the top of the stack and does not execute code, decode data, or touch the network. The snippet and file context point to legitimate use.

  2. info identifier-low-length dateutil/easter.py:1:1

    26 of 54 non-conventional identifiers are single-character (48%) (token pass, confidence 0.50)

Reproduce This Scan

Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.3.0
curl -fsSL -o python_dateutil-3.0.0-py2.py3-none-any.whl https://files.pythonhosted.org/packages/5a/17/cebee01d1c0c1441174cf0456ddc91b280d79acb65340c05e41d77866ee8/python_dateutil-3.0.0-py2.py3-none-any.whl
printf '%s  %s\n' 3c79630202e4152c6add678446984236efe4f57e84d8e892aab0637bab82e9fd python_dateutil-3.0.0-py2.py3-none-any.whl | shasum -a 256 -c -
unzip -q python_dateutil-3.0.0-py2.py3-none-any.whl -d pkg
disclude scan --untrusted --severity info pkg