text: #!/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="sse-starlette",
      version=get_version("sse_starlette"),
      url="https://github.com/sysid/sse-starlette",
      license="BSD",
      description="SSE plugin for Starlette",
      long_description=get_long_description(),
      long_description_content_type="text/markdown",
      author="sysid",
      author_email="sysid@gmx.de",
      package_data={"sse_starlette": ["py.typed"]},
      packages=get_packages("sse_starlette"),
      install_requires=[],
      classifiers=[
          "Development Status :: 4 - Beta",
          "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.8",
      ],
  )
  