Automatically Revert Temporary Value Changes in a with Block
The new rollback() API introduced in triggon v2.0.0 can automatically revert temporary changes to variables and attributes made in a with block. Here's a simple example. In this example, the variable x is assigned 99 inside the block, but once the block exits, it's restored to its original value, 1.
tsuruko
The new rollback() API introduced in triggon v2.0.0 can automatically revert temporary changes to variables and attributes made in a with block.
It also supports local variables, so it's only available on CPython 3.13+.
Code Example
Here's a simple example.
In this example, the variable x is assigned 99 inside the block, but once the block exits, it's restored to its original value, 1.
from triggon import Triggon
x = 1
with Triggon.rollback():
x = 99
print(x)
# 99
print(x)
# 1
You can also pass the names of variables or attributes to rollback(), so only the specified targets will be restored.
class A:
a = 10
x = 0
# x isn't included in the rollback target
with Triggon.rollback("A.a"):
x = 99
A.a = -10
print(x)
# 99
print(A.a)
# -10
print(x)
# 99
print(A.a)
# 10
Variables defined inside the block aren't restored.
triggon recently had a major update with 8 new APIs.
You can check the details in the release notes.
triggon is basically a label-based library, but rollback() can be used easily without registering labels, variables, or attributes in advance.
It also includes other unique features such as deferred execution and flexible early-return handling, so feel free to check it out if you're interested.
Found this useful? Share it!
Read the Full Story
Continue reading on Dev.to
Related Stories
Majority Element
about 2 hours ago
Building a SQL Tokenizer and Formatter From Scratch โ Supporting 6 Dialects
about 2 hours ago
Markdown Knowledge Graph for Humans and Agents
about 2 hours ago

Moving Beyond Disk: How Redis Supercharges Your App Performance
about 2 hours ago