text: from setuptools import setup
  import os
  import re
  
  
  def get_version(package):
      pwd = os.path.dirname(os.path.realpath(__file__))
      with open(os.path.join(pwd, package, "__init__.py"), "r") as input:
          result = re.search(r'__version__\s*=\s*[\'"]([^\'"]*)[\'"]', input.read())
      if not result:
          raise ValueError("failed to determine {} version".format(package))
      return result.group(1)
  
  
  setup(
      name="lattice-symmetries",
      version=get_version("lattice_symmetries"),
      description="Easily work with quantum many-body bases taking all lattice symmetries into account",
      classifiers=[
          "Development Status :: 2 - Pre-Alpha",
          "Environment :: Console",
          "Intended Audience :: Science/Research",
          "License :: OSI Approved :: BSD License",
          "Programming Language :: Python :: 3 :: Only",
          "Topic :: Scientific/Engineering :: Physics",
      ],
      url="http://github.com/twesterhout/lattice-symmetries",
      author="Tom Westerhout",
      author_email="14264576+twesterhout@users.noreply.github.com",
      license="BSD3",
      packages=["lattice_symmetries"],
      install_requires=["numpy", "scipy"],
      zip_safe=False,
  )
  