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