Index
A
- abstraction layers, Modules-Importing modules
- ActivePython, Commercial Python Redistributions
- ActiveState, Commercial Python Redistributions
- Advanced Message Queuing Protocol (AMQP), RabbitMQ
- Amazon S3, S3-hosted PyPI
- Anaconda, Commercial Python Redistributions, Conda
- Ansible, Ansible
- Apache HTTP server, Web servers
- Apache licenses, Options
- applications, using logging in, Logging in an Application
- Aptana Studio 3, Aptana Studio 3/Eclipse + LiClipse + PyDev
- arbitrary argument list, Function arguments should be intuitive to use
- arbitrary keyword argument dictionary, Function arguments should be intuitive to use
- argparse module, argparse
- argument passing, code style for, Function arguments should be intuitive to use-Return values from one place
- Atom, Atom
- Autoenv, Autoenv
B
- bbFreeze, bbFreeze
- bcrypt, bcrypt
- Beazley, David, Speed, PyPy
- Beck, Kent, Continuous Integration
- Behave, Lettuce and Behave
- Bendersky, Eli, The buffer protocol
- Berkeley Software Distribution (BSD)-style licenses, Options
- Blanks, Hunter, PEP 20 (a.k.a. The Zen of Python)
- block comments, docstrings vs., Docstring Versus Block Comments
- Bokeh, Matplotlib
- Boost.Python, Boost.Python
- bpython, bpython
- breaking tests, Write a breaking test if you want to take a break
- BSD (Berkeley Software Distribution)-style licenses, Options
- buffer protocol, The buffer protocol
- Buildbot, Buildbot
- Buildout, Buildout
- built distribution
C
- C Foreign Function Interface (CFFI), C Foreign Function Interface
- C/C++
- __call__() method, Response.__call__
- Canopy, Commercial Python Redistributions
- Cassandra, NoSQL database libraries
- Celery, RabbitMQ
- CFFI (C Foreign Function Interface), C Foreign Function Interface
- Chameleon Page Templates, Chameleon
- Chef, Chef
- CI (see continuous integration)
- circular dependencies, Importing modules
- class-based decorators, Class-based decorators (a Pythonic use of dynamic typing)
- classes
- Click, Click-Click
- cliff (Command-Line Interface Formulation Framework), cliff
- closures
- cmath library, decimal, fractions, and numbers
- cocos2d, Game Development
- Codd, Edgar F., Data Persistence
- code
- Code (text editor), Code
- code management/improvement, Code Management and Improvement-Boost.Python
- code style, Code Style-Late binding closures
- common gotchas, Common Gotchas-Late binding closures
- conventions, Conventions-Continuing a long line of code
- Diamond examples, Style Examples from Diamond-Example use of a closure (when the gotcha isn’t a gotcha)
- error handling, Errors should never pass silently / Unless explicitly silenced
- explanations of implementations, If the implementation is hard to explain, it’s a bad idea
- explicit vs. implicit, Explicit is better than implicit
- Flask examples, Style Examples from Flask
- function arguments, Function arguments should be intuitive to use-Return values from one place
- general advice, General Advice-Return values from one place
- HowDoI examples, Style Examples from HowDoI-Pythonic choices (beautiful is better than ugly)
- idioms, Idioms-Exception-safe contexts
- PEP 20, PEP 20 (a.k.a. The Zen of Python)
- PEP 8, PEP 8
- Requests examples, Style Examples from Requests-Status codes (readability counts)
- return values and, Return values from one place
- sparsity vs. density, Sparse is better than dense
- Tablib examples, Style Examples from Tablib-Operator overloading (beautiful is better than ugly)
- "we are all responsible users" philosophy, We are all responsible users
- Werkzeug examples, Style Examples from Werkzeug
- command-line applications, Command-Line Applications-cliff
- commercial Python distributions, Commercial Python Redistributions-Commercial Python Redistributions
- community, Python, Python’s Community-Python user groups
- complex code, complicated code vs., Complex versus complicated
- Conda, Conda, Conda
- context, global, Importing modules
- continuous integration (CI), Continuous Integration
- Continuum Analytics, Commercial Python Redistributions
- conventions
- copyleft licenses, Options
- Córdoba, Carlos, Spyder
- coroutines, Performance networking tools in Python’s Standard Library
- Couchbase, NoSQL database libraries
- coupling, hidden, Importing modules
- CPython, CPython
- cross-language data serialization, Cross-language serialization
- Cryptography (Python package), pyOpenSSL, Cryptography
- cryptography libraries
- bcrypt, bcrypt
- Cryptography, Cryptography
- hashlib, ssl, hashlib, and secrets
- libnacl, PyNaCl and libnacl
- libraries, Cryptography-bcrypt
- PyCrypto, PyCrypto
- PyNaCl, PyNaCl and libnacl
- pyOpenSSL, pyOpenSSL
- secrets, ssl, hashlib, and secrets
- ssl, ssl, hashlib, and secrets
- ctypes, ctypes
- custom classes, user-extensible, User-extensible custom classes (complex is better than complicated)
- cv2, cv2
- cx_Freeze, cx_Freeze
- Cython, Cython-Cython
D
- data compression, Compression
- data manipulation libraries, Data Manipulation-Scikit-Image
- comparison of libraries, Data Manipulation
- cv2, cv2
- decimal, fractions, and numbers, decimal, fractions, and numbers
- image manipulation, Image Manipulation-Scikit-Image
- IPython, IPython
- matplotlib, Matplotlib
- nltk, nltk-nltk
- NumPy, NumPy
- Pandas, Pandas
- Pillow, Pillow
- Rpy2, Rpy2
- scientific applications, Scientific Applications-SymPy
- Scikit-Image, Scikit-Image
- Scikit-Learn, Scikit-Learn
- SciPy, SciPy
- string tools in Python’s standard library, String Tools in Python’s Standard Library-SyntaxNet
- SymPy, SymPy
- SyntaxNet, SyntaxNet
- text manipulation/mining, Text Manipulation and Text Mining-SyntaxNet
- data persistence, Data Persistence-NoSQL database libraries
- data serialization, Data Serialization-The buffer protocol
- database libraries, Database Libraries-NoSQL database libraries
- decimal.Decimal class, decimal, fractions, and numbers
- decorators
- default arguments, mutable, Mutable default arguments
- defaults
- dependencies
- development environment, Your Development Environment-Docker
- development tools, Development Tools-Development Tools
- Diamond, Diamond-Example use of a closure (when the gotcha isn’t a gotcha)
- closure example, Example use of a closure (when the gotcha isn’t a gotcha)
- complex vs. complicated code, Complex versus complicated
- internal code complexity, The more complex internal code-The more complex internal code
- logging, Reading Diamond’s code
- reading code, Reading Diamond’s code-Reading Diamond’s code
- reading documentation, Read Diamond’s documentation
- running, Use Diamond
- separating functionality into namespaces, Separate different functionality into namespaces (they are one honking great idea)
- structure examples from, Structure Examples from Diamond-The more complex internal code
- style examples from, Style Examples from Diamond-Example use of a closure (when the gotcha isn’t a gotcha)
- user interface, The simple user interface
- user-extensible custom classes, User-extensible custom classes (complex is better than complicated)
- dictionary elements, accessing, Accessing dictionary elements
- dictionary, logging via, Example configuration via a dictionary
- difflib module, String Tools in Python’s Standard Library
- distributed systems
- distributing code (see shipping great code)
- distribution packages, Packaging Your Code
- Django, Django
- Django Girls, Preface
- Django ORM, Django ORM-Django ORM
- Docker, Docker
- docopt, docopt
- docstrings
- documentation, Documentation
- double underscore (__), Ignoring a value
- Druid, NoSQL database libraries
- duck typing, Structure Examples from Werkzeug
- dynamic typing, Dynamic Typing
E
- easy_install, Use pip, not easy_install
- Eby, Phillip J., Werkzeug
- Eclipse, Aptana Studio 3/Eclipse + LiClipse + PyDev
- eggs, Useful Vocabulary and Concepts
- Ellison, Larry, Data Persistence
- Elpy, Emacs
- Emacs, Emacs
- enhanced interactive tools, Enhanced Interactive Tools
- Enthought, Commercial Python Redistributions
- equality, alternatives to checking for, Alternatives to checking for equality
- Eric (the Eric Python IDE), Eric (the Eric Python IDE)
- error handling, code style for, Errors should never pass silently / Unless explicitly silenced
F
- F2PY (Fortran-to-Python) interface generator, F2PY
- Fabric, Fabric
- Falco, Gabriel, Lettuce and Behave
- Fettig, Abe, Twisted
- file formats, programmatically registered, Programmatically registered file formats (don’t repeat yourself)-Programmatically registered file formats (don’t repeat yourself)
- fixture (testing tool), fixture
- Flask, Flask-Modularity (also one honking great idea), Flask
- Fortran-to-Python (F2PY) interface generator, F2PY
- Fowler, Martin, Continuous Integration, Database Libraries, SQLAlchemy
- framework (see software framework)
- framework, reading code in, Reading Code in a Framework-Read Flask’s code
- freezing code, Freezing Your Code-bbFreeze
- function arguments, Function arguments should be intuitive to use-Return values from one place
- function definitions, Mutable default arguments
- function names, underscore-prefixed, Underscore-prefixed function names (we are all responsible users)
- functional programming, Object-Oriented Programming
- functionality, separating into namespaces, Separate different functionality into namespaces (they are one honking great idea)
- functions, decorators and, Decorators
G
- Gale, Andy, Chef
- Gallina, Fabián Ezequiel, Emacs
- game development, GUI applications for, Game Development
- gevent, gevent
- Gleitzman, Benjamin, Errors should never pass silently / Unless explicitly silenced, HowDoI
- Global Interpreter Lock (GIL), Speed, Numba, Networking
- global state/context, Importing modules
- Gondor, Hosting
- GPU libraries, for speed optimization, GPU libraries
- GTK+, GTK+
- GUI applications, GUI Applications-Game Development
- Gunicorn (Green Unicorn), WSGI servers
H
- Hansson, David Heinemeier, Continuous Integration
- hashlib module, ssl, hashlib, and secrets
- HBase, NoSQL database libraries
- Heroku, Hosting
- Hettinger, Raymond, PEP 20 (a.k.a. The Zen of Python)
- hidden coupling, Importing modules
- Homebrew, Installing Python on Mac OS X
- hooks, version control automation, Version control automation hooks are fantastic
- hosting, Hosting
- HowDoI, HowDoI-Pythonic choices (beautiful is better than ugly)
- HTTP (Hypertext Transfer Protocol), Web Clients
I
- IDEs (integrated development environments), IDEs-Visual Studio
- Aptana Studio 3, Aptana Studio 3/Eclipse + LiClipse + PyDev
- Eclipse, Aptana Studio 3/Eclipse + LiClipse + PyDev
- Eric, Eric (the Eric Python IDE)
- IntelliJ IDEA, PyCharm/IntelliJ IDEA
- Komodo IDE, Komodo IDE
- LiClipse, Aptana Studio 3/Eclipse + LiClipse + PyDev
- NINJA-IDE, NINJA-IDE
- PyCharm, PyCharm/IntelliJ IDEA
- PyDev, Aptana Studio 3/Eclipse + LiClipse + PyDev
- Spyder, Spyder
- Visual Studio, Visual Studio
- WingIDE, WingIDE
- idioms (idiomatic Python)
- IDLE (Integrated Development and Learning Environment), IDLE
- image manipulation, Image Manipulation-Scikit-Image
- immutable types, Mutable and Immutable Types-Mutable and Immutable Types
- implementations, Python, Implementations-MicroPython
- clarity of explanations of, If the implementation is hard to explain, it’s a bad idea
- CPython, CPython
- IronPython, IronPython
- Jython, Jython
- MicroPython, MicroPython
- PyPy, PyPy
- PythonNet, PythonNet
- Skulpt, Skulpt
- Stackless, Stackless
- independence, in code testing, Independence is imperative
- INI file, logging via, Example configuration via an INI file
- installation packages, Packaging Your Code
- installation, Python, Properly Installing Python-Commercial Python Redistributions
- Integrated Development and Learning Environment (IDLE), IDLE
- integrated development environments (see IDEs)
- Intel Distribution for Python, Commercial Python Redistributions
- IntelliJ IDEA, PyCharm/IntelliJ IDEA
- interfaces, software (see software interfaces)
- Internet Software Consortium (ISC) licenses, Options
- IPython, IPython, IPython
- IronPython, IronPython
- ISC (Internet Software Consortium) licenses, Options
- isolation tools, Isolation Tools-Docker
J
- Jenkins CI, Jenkins
- Jinja2, Flask, Jinja2-Jinja2
- Joshi, Kavya, gevent
- Joy, Bill, Vim
- JSON, parsing for web APIs, JSON parsing
- Jupyter notebooks, Jupyter Notebooks
- Jython, Jython
L
- late binding closures, Late binding closures
- Lettuce, Lettuce and Behave
- libnacl, PyNaCl and libnacl
- library, using logging in a, Logging in a Library
- libsodium, PyNaCl and libnacl
- licenses
- LiClipse, Aptana Studio 3/Eclipse + LiClipse + PyDev
- Lindberg, Van, Licensing Resources
- Linux
- list (*) operator, Creating a length-N list of the same thing
- list comprehension, Mutable and Immutable Types
- lists, manipulating, Manipulating lists
- LMDB, NoSQL database libraries
- logging, Logging-Example configuration directly in code
- Luigi, Luigi
- lxml, lxml
M
- Mac OS X
- Mako, Mako
- Massachusetts Institute of Technology (MIT) licenses, Options
- math library, decimal, fractions, and numbers
- matplotlib, Matplotlib
- McKellar, Jessica, Twisted
- McQueen, Rob, Packaging for Linux-Built Distributions
- memory, saving with __slots__, Saving memory with __slots__ (optimize judiciously)
- methods, decorators and, Decorators
- MicroPython, MicroPython
- Microsoft Code text editor, Code
- MIT (Massachusetts Institute of Technology) licenses, Options
- mixins, Mixins (also one honking great idea)
- Mock, Mock (in unittest), Mock
- modularity, Flask, Modularity (also one honking great idea)
- modules, Modules-Importing modules, Importing modules
- MongoDB, NoSQL database libraries
- monkey patch, Mock (in unittest)
- Moolenaar, Bram, Vim
- multiprocessing, Multiprocessing-Multiprocessing
- mutable default arguments, Mutable default arguments
- mutable types, Mutable and Immutable Types-Mutable and Immutable Types
N
- namespace tools, Importing modules
- namespaces
- Neo4j, NoSQL database libraries
- networking, Networking-RabbitMQ
- new-style classes, Mixins (also one honking great idea)
- Nginx, Web servers
- NINJA-IDE, NINJA-IDE
- nltk (Natural Language ToolKit), nltk-nltk
- North, Dan, Lettuce and Behave
- Nose, Nose
- NoSQL database libraries, NoSQL database libraries-NoSQL database libraries
- Numba, Numba, GPU libraries
- numbers library, decimal, fractions, and numbers
- NumPy, F2PY, NumPy
O
- object class, new-style classes and, Mixins (also one honking great idea)
- object-oriented programming, Python-specific approach to, Object-Oriented Programming-Object-Oriented Programming
- object-relational mapping (ORM), Database Libraries
- Objective-C, Objective-C
- Oddgard, Allan, TextMate
- old-style classes, Mixins (also one honking great idea)
- open-source licenses, Options
- OpenCV (OpenSource Computer Vision), cv2
- operator overloading, Operator overloading (beautiful is better than ugly)-Operator overloading (beautiful is better than ugly)
- optional arguments, Function arguments should be intuitive to use
- ORM (object-relational mapping), Database Libraries
P
- packages, Packages
- packaging, Packaging Your Code-VCS support for pip
- Pandas, Pandas
- Parente, Peter, Lettuce and Behave
- peewee, peewee-peewee
- PEP 20 (the Zen of Python), PEP 20 (a.k.a. The Zen of Python)
- PEP 8, PEP 8
- PEPs (Python Enhancement Proposals), PEPs-Python user groups
- permissive licenses, Options
- Peters, Tim, PEP 20 (a.k.a. The Zen of Python)
- Pickle, Pickle
- pika, RabbitMQ
- Pillow, Pillow
- pip
- plac, Plac
- platform as a service (PaaS), Hosting
- Plotly, Matplotlib
- PonyORM, PonyORM
- positional arguments, Function arguments should be intuitive to use
- precision, in code testing, Precision is better than parsimony
- print, logging vs., Logging
- programmatically registered file formats, Programmatically registered file formats (don’t repeat yourself)-Programmatically registered file formats (don’t repeat yourself)
- project
- @property decorator, Programmatically registered file formats (don’t repeat yourself)
- Psutil, Psutil
- publication, Project Publication
- Punkt tokenizer, nltk
- Puppet, Puppet-Puppet
- pure functions, Object-Oriented Programming
- py.test, pytest
- py2app, py2app
- py2exe, py2app
- PyCA (Python Cryptographic Authority), Cryptography
- PyCharm, PyCharm/IntelliJ IDEA
- PyCrypto, PyCrypto
- PyDev, Aptana Studio 3/Eclipse + LiClipse + PyDev
- pyenv, pyenv
- Pygame, Game Development
- Pygame-SDL2, Game Development
- pyglet, Game Development
- PyInstaller, PyInstaller
- PyNaCl, PyNaCl and libnacl
- pyOpenSSL, pyOpenSSL
- PyPA (Python Packaging Authority), Shipping Great Code
- PyPI
- Pypiserver, Pypiserver
- PyPy, PyPy
- Pyramid, Pyramid
- PySDL2, Game Development
- Python (generally), The State of Python 2 Versus Python 3-MicroPython
- Python 2
- Python 2.7, new-style classes, Mixins (also one honking great idea)
- Python 3
- Python Cryptographic Authority (PyCA), Cryptography
- Python Enhancement Proposals (PEPs), PEPs-Python user groups
- Python Packaging Authority (PyPA), Shipping Great Code
- Python Software Foundation, Upstream Licenses, Python Software Foundation
- Python Tools for Visual Studio, IronPython
- Python-mode (Vim), Python-mode
- python.el, Emacs
- PythonAnywhere, Hosting
- PythonNet (Python for .NET), PythonNet
- PyZMQ, PyZMQ
R
- RabbitMQ, RabbitMQ
- race conditions, Object-Oriented Programming
- random library, decimal, fractions, and numbers
- ravioli code, Importing modules
- reading great code, Reading Great Code-Modularity (also one honking great idea)
- Records (SQL library), Records
- Redis, NoSQL database libraries
- regular expressions, Regular expressions (readability counts)
- Reitz, Kenneth, Tablib, Requests
- Requests library, Requests-Status codes (readability counts)
- HTTP and, Web Clients
- reading code, Read Requests’s code-Read Requests’s code
- reading documentation, Read Requests’s documentation
- Request and PreparedRequest objects, The Request and PreparedRequest objects (we’re all responsible users)-The Request and PreparedRequest objects (we’re all responsible users)
- sets and set arithmetic, Sets and set arithmetic (a nice, Pythonic idiom)
- Sphinx-compatible docstrings, Read Requests’s code
- status codes, Status codes (readability counts)-Status codes (readability counts)
- structure examples, Structure Examples from Requests-The Request and PreparedRequest objects (we’re all responsible users)
- style examples from, Style Examples from Requests-Status codes (readability counts)
- testing your code in, Example: Testing in Requests
- top-level API, Top-level API (preferably only one obvious way to do it)-Top-level API (preferably only one obvious way to do it)
- using, Use Requests
- requirements.txt, Add libraries to the virtual environment
- Response class, with __call__ () method, Response.__call__
- RESTful APIs, Web APIs
- reStructured Text, reStructured Text
- return values, Return values from one place
- Ronacher, Armin, Werkzeug, Flask
- routing decorators, Flask’s routing decorators (beautiful is better than ugly)
- Rpy2, Rpy2
S
- S3 (see Amazon S3)
- SageMath, decimal, fractions, and numbers
- Salt, Salt
- sane defaults, Application specific defaults (simple is better than complex)
- Schäfer, Jorgen, Emacs
- scientific applications, libraries for, Scientific Applications-SymPy
- decimal, fractions, and numbers, decimal, fractions, and numbers
- IPython, IPython
- matplotlib, Matplotlib
- NumPy, NumPy
- Pandas, Pandas
- Rpy2, Rpy2
- Scikit-Learn, Scikit-Learn
- SciPy, SciPy
- SymPy, SymPy
- Scikit-Image, Scikit-Image
- Scikit-Learn, Scikit-Learn
- SciPy, SciPy
- secrets library, ssl, hashlib, and secrets
- separation of concerns, Web Template Engines
- serialization (see data serialization)
- server automation, Server Automation-CFEngine
- sets, Sets and set arithmetic (a nice, Pythonic idiom)
- Setuptools
- shim, pyenv
- shipping great code, Shipping Great Code-Executable ZIP Files
- side effects, Object-Oriented Programming
- Simple Storage Service (S3) (see Amazon S3)
- simplejson, JSON parsing
- Simplified Wrapper Interface Generator (SWIG), SWIG
- Skinner, Jon, Sublime Text
- Skulpt, Skulpt
- __slots__, Saving memory with __slots__ (optimize judiciously)
- software interfaces, Software Interfaces-bcrypt
- software toolkit, Reading Code in a Toolkit-Read Werkzeug’s code
- spaghetti code, Importing modules
- speed optimization, Speed-Boost.Python
- Boost.Python, Boost.Python
- CFFI (C Foreign Function Interface), C Foreign Function Interface
- ctypes, ctypes
- Cython, Cython-Cython
- F2PY, F2PY
- GPU libraries, GPU libraries
- interfacing with C/C++ or FORTRAN libraries, Interfacing with C/C++/FORTRAN Libraries-Boost.Python
- multiprocessing, Multiprocessing-Multiprocessing
- Numba, Numba
- PyPy, PyPy
- subprocess library, Subprocess
- SWIG, SWIG
- threading, Threading
- speed, code testing, Speed counts
- Sphinx
- Spyder, Spyder
- SQLAlchemy, SQLAlchemy-SQLAlchemy
- sqlite3, sqlite3
- SQLObject, SQLObject
- ssl module, ssl, hashlib, and secrets
- Stackless Python, Stackless
- Stallman, Richard, Emacs
- status codes, Status codes (readability counts)-Status codes (readability counts)
- Steele, Guy L., Jr., Emacs
- string tools, String Tools in Python’s Standard Library-SyntaxNet
- structured files, Structured Files
- structuring your project, Structuring Your Project-Vendorizing Dependencies
- decorators, Decorators
- Diamond examples, Structure Examples from Diamond-The more complex internal code
- dynamic typing, Dynamic Typing
- Flask examples, Structure Examples from Flask-Modularity (also one honking great idea)
- modules, Modules-Importing modules
- object-oriented programming, Object-Oriented Programming-Object-Oriented Programming
- packages, Packages
- Requests examples, Structure Examples from Requests-The Request and PreparedRequest objects (we’re all responsible users)
- signs of poor structure, Importing modules
- Tablib examples, Structure Examples from Tablib-Saving memory with __slots__ (optimize judiciously)
- vendorizing dependencies, Vendorizing Dependencies
- Werkzeug examples, Structure Examples from Werkzeug-Mixins (also one honking great idea)
- Strunk, Jan, nltk
- style, code (see code style)
- Sublime Text, Sublime Text
- subprocess library, Subprocess
- SWIG (Simplified Wrapper Interface Generator), SWIG
- SymPy, SymPy
- SyntaxNet, SyntaxNet
- system administration
- system/task monitoring, System and Task Monitoring-Luigi
T
- Tablib, Tablib-Operator overloading (beautiful is better than ugly)
- descriptors and property decorator, Descriptors and the property decorator (engineer immutability when the API would benefit)-Descriptors and the property decorator (engineer immutability when the API would benefit)
- namespaces for grouping functions, No needless object-oriented code in formats (use namespaces for grouping functions)
- operator overloading, Operator overloading (beautiful is better than ugly)-Operator overloading (beautiful is better than ugly)
- programmatically registered file formats, Programmatically registered file formats (don’t repeat yourself)-Programmatically registered file formats (don’t repeat yourself)
- reading code, Read Tablib’s code-Read Tablib’s code
- reading documentation, Read Tablib’s documentation
- saving memory with __slots__, Saving memory with __slots__ (optimize judiciously)
- Sphinx documentation, Read Tablib’s code
- structure examples from, Structure Examples from Tablib-Saving memory with __slots__ (optimize judiciously)
- style examples from, Style Examples from Tablib-Operator overloading (beautiful is better than ugly)
- testing your code in, Example: Testing in Tablib-Example: Testing in Tablib
- using, Use Tablib
- vendorized dependencies in packages directory, Vendorized dependencies in packages (an example of how to vendorize)
- TCP/IP, Software Interfaces
- TDD (test-driven development), Testing Your Code
- template engines (see web template engines)
- test-driven development (TDD), Testing Your Code
- testing your code, Testing Your Code-Lettuce and Behave
- basics, Testing Basics-doctest
- Behave, Lettuce and Behave
- doctest, doctest
- examples, Examples-Example: Testing in Requests
- fixture, fixture
- in Requests, Example: Testing in Requests
- in Tablib, Example: Testing in Tablib-Example: Testing in Tablib
- Lettuce, Lettuce and Behave
- Mock, Mock (in unittest), Mock
- Nose, Nose
- options for older versions of Python, Options for older versions of Python
- py.test, pytest
- tips, Tips for testing
- tox, tox
- Travis-CI for, Travis-CI
- unittest, unittest
- Unittest 2, unittest2
- testPyPI, PyPI
- text editors, Text Editors-Code
- text manipulation/mining, Text Manipulation and Text Mining-SyntaxNet
- TextMate, TextMate
- threading, Threading
- Tk, Tk
- toolkit (see software toolkit)
- Tornado, Tornado
- Totic, Aleks, Aptana Studio 3/Eclipse + LiClipse + PyDev
- tox
- Travis-CI, Travis-CI
- TweetNaCL, PyNaCl and libnacl
- Twisted, Twisted
- types
U
- underscore-prefixed function names, Underscore-prefixed function names (we are all responsible users)
- underscores, throwaway variables and, Ignoring a value
- unittest, unittest, Mock (in unittest), Mock
- Unittest 2, unittest2
- unpacking, Unpacking
- untangle, XML parsing
- upstream licenses, Upstream Licenses
- user interaction, User Interaction-WSGI servers
- user interface, Diamond, The simple user interface
- uWSGI, WSGI servers
V
- value, ignoring, Ignoring a value
- van Rossum, Guido, IDLE, BDFL
- variables
- VCS (version control system), VCS support for pip
- vendorizing/vendorized dependencies, Vendorizing Dependencies, Vendorized dependencies in packages (an example of how to vendorize), Executable ZIP Files
- version control automation hooks, Version control automation hooks are fantastic
- Vi, Vim
- Vim, Vim-Python-mode
- virtual environments, Virtual Environments-Deactivate the virtual environment
- virtualenv command, Virtual Environments
- virtualenvwrapper, virtualenvwrapper
- Visual Studio, Visual Studio
W
- Waitress, WSGI servers
- Walsh, Ciarán, TextMate
- "we are all responsible users", We are all responsible users, Programmatically registered file formats (don’t repeat yourself)
- web APIs, Web APIs-lxml
- web application development, Web Applications-WSGI servers
- web clients, software interfaces for, Web Clients-lxml
- web deployment, Web Deployment-WSGI servers
- web frameworks/microframeworks, Web Frameworks/Microframeworks-Pyramid
- web scraping, Web scraping
- Web Server Gateway Interface (WSGI) servers, WSGI servers
- web servers, Web servers
- web template engines, Web Template Engines-Mako
- Werkzeug, Werkzeug-Mixins (also one honking great idea)
- class based decorators, Class-based decorators (a Pythonic use of dynamic typing)
- Flask and, Flask
- guessing types, Elegant way to guess type (if the implementation is easy to explain, it may be a good idea)
- mixins, Mixins (also one honking great idea)
- reading code, Read Werkzeug’s code-Read Werkzeug’s code
- reading documentation, Read Werkzeug’s documentation
- regular expressions in, Regular expressions (readability counts)
- Response.__call__, Response.__call__
- structure examples from, Structure Examples from Werkzeug-Mixins (also one honking great idea)
- style examples from, Style Examples from Werkzeug
- tox in, Read Werkzeug’s code
- using, Use Werkzeug-Use Werkzeug
- wheels, Useful Vocabulary and Concepts
- widget libraries, Widget Libraries-Objective-C
- Windows
- WingIDE, WingIDE
- writing great code, Writing Great Code-Licensing Resources
- WSGI (Web Server Gateway Interface) servers, WSGI servers
- wxWidgets, wxWidgets