Index
A
- abstraction
- about / Abstraction
- ad-hoc testing / Testing modules and packages
- advanced module techniques
- optional imports / Optional imports
- local imports / Local imports
- imports, tweaking with sys.path / Tweaking imports using sys.path
- gotchas, importing / Import gotchas
- modules and packages, using with Python interactive interpreter / Using modules and packages with the Python interactive interpreter
- global variables, dealing with / Dealing with global variables
- package configuration / Package configuration
- package data / Package data
B
C
- cache
- about / Caching
- using / Using the cache
- Charter
- about / Introducing Charter
- designing / Designing Charter
- implementing / Implementing Charter
- chart.py module, implementing / Implementing the chart.py module
- generator.py module, implementing / Implementing the generator.py module
- testing / Testing Charter
- requirements, changing / The fly in the ointment – changing requirements
- redesigning / Redesigning Charter
- code, refactoring / Refactoring the code
- circular dependencies
- about / Circular dependencies
- code, Charter
- refactoring / Refactoring the code
- PDF renderer modules, implementing / Implementing the PDF renderer modules
- testing / Testing the code
- complexity
- dealing with / Dealing with complexity
- continuous axis / Designing Charter
- coverage / Code coverage
- coverage package
- reference / Code coverage
D
- data storage module / Designing the inventory control system
- dateutil package
- reference / python-dateutil
- about / python-dateutil
- discrete axis / Designing Charter
- Distutils package
- submitting to / Submitting to the Python Package Index
- divide and conquer approach
- about / Divide and conquer
- docstrings / Why use modular programming techniques?, The process of programming
- dynamic imports
- about / Dynamic imports
E
- edge cases / Designing your unit tests
- effective programmer
- about / Being an effective programmer
- encapsulation
- about / Encapsulation
- examples, reusable modules
- about / Examples of reusable modules
- requests library / requests
- dateutil package / python-dateutil
- lxml toolkit / lxml
- extensible modules
- about / Extensible modules
- plugins / Extensible modules, Plugins
- hooks / Extensible modules, Hooks
- dynamic imports / Dynamic imports
F
- first module
- creating / Creating your first module
- caching / Caching
- cache module, writing / Writing a cache module
- fork / Uploading your work to GitHub
G
- generator.py module
- implementing / Implementing the generator.py module
- Pillow library / The Pillow library
- renderers / Renderers
- code, testing / Testing the code
- title, rendering / Rendering the title
- x axis, rendering / Rendering the x axis
- remaining renderers / The remaining renderers
- getter functions
- about / Encapsulation
- git / Uploading your work to GitHub
- GitHub
- URL / Testing our reusable package, Uploading your work to GitHub
- about / Uploading your work to GitHub
- work, uploading to / Uploading your work to GitHub
- global namespace / What does the import statement actually do?
- about / Local imports
- global variables
- dealing with / Dealing with global variables
- gotchas, importing
- about / Import gotchas
- existing name, using for module or package / Using an existing name for your module or package
- Python script, naming / Naming a Python script after a module or package
- package directories, adding to sys.path / Adding package directories to sys.path
- same module, executing / Executing and importing the same module
- same module, importing / Executing and importing the same module
- GUI tests
- about / Testing modules and packages
H
- hooks
- about / Hooks
I
- import
- performing / How to import anything
- relative imports / Relative imports
- controlling / Controlling what gets imported
- tweaking, sys.path used / Tweaking imports using sys.path
- import statement
- functioning / What does the import statement actually do?
- about / What does the import statement actually do?
- using / Using the import statement
- integration tests
- about / Testing modules and packages
- inventory control system
- about / The inventory control system
- designing / Designing the inventory control system
- implementing / Implementing the inventory control system
- inventory control system, designing
- about / Designing the inventory control system
- data storage module / The data storage module
- user interface module / The user interface module
- report generator module / The report generator module
- main program / The main program
- inventory control system, implementing
- about / Implementing the inventory control system
- data storage module, implementing / Implementing the data storage module
- user interface module, implementing / Implementing the user interface module
- report generator module, implementing / Implementing the report generator module
- main program, implementing / Implementing the main program
L
- locale / Designing a reusable package
- local imports
- about / Local imports
- local namespace / What does the import statement actually do?
- about / Local imports
- lxml toolkit
M
- main program / Designing the inventory control system
- Markdown / Uploading your work to GitHub
- method / Implementing a reusable package
- MIT license
- reference / Submitting to the Python Package Index
- mocking / Mocking
- modular programming techniques
- module
- about / Modules and packages
- initializing / Initializing a module
- initialization functions / Initialization functions
- making reusable / What makes a module reusable?
- preparing, for publication / Preparing a module or package for publication
- downloading, pip used / Using pip to download and install modules and packages
- installing, pip used / Using pip to download and install modules and packages
- module patterns
- divide and conquer approach / Divide and conquer
- modules
- running, from command line / Running modules from the command line
- used, for sharing code / Using modules and packages to share your code
- modules and packages, testing
- testing / Testing modules and packages
- unittest Standard Library module, used / Testing with the unittest Standard Library module
- unit tests, designing / Designing your unit tests
- code coverage / Code coverage
- test-driven development / Test-driven development
- mocking / Mocking
- unit tests, writing for / Writing unit tests for your modules and packages
- module search path
- about / Tweaking imports using sys.path
N
- name masking / Using an existing name for your module or package
- NumPy
O
- optional imports
- about / Optional imports
P
- package
- preparing, for publication / Preparing a module or package for publication
- downloading, pip used / Using pip to download and install modules and packages
- installing, pip used / Using pip to download and install modules and packages
- package configuration
- about / Package configuration
- package data
- about / Package data
- package initialization file / Introducing Python packages
- about / Modules and packages
- packages
- about / Modules and packages
- within packages / Packages within packages
- initializing / Initializing a package
- used, for sharing code / Using modules and packages to share your code
- Pillow library
- about / The Pillow library
- references / The Pillow library
- pip
- about / Preparing a module or package for publication
- used, for downloading modules and packages / Using pip to download and install modules and packages
- used, for installing modules and packages / Using pip to download and install modules and packages
- plugins
- about / Plugins
- process
- programming / Programming as a process
- programming process
- about / The process of programming
- inevitable changes / The inevitable changes
- change management / Change management
- pull request / Uploading your work to GitHub
- Python Imaging Library (PIL) / The Pillow library
- Python modules
- about / Introducing Python modules
- using, for organizing program / Using modules and packages to organize a program
- Python Package Index
- reference / Examples of reusable modules
- submitting to / Submitting to the Python Package Index
- URL / Submitting to the Python Package Index
- Python Package Index (PyPI) / Preparing a module or package for publication
- Python packages
- about / Introducing Python packages, Modules and packages
- using, for organizing program / Using modules and packages to organize a program
- Python source file / Introducing Python modules
- Python Standard Library
- about / The Python Standard Library
- example modules / The Python Standard Library
- reference, for documentation / The Python Standard Library
- reference / The Python Standard Library, Having clear documentation
- Python Style Guide
Q
- quantities / Designing a reusable package
R
- rapid application development (RAD) technique / Using modules and packages with the Python interactive interpreter
- refactor / Programming as a process
- relative imports
- about / Relative imports
- renderer
- about / Renderers
- report generator module / Designing the inventory control system
- ReportLab
- about / Redesigning Charter
- references / Redesigning Charter
- repository / Uploading your work to GitHub
- requests library
- requirements file / Using pip to download and install modules and packages
- requisites, reusable module
- functioning, as standalone unit / Functioning as a standalone unit
- relative imports, using / Using relative imports
- external dependencies, noting / Noting external dependencies
- reStructuredText format
- about / Uploading your work to GitHub
- reference / Uploading your work to GitHub
- reusable module
- requisites / What makes a module reusable?
- about / What makes a good reusable module?
- general problem, solving / Solving a general problem
- standard conventions, following / Following standard conventions
- clear documentation / Having clear documentation
- examples / Examples of reusable modules
- reusable package
- designing / Designing a reusable package
- implementing / Implementing a reusable package
- testing / Testing our reusable package
S
- setters
- about / Encapsulation
- Setuptools / Submitting to the Python Package Index
- Sphinx
- statement coverage / Code coverage
T
- test-driven development / Test-driven development
- test cases / Testing with the unittest Standard Library module
- testing
- about / Testing modules and packages
U
- unit tests
- user interface module / Designing the inventory control system
V
- verbosity / Testing with the unittest Standard Library module
- virtual environment / Using pip to download and install modules and packages
- virtual environments
W
- web interface / Using modules and packages to organize a program
- wildcard import / Using the import statement
- wrapper
- about / Wrappers
- wrapper module
- about / Wrappers