{"id":254,"date":"2026-02-25T00:00:00","date_gmt":"2026-02-25T00:00:00","guid":{"rendered":"https:\/\/wordpress.securinsight.ca\/index.php\/2026\/02\/25\/workers-better-windows-support-for-python-workers\/"},"modified":"2026-02-25T00:00:00","modified_gmt":"2026-02-25T00:00:00","slug":"workers-better-windows-support-for-python-workers","status":"publish","type":"post","link":"https:\/\/wordpress.securinsight.ca\/index.php\/2026\/02\/25\/workers-better-windows-support-for-python-workers\/","title":{"rendered":"Workers &#8211; Better Windows support for Python Workers"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/cloudflare\/workers-py?tab=readme-ov-file#pywrangler\" target=\"_blank\">Pywrangler<\/a>, the CLI tool for managing Python Workers and packages,<br \/>\nnow supports Windows, allowing you to develop and deploy Python Workers from Windows environments.<br \/>\nPreviously, Pywrangler was only available on macOS and Linux.<\/p>\n<p>You can install and use Pywrangler on Windows the same way you would on other platforms.<br \/>\n<a href=\"https:\/\/developers.cloudflare.com\/workers\/languages\/python\/packages\/\">Specify your Worker&#8217;s Python dependencies<\/a> in your <code>pyproject.toml<\/code> file,<br \/>\nthen use the following commands to develop and deploy:<\/p>\n<div>\n<figure>\n<pre data-language=\"bash\"><code class=\"language-bash\"><div><div><span>uvx<\/span><span> <\/span><span>--from<\/span><span> <\/span><span>workers-py<\/span><span> <\/span><span>pywrangler<\/span><span> <\/span><span>dev<\/span><\/div><\/div><div><div><span>uvx<\/span><span> <\/span><span>--from<\/span><span> <\/span><span>workers-py<\/span><span> <\/span><span>pywrangler<\/span><span> <\/span><span>deploy<\/span><\/div><\/div><\/code><\/pre>\n<div>\n<div><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>All existing Pywrangler functionality, including package management, local development, and deployment, works on Windows without any additional configuration.<\/p>\n<h4>Requirements<\/h4>\n<p>This feature requires the following minimum versions:<\/p>\n<ul>\n<li><code>wrangler<\/code> &gt;= 4.64.0<\/li>\n<li><code>workers-py<\/code> &gt;= 1.72.0<\/li>\n<li><code>uv<\/code> &gt;= 0.29.8<\/li>\n<\/ul>\n<p>To upgrade <code>workers-py<\/code> (which includes Pywrangler) in your project, run:<\/p>\n<div>\n<figure>\n<pre data-language=\"bash\"><code class=\"language-bash\"><div><div><span>uv<\/span><span> <\/span><span>tool<\/span><span> <\/span><span>upgrade<\/span><span> <\/span><span>workers-py<\/span><\/div><\/div><\/code><\/pre>\n<div>\n<div><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>To upgrade <code>wrangler<\/code>, run:<\/p>\n<div>\n<figure>\n<pre data-language=\"bash\"><code class=\"language-bash\"><div><div><span>npm<\/span><span> <\/span><span>install<\/span><span> <\/span><span>-g<\/span><span> <\/span><span>wrangler@latest<\/span><\/div><\/div><\/code><\/pre>\n<div>\n<div><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>To upgrade <code>uv<\/code>, run:<\/p>\n<div>\n<figure>\n<pre data-language=\"bash\"><code class=\"language-bash\"><div><div><span>uv<\/span><span> <\/span><span>self<\/span><span> <\/span><span>update<\/span><\/div><\/div><\/code><\/pre>\n<div>\n<div><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>To get started with Python Workers on Windows, refer to the <a href=\"https:\/\/developers.cloudflare.com\/workers\/languages\/python\/packages\/\">Python packages documentation<\/a> for full details on Pywrangler.<\/p>","protected":false},"excerpt":{"rendered":"<p>Pywrangler, the CLI tool for managing Python Workers and packages, now supports Windows, allowing you to develop and deploy Python Workers from Windows environments. Previously, Pywrangler was only available on macOS and Linux. You can install and use Pywrangler on Windows the same way you would on other platforms. Specify your Worker&#8217;s Python dependencies in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-254","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/posts\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}