
{"id":5136,"date":"2024-10-20T01:42:11","date_gmt":"2024-10-20T05:42:11","guid":{"rendered":"https:\/\/ikriv.com\/blog\/?p=5136"},"modified":"2024-10-20T01:42:11","modified_gmt":"2024-10-20T05:42:11","slug":"python-packages-what-was-deprecated-when","status":"publish","type":"post","link":"https:\/\/ikriv.com\/blog\/?p=5136","title":{"rendered":"Python packages: what was deprecated when"},"content":{"rendered":"<p>Creation of Python packages underwent a few significant changes in the last 3-4 years. Here&#8217;s my note to self to remember what was changed\/deprecated when:<\/p>\n<h2><strong>&#8220;Eggs&#8221; <\/strong>\u00a0=&gt; &#8220;<strong>Wheel<\/strong>&#8220;<\/h2>\n<p>&#8220;Eggs&#8221; was an old Python package format that was deprecated in 2018 in favor of the &#8220;<strong>wheel<\/strong>&#8221; format, and removed in early 2021. Still, &#8220;<strong><em>package-name<\/em>.egg-info<\/strong>&#8221; folder remains part of the package metadata, even if the package uses &#8220;wheel&#8221; distribution format.<\/p>\n<h2><strong>setup.py =&gt; pyproject.toml<\/strong><\/h2>\n<p>Executable <strong>setup.py<\/strong> files used to be the main way to manipulate Python distribution packages until <strong>pyproject.toml<\/strong> was introduced in 2018. &#8220;pip&#8221; package management tool would invoke <strong>setup.py<\/strong> to manipulate the project. Support for executable <strong>setup.py<\/strong> was deprecated in &#8220;pip&#8221; in September 2021, but it is still available.<\/p>\n<h2><strong>distutils =&gt; setuptools<\/strong><\/h2>\n<p><strong>Distutils<\/strong>\u00a0package was used to author <strong>setup.py<\/strong> files. It was deprecated in Python 3.10 (October 2021) in favor of <strong>setuptools<\/strong>, and completely removed in Python 3.12 (October 2023).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creation of Python packages underwent a few significant changes in the last 3-4 years. Here&#8217;s my note to self to remember what was changed\/deprecated when: &#8220;Eggs&#8221; \u00a0=&gt; &#8220;Wheel&#8220; &#8220;Eggs&#8221; was <a href=\"https:\/\/ikriv.com\/blog\/?p=5136\" class=\"more-link\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[26],"tags":[],"class_list":["entry","author-ikriv","post-5136","post","type-post","status-publish","format-standard","category-python"],"_links":{"self":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5136"}],"version-history":[{"count":1,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5136\/revisions"}],"predecessor-version":[{"id":5137,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5136\/revisions\/5137"}],"wp:attachment":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}