spylang/spy

Track deviations from CPython semantics

Ouverte

#601 ouverte le 24 juin 2026

 (0 commentaire) (0 réaction) (0 personne assignée)Python (60 forks)auto 404
good first issuehelp wanted

Métriques du dépôt

Stars
 (803 étoiles)
Métriques de merge PR
 (Merge moyen 11j 20h) (22 PRs mergées en 30 j)

Description

As more Python users start using Spy, we will likely encounter deviations from expected CPython semantics. We should track and document those differences as they are identified.

The initial discussion started here. As noted in that PR, Spy currently differs from Python in the behavior of the power operator.

Python:

  • For int operands, the result is a float if the exponent is negative.
  • A negative base with a fractional exponent returns a complex number, e.g. (-5) ** 0.5 == (1.3691967456605067e-16+2.23606797749979j).

Spy:

  • A negative exponent instead raises ValueError.
  • A negative base with a fractional exponent also raises ValueError.

@JeffersGlass raised another semantic difference here, this time involving the in operator.

This issue can serve as a place to collect and document these CPython/SPy semantic differences as they are discovered.

Guide contributeur