old_contents: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  
  import os
  import re
  import sys
  
  from setuptools import setup
  
  
  def get_version(package):
      """
      Return package version as listed in `__version__` in `init.py`.
      """
      init_py = open(os.path.join(package, '__init__.py')).read()
      return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1)
  
  
  def get_long_description():
      """
      Return the README.
      """
      return open('README.md', 'r', encoding="utf8").read()
  
  
  def get_packages(package):
      """
      Return root package and all sub-packages.
      """
      return [dirpath
              for dirpath, dirnames, filenames in os.walk(package)
              if os.path.exists(os.path.join(dirpath, '__init__.py'))]
  
  
  setup(
      name='starlette',
      version=get_version('starlette'),
      url='https://github.com/encode/starlette',
      license='BSD',
      description='The little ASGI library that shines.',
      long_description=get_long_description(),
      long_description_content_type='text/markdown',
      author='Tom Christie',
      author_email='tom@tomchristie.com',
      packages=get_packages('starlette'),
      extras_require = {
          'full': [
              'aiofiles',
              'graphene',
              'itsdangerous',
              'python-multipart',
              'pyyaml',
              'requests',
              'ujson',
          ]
      },
      classifiers=[
          'Development Status :: 3 - Alpha',
          'Environment :: Web Environment',
          'Intended Audience :: Developers',
          'License :: OSI Approved :: BSD License',
          'Operating System :: OS Independent',
          'Topic :: Internet :: WWW/HTTP',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.6',
          'Programming Language :: Python :: 3.7',
      ],
  )
  
new_contents: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  
  import os
  import re
  import sys
  
  from setuptools import setup
  
  
  def get_version(package):
      """
      Return package version as listed in `__version__` in `init.py`.
      """
      init_py = open(os.path.join(package, '__init__.py')).read()
      return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1)
  
  
  def get_long_description():
      """
      Return the README.
      """
      return open('README.md', 'r', encoding="utf8").read()
  
  
  def get_packages(package):
      """
      Return root package and all sub-packages.
      """
      return [dirpath
              for dirpath, dirnames, filenames in os.walk(package)
              if os.path.exists(os.path.join(dirpath, '__init__.py'))]
  
  
  setup(
      name='starlette',
      version=get_version('starlette'),
      url='https://github.com/encode/starlette',
      license='BSD',
      description='The little ASGI library that shines.',
      long_description=get_long_description(),
      long_description_content_type='text/markdown',
      author='Tom Christie',
      author_email='tom@tomchristie.com',
      packages=get_packages('starlette'),
      extras_require = {
          'full': [
              'aiofiles',
              'graphene',
              'itsdangerous',
              'jinja2',
              'python-multipart',
              'pyyaml',
              'requests',
              'ujson',
          ]
      },
      classifiers=[
          'Development Status :: 3 - Alpha',
          'Environment :: Web Environment',
          'Intended Audience :: Developers',
          'License :: OSI Approved :: BSD License',
          'Operating System :: OS Independent',
          'Topic :: Internet :: WWW/HTTP',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.6',
          'Programming Language :: Python :: 3.7',
      ],
  )
  
subject: Include Jinja2 in the [full] optional package (#213)