Durable Objects are now supported in Python Workers
You can now create Durable Objects using Python Workers. A Durable Object is a special kind of Cloudflare Worker which uniquely combines compute with storage, enabling stateful long-running applications which run close to your users. For more info see here ↗.
You can define a Durable Object in Python in a similar way to JavaScript:
from workers import DurableObject, Response, handler
from urllib.parse import urlparse
class MyDurableObject(DurableObject):    def __init__(self, ctx, env):        self.ctx = ctx        self.env = env
    def on_fetch(self, request):        result = self.ctx.storage.sql.exec("SELECT 'Hello, World!' as greeting").one()        return Response(result.greeting)
@handlerasync def on_fetch(request, env, ctx):    url = urlparse(request.url)    id = env.MY_DURABLE_OBJECT.idFromName(url.path)    stub = env.MY_DURABLE_OBJECT.get(id)    greeting = await stub.fetch(request.url)    return greetingDefine the Durable Object in your Wrangler configuration file:
{  "durable_objects": {    "bindings": [      {        "name": "MY_DURABLE_OBJECT",        "class_name": "MyDurableObject"      }    ]  }}[[durable_objects.bindings]]name = "MY_DURABLE_OBJECT"class_name = "MyDurableObject"Then define the storage backend for your Durable Object:
{  "migrations": [    {      "tag": "v1",      "new_sqlite_classes": [        "MyDurableObject"      ]    }  ]}[[migrations]]tag = "v1" # Should be unique for each entrynew_sqlite_classes = ["MyDurableObject"] # Array of new classesThen test your new Durable Object locally by running wrangler dev:
npx wrangler devConsult the Durable Objects documentation for more details.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark