Files
kennethreitz.org/data/talks/python-for-humans.md
T

68 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Python for Humans
<div style="width: 50%">
<iframe class="speakerdeck-iframe" style="border: 0px; background: padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 100%; height: auto; aspect-ratio: 560 / 420;" frameborder="0" src="https://speakerdeck.com/player/4f24d3a79a6510001f008836" title="Python for Humans" allowfullscreen="true" data-ratio="1.3333333333333333"></iframe>
</div>
## Introduction
- **Author:** Kenneth Reitz
- **Focus:** Simplifying Python for everyday developers.
- **Motivation:** Provide practical tools and packages to make Python more human-friendly.
## Key Projects
- **Requests:** HTTP for Humans.
- **Httpbin.org:** An HTTP request & response service.
- **Other Projects:**
- Legit: Git workflow for Humans.
- Envoy: Subprocess for Humans.
- Tablib: Tabular data for Humans.
- Clint: CLI app toolkit.
- Autoenv: Magic shell environments.
## Philosophy
- **Python Zen:** Emphasizes simplicity and clarity.
- **Key Tenets:**
- Beautiful is better than ugly.
- Simple is better than complex.
- There should be one—and preferably only one—obvious way to do it.
## The Problem with Existing Tools
- **Complexity:** Traditional Python libraries like `urllib2` are overly complex.
- **Accessibility:** Difficult APIs deter new users and frustrate experienced ones.
## The Solution: Requests
- **Design Principles:**
- Consistent and simple API.
- Methods like GET, POST, PUT, DELETE with intuitive parameters.
- **Success:** Widely adopted due to its simplicity and effectiveness.
## The Importance of API Design
- **User-Centric:** APIs should cater to the 90% use case.
- **Documentation:** A well-written README is crucial for adoption.
- **Evolution:** Features can grow, but the API should remain simple.
## Barriers to Python Adoption
- **Installation:** Confusion around Python versions and installation methods.
- **Standard Library Issues:** Complex modules for simple tasks.
- **Dependency Management:** Complicated packaging and installation processes.
## The Hitchhikers Guide to Python
- **Purpose:** Document best practices and simplify Python adoption.
- **Content:**
- Installation guides for different OS.
- Best practices for Python development.
- A guidebook for both newcomers and experienced developers.
## Manifesto
- **Goals:**
- Simplify terrible APIs.
- Document and share best practices with the community.
## Conclusion
- **Call to Action:** Developers should prioritize creating simple, accessible APIs and contribute to open-source projects.
- **Contact:** [GitHub - Kenneth Reitz](https://github.com/kennethreitz)