{"id":22026,"date":"2024-12-09T09:00:14","date_gmt":"2024-12-09T17:00:14","guid":{"rendered":"https:\/\/engineering.fb.com\/?p=22026"},"modified":"2024-12-06T09:25:38","modified_gmt":"2024-12-06T17:25:38","slug":"typed-python-2024-survey-meta","status":"publish","type":"post","link":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/","title":{"rendered":"Typed Python in 2024: Well adopted, yet usability challenges persist"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">This summer, JetBrains, Meta, and Microsoft collaborated to conduct a comprehensive survey on the state of Python typing*. The survey aimed to understand how developers in the open source community are using type hints, the challenges they face, and the tools they rely on. Over 1,000 people took the survey and we are delighted to share the findings. Despite the positive typing sentiment, we received fantastic (even if a little biting at times) feedback about the type system. We\u2019ll give a summary of the findings including usage statistics, overall sentiment and takeaways that can improve Python developer tooling.\u00a0<\/span><\/p>\n<h2>Overall findings<\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">88% of respondents &#8220;Always&#8221; or &#8220;Often&#8221; use Types in their Python code.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">IDE tooling, documentation, and catching bugs are drivers for the high adoption of types in survey responses,<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The usability of types and ability to express complex patterns still are challenges that leave some code unchecked.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Latency in tooling and lack of types in popular libraries are limiting the effectiveness of type checkers.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Inconsistency in type check implementations and poor discoverability of the documentation create friction in onboarding types into a project and seeking help when using the tools.\u00a0<\/span><\/li>\n<\/ul>\n<h2>Survey methodology<\/h2>\n<p><span style=\"font-weight: 400;\">A survey about types is likely to attract a lot of typing enthusiasts, so we don&#8217;t take this to be an unbiased nor representative view of everyone in the community. We did our best to distribute to as many developers as possible and aimed for easy-to-understand questions for all skill levels. We created questions that would give a picture of developer profiles, tools, and overall sentiment towards typed Python. Beyond metrics, we wanted to get a sense of the current mood and are thankful for the detailed and candid feedback.\u00a0<\/span><\/p>\n<h2>Developer cohorts<\/h2>\n<p><span style=\"font-weight: 400;\">As a general purpose language, it was not surprising to see Python types used across many fields. Scripting\/automation, web development, data analysis, AI\/ML, devOps and teaching all had large representation. One surprising finding was the value Python types are demonstrating outside of collaborative environments.\u00a0 A significant portion of respondents use Python types in personal projects (66% of respondents who only use Python personally \u201cAlways\u201d or \u201cOften\u201d use types, compared to 78% of only \u201cProfessional\u201d developers) and without CI (29.6% respondents don\u2019t have type checking in CI use types \u201cAlways\u201d or \u201cOften\u201d).<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-22028\" src=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png?w=1024\" alt=\"\" width=\"1024\" height=\"620\" srcset=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png 1114w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png?resize=916,554 916w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png?resize=768,465 768w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png?resize=1024,620 1024w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png?resize=96,58 96w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Development_Cohorts_dark_V1.png?resize=192,116 192w\" sizes=\"auto, (max-width: 992px) 100vw, 62vw\" \/><\/p>\n<h2>IDEs and type checkers<\/h2>\n<p><span style=\"font-weight: 400;\">When it comes to development environments, Visual Studio (VS) Code emerged as the most popular choice. The most popular configuration of IDE plus type checker was VS Code with Mypy followed by PyCharm with Mypy. Mypy remains the most popular type checker, with 67% of respondents using it and 38% using Pyright (24% use both). Emacs or NeoVIM also has a strong user base at 11% combined. The community&#8217;s preference for both IDE and type checker tooling is still quite varied. While not a static type checker, 62% of developers use Pydantic and 14% <\/span><i><span style=\"font-weight: 400;\">only<\/span><\/i><span style=\"font-weight: 400;\"> use Pydantic, showing the use of the type system extending into runtime use cases.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-22030\" src=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png?w=1024\" alt=\"\" width=\"1024\" height=\"649\" srcset=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png 1038w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png?resize=916,581 916w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png?resize=768,487 768w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png?resize=1024,649 1024w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png?resize=96,61 96w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-piechart_dark.png?resize=192,122 192w\" sizes=\"auto, (max-width: 992px) 100vw, 62vw\" \/><\/p>\n<h2>What people love<\/h2>\n<p><span style=\"font-weight: 400;\">Despite the challenges, developers appreciate the enhanced autocompletion and improved code clarity that type hints provide. \u201cBetter IDE Support\u201d was the most useful feature (59%) followed by \u201cPreventing Bugs\u201d (49.8%) and \u201cDocumentation\u201d (49.2%). They value the ability to catch potential bugs early and the ease of refactoring code. The optional nature of typing allows for gradual adoption, which many find beneficial.<\/span><\/p>\n<blockquote class=\"blockquote\"><p><span style=\"font-weight: 400;\">&#8220;<\/span><b>It finds real bugs.<\/b><span style=\"font-weight: 400;\"> It often points to design flaws when typing is hard or impossible.&#8221;<\/span><\/p><\/blockquote>\n<h2>Common issues with type system documentation and usability<\/h2>\n<p><span style=\"font-weight: 400;\">We gave developers the opportunity to provide freeform feedback and saw several issues with the current type system come up repeatedly. The most common concerns are the complexity of the type system of expressing dynamic features (29 responses), the slow performance of type checkers like Mypy (22 responses), and the inconsistencies across different type checkers (21 responses). Lack of clarity in documentation, especially for advanced constructs, was also a pain point (10 responses).\u00a0<\/span><\/p>\n<blockquote class=\"blockquote\"><p><span style=\"font-weight: 400;\">&#8220;Numerous libraries lack any type annotations, hindering code analysis and potentially leading to runtime errors.&#8221;<\/span><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<blockquote class=\"blockquote\"><p><span style=\"font-weight: 400;\">\u201cThe hoops you sometimes have to jump through to at least somewhat correctly express runtime dynamic features, and even then they are often not correctly covered.\u201d<\/span><\/p><\/blockquote>\n<h2>Why developers don\u2019t use types<\/h2>\n<p><span style=\"font-weight: 400;\">Among respondents, 321 (29%) of developers cited the following reasons for not using types in their Python code. The primary reason for not using types is, &#8220;Not required for my projects,&#8221; which accounted for 11% of total survey responses. Interestingly, among the 321 developers who cited this reason, the majority (60%) still reported using types &#8220;Always&#8221; or &#8220;Often.&#8221; This is 28 points below the overall survey average, yet it remains a substantial proportion.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-22031\" src=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png?w=1024\" alt=\"\" width=\"1024\" height=\"538\" srcset=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png 1126w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png?resize=916,482 916w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png?resize=768,404 768w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png?resize=1024,538 1024w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png?resize=96,50 96w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Static-Types_Dark.png?resize=192,101 192w\" sizes=\"auto, (max-width: 992px) 100vw, 62vw\" \/><\/p>\n<h2>Recommendations for Python language maintainers and tooling authors<\/h2>\n<p><span style=\"font-weight: 400;\">Developers are asking for better standardization and consistency across tools. Improving support for dynamic and complex patterns, as well as enhancing runtime type checking, are all key areas for further thought. Better type checker performance was a common pain point cited by developers in all cohorts. Beyond features and performance, the accessibility and discoverability of Python documentation was mentioned numerous times. <\/span><a href=\"https:\/\/docs.python.org\/3\/library\/typing.html\"><span style=\"font-weight: 400;\">The Python 3 typing docs<\/span><\/a><span style=\"font-weight: 400;\"> were the most popular way for people to learn about types or get help with issues. There was consistent feedback asking for better documentation, particularly for advanced typing features that included examples. \u201cLack of familiarity\u201d was the second highest reason (8% of all responses) people are not using types. There is an opportunity to improve discoverability and usability of documentation.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-22029\" src=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png?w=1024\" alt=\"\" width=\"1024\" height=\"702\" srcset=\"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png 1172w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png?resize=916,628 916w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png?resize=768,527 768w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png?resize=1024,702 1024w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png?resize=96,66 96w, https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-Help-dark.png?resize=192,132 192w\" sizes=\"auto, (max-width: 992px) 100vw, 62vw\" \/><\/p>\n<h2>Thank you! Let\u2019s do this again!<\/h2>\n<p><span style=\"font-weight: 400;\">Thanks to everyone who helped create and share the survey. An extra big thanks for everyone who filled out the survey and gave honest, detailed feedback. We had more responses than expected! It\u2019s encouraging to see so much engagement from the community, and look forward to incorporating the feedback into discussions around the future of Python type checking and tools.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We hope to run the survey again in summer 2025 to see how sentiment changes and the adoption of tooling grows. We have a few ideas for how to improve the survey for next year. We want to ensure that many opinions across the community are heard and that we can capture typing sentiment from folks of different ranges of experience and levels of enthusiasm for typing.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">What would you like to see in the survey next year? How can the Python Type System evolve to meet your needs? Join the conversation on <\/span><a href=\"https:\/\/discuss.python.org\/c\/typing\/32\"><span style=\"font-weight: 400;\">discourse<\/span><\/a><span style=\"font-weight: 400;\">. You can also <\/span><a href=\"https:\/\/lookerstudio.google.com\/reporting\/15599c5b-0e51-4423-8998-cf5c1bfeea00\/page\/8lQ9D\/edit\"><span style=\"font-weight: 400;\">explore the data yourself through this tool<\/span><\/a><span style=\"font-weight: 400;\"> and comment below with your insights.\u00a0<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">*Based on an online survey conducted among 1,083 people distributed through X, LinkedIn, Reddit,and other social media platforms for targeting Python developers. The research was conducted by Meta, Microsoft and JetBrains. Data was collected between 07\/29\/2024 and 10\/08\/2024.<\/span><\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ten years after the introduction of PEP 484, we surveyed the current state of the Python type system and the tools developers are using.<br \/>\n [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":51,"featured_media":22027,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[191,66],"tags":[],"coauthors":[2166],"class_list":["post-22026","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-culture","category-developer-tools","fb_content_type-article"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v19.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Typed Python in 2024: Well adopted, yet usability challenges persist - Engineering at Meta<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aaron Pollack\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#author\",\"name\":\"\"},\"headline\":\"Typed Python in 2024: Well adopted, yet usability challenges persist\",\"datePublished\":\"2024-12-09T17:00:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/\"},\"wordCount\":1106,\"publisher\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/engineering.fb.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Meta-Python-typing-survey-2024-HeroImage_dark.png\",\"articleSection\":[\"Culture\",\"DevInfra\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/\",\"url\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/\",\"name\":\"Typed Python in 2024: Well adopted, yet usability challenges persist - Engineering at Meta\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/engineering.fb.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Meta-Python-typing-survey-2024-HeroImage_dark.png\",\"datePublished\":\"2024-12-09T17:00:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#primaryimage\",\"url\":\"https:\\\/\\\/engineering.fb.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Meta-Python-typing-survey-2024-HeroImage_dark.png\",\"contentUrl\":\"https:\\\/\\\/engineering.fb.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Meta-Python-typing-survey-2024-HeroImage_dark.png\",\"width\":1500,\"height\":970},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/2024\\\/12\\\/09\\\/developer-tools\\\/typed-python-2024-survey-meta\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/engineering.fb.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Typed Python in 2024: Well adopted, yet usability challenges persist\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#website\",\"url\":\"https:\\\/\\\/engineering.fb.com\\\/\",\"name\":\"Engineering at Meta\",\"description\":\"Engineering at Meta Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/engineering.fb.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#organization\",\"name\":\"Meta\",\"url\":\"https:\\\/\\\/engineering.fb.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/engineering.fb.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Meta_lockup_positive-primary_RGB.jpg\",\"contentUrl\":\"https:\\\/\\\/engineering.fb.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Meta_lockup_positive-primary_RGB.jpg\",\"width\":29011,\"height\":12501,\"caption\":\"Meta\"},\"image\":{\"@id\":\"https:\\\/\\\/engineering.fb.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Engineering\\\/\",\"https:\\\/\\\/x.com\\\/fb_engineering\"]},[]]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Typed Python in 2024: Well adopted, yet usability challenges persist - Engineering at Meta","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/","twitter_misc":{"Written by":"Aaron Pollack","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#article","isPartOf":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/"},"author":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#author","name":""},"headline":"Typed Python in 2024: Well adopted, yet usability challenges persist","datePublished":"2024-12-09T17:00:14+00:00","mainEntityOfPage":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/"},"wordCount":1106,"publisher":{"@id":"https:\/\/engineering.fb.com\/#organization"},"image":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#primaryimage"},"thumbnailUrl":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-HeroImage_dark.png","articleSection":["Culture","DevInfra"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/","url":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/","name":"Typed Python in 2024: Well adopted, yet usability challenges persist - Engineering at Meta","isPartOf":{"@id":"https:\/\/engineering.fb.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#primaryimage"},"image":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#primaryimage"},"thumbnailUrl":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-HeroImage_dark.png","datePublished":"2024-12-09T17:00:14+00:00","breadcrumb":{"@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#primaryimage","url":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-HeroImage_dark.png","contentUrl":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-HeroImage_dark.png","width":1500,"height":970},{"@type":"BreadcrumbList","@id":"https:\/\/engineering.fb.com\/2024\/12\/09\/developer-tools\/typed-python-2024-survey-meta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/engineering.fb.com\/"},{"@type":"ListItem","position":2,"name":"Typed Python in 2024: Well adopted, yet usability challenges persist"}]},{"@type":"WebSite","@id":"https:\/\/engineering.fb.com\/#website","url":"https:\/\/engineering.fb.com\/","name":"Engineering at Meta","description":"Engineering at Meta Blog","publisher":{"@id":"https:\/\/engineering.fb.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/engineering.fb.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/engineering.fb.com\/#organization","name":"Meta","url":"https:\/\/engineering.fb.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineering.fb.com\/#\/schema\/logo\/image\/","url":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2023\/08\/Meta_lockup_positive-primary_RGB.jpg","contentUrl":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2023\/08\/Meta_lockup_positive-primary_RGB.jpg","width":29011,"height":12501,"caption":"Meta"},"image":{"@id":"https:\/\/engineering.fb.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Engineering\/","https:\/\/x.com\/fb_engineering"]},[]]}},"jetpack_featured_media_url":"https:\/\/engineering.fb.com\/wp-content\/uploads\/2024\/12\/Meta-Python-typing-survey-2024-HeroImage_dark.png","jetpack_shortlink":"https:\/\/wp.me\/pa0Lhq-5Jg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/posts\/22026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/users\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/comments?post=22026"}],"version-history":[{"count":3,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/posts\/22026\/revisions"}],"predecessor-version":[{"id":22035,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/posts\/22026\/revisions\/22035"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/media\/22027"}],"wp:attachment":[{"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/media?parent=22026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/categories?post=22026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/tags?post=22026"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/engineering.fb.com\/wp-json\/wp\/v2\/coauthors?post=22026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}