# Python, Requests, & The Standard Library ## Introduction - **Requests vs Standard Library** discusses the stance of the Requests project regarding its potential inclusion in Python’s standard library, exploring the implications and reasoning behind the decision. ## Requests Overview - **Features:** - Prioritizes security and design. - Optimized interfaces for best practices in SSL, connection pooling, encoding, headers, etc. - Simplifies interaction with web services. - **Popularity:** - Requests is the most downloaded Python package, with around 42 million downloads from PyPi. - Regularly suggested for inclusion in the standard library. ## Arguments for Inclusion - **Social Responsibility:** - Including Requests in the standard library could be seen as the "right thing" to do, given its critical role in the Python ecosystem. - **Sustainability:** - Inclusion could facilitate funding for core contributors, ensuring the project’s long-term sustainability. - **Chardet:** - Chardet, a dependency of Requests, is highlighted as a strong candidate for standard library inclusion due to its utility in character encoding detection. ## Arguments Against Inclusion - **Independence:** - Requests’ value lies in its superiority over the standard library; inclusion would diminish its ability to innovate and quickly respond to security incidents or spec changes. - **Flexibility:** - Inclusion in the standard library could limit the project’s ability to release updates and improvements promptly. ## Broader Questions - **Standard Library Goals:** - The document questions the current goals of the standard library and whether inclusion is necessary in the era of tools like `ensurepip`. - **Critical Infrastructure:** - Requests is considered critical infrastructure for the Python community, but its inclusion in the standard library might make it less adaptable to change. ## Conclusion - **Final Stance:** - The document leans against including Requests in the standard library, emphasizing the need for the project to remain agile and independent to continue serving the Python community effectively.