You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d05fe76
Browse filesBrowse the repository at this point in the historyBrowse files
Fix the silently failing Python security scan, add Dependabot, align type stubs with the runtime (#52)
* Fix the silently failing Python security scan, add Dependabot, align stubs with the runtime
The Python dependency scan has exited 1 on every run since 0.8.0 switched it to
`safety scan`: Safety 3 demands an interactive login ("Please login or register
Safety CLI ... EOF when reading a line"), and the step's continue-on-error hid
the failure, so no Python advisories have actually been checked. Replace it
with `uv export` of the locked, hashed dependency set plus `uvx pip-audit
--disable-pip`, which needs no account and audits exactly the pins in uv.lock.
CodeQL moves to codeql-action v4 (v3 is deprecated December 2026), and a
Dependabot config watches Cargo.lock, uv.lock and the Actions pins weekly with
minor/patch updates grouped per ecosystem.
The type stubs named parameters the runtime does not accept: `evaluate(
expression, context)` where PyO3 exposes `(src, evaluation_context)`, and
`add_function(name, func)` where the runtime has `function`. A keyword call
that type-checked failed at runtime with TypeError and the working spelling
failed to type-check. The stub now mirrors the runtime, and a new test parses
cel.pyi and compares every declared signature with inspect.signature of the
extension, so the two cannot drift again.
Context.variables and Context.functions, which the class docstring has
documented as attributes all along, now exist as read-only getters returning
fresh dicts.
Also removes cel.evaluation_modes (dead since the evaluation-mode feature was
removed in 0.5.2) and docs/requirements.txt (Read the Docs and the README use
the docs dependency group), fixes the README licence line and the mkdocs
site_url, and adds Python version and Typing :: Typed classifiers.
Claude-Session: https://claude.ai/code/session_019WbvXZFm8Nb2LXF2kiWoWW
* Run the security scan when uv.lock changes
Dependabot's uv updater usually touches only uv.lock when it bumps a version
already allowed by pyproject.toml, so the push filter that lists pyproject.toml
and the Cargo files would have skipped the audit of exactly the change it is
meant to check, leaving it to the weekly schedule.
Claude-Session: https://claude.ai/code/session_019WbvXZFm8Nb2LXF2kiWoWW
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments