content: import os
  
  from setuptools import setup, find_packages
  
  NAME = "pdfplumber"
  HERE = os.path.abspath(os.path.dirname(__file__))
  
  version_ns = {}
  
  
  def _open(subpath):
      path = os.path.join(HERE, subpath)
      return open(path, encoding="utf-8")
  
  
  with _open(NAME + "/_version.py") as f:
      exec(f.read(), {}, version_ns)
  
  with _open("requirements.txt") as f:
      base_reqs = f.read().strip().split("\n")
  
  with _open("requirements-dev.txt") as f:
      dev_reqs = f.read().strip().split("\n")
  
  with _open("README.md") as f:
      long_description = f.read()
  
  setup(
      name=NAME,
      url="https://github.com/jsvine/pdfplumber",
      author="Jeremy Singer-Vine",
      author_email="jsvine@gmail.com",
      description="Plumb a PDF for detailed information about each char, rectangle, and line.",
      long_description=long_description,
      long_description_content_type="text/markdown",
      version=version_ns["__version__"],
      packages=find_packages(
          exclude=[
              "test",
          ]
      ),
      include_package_data=True,
      package_data={"pdfplumber": ["py.typed"]},
      zip_safe=False,
      tests_require=base_reqs + dev_reqs,
      python_requires=">=3.8",
      install_requires=base_reqs,
      entry_points={"console_scripts": ["pdfplumber = pdfplumber.cli:main"]},
      classifiers=[
          "Intended Audience :: Developers",
          "License :: OSI Approved :: MIT License",
          "Operating System :: OS Independent",
          "Programming Language :: Python :: 3.9",
          "Programming Language :: Python :: 3.10",
          "Programming Language :: Python :: 3.11",
          "Programming Language :: Python :: 3.12",
      ],
  )
  