Releases
v0.5.0
pyrift v0.5.0 — 90 rules, 316 tests
Compare
Sorry, something went wrong.
No results found
The biggest release yet
90 rules — 45 CPython + 45 PyPy
316 tests — all passing on Python 3.10, 3.11, 3.12, 3.13
Zero dependencies — pure Python
What's new in v0.5.0
CPython rules added (CPY019–CPY045)
distutils removed in Python 3.12+
datetime.utcnow() and utcfromtimestamp() deprecated in 3.12
asyncio.get_event_loop() raises RuntimeError in 3.12+
asyncio.iscoroutinefunction() deprecated in 3.12
Bitwise inversion on bool deprecated in 3.12
typing.TypeGuard, ParamSpec, TypeAlias, Never, TypeVarTuple, Unpack, Required, assert_never, reveal_type
locale.resetlocale(), lib2to3, typing.io, typing.re removed in 3.13
zoneinfo, graphlib require Python 3.9+
str.removeprefix/removesuffix, pathlib.is_relative_to require Python 3.9+
int.bit_count(), aiter(), anext(), math.lcm() require Python 3.10+
dict | merge operator requires Python 3.9+
NaN hash behaviour changed in 3.10
PyPy rules added (PPY008–PPY045)
threading.local(), gc.collect(), sys.getsizeof(), sys.settrace()
os.fork(), os.urandom(), subprocess.PIPE, open() buffering
Generator GC timing, string concatenation O(n²), float('nan') identity
builtins always module, readline.parse_and_bind() ignored
sys.setrecursionlimit(), sys.flags, inspect.ismethod() differences
C extension packages, decimal backend, decimal module differences
Exception variable
You can’t perform that action at this time.