Skip to content
Snippets Groups Projects
setup.py 2.28 KiB
Newer Older
Mads M. Pedersen's avatar
Mads M. Pedersen committed
# -*- coding: utf-8 -*-
"""
Setup file for PyWake
"""
Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed
import os
from setuptools import setup, find_packages
Mads M. Pedersen's avatar
Mads M. Pedersen committed
import pkg_resources
Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed

repo = os.path.dirname(__file__)
Mads M. Pedersen's avatar
Mads M. Pedersen committed
try:
    from git_utils import write_vers
    version = write_vers(vers_file='py_wake/__init__.py', repo=repo, skip_chars=1)
except Exception:
    version = '999'

Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed

try:
    from pypandoc import convert_file
Mads M. Pedersen's avatar
Mads M. Pedersen committed

    def read_md(f): return convert_file(f, 'rst', format='md')
Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed
except ImportError:
    print("warning: pypandoc module not found, could not convert Markdown to RST")
Mads M. Pedersen's avatar
Mads M. Pedersen committed

    def read_md(f): return open(f, 'r').read()
Mads M. Pedersen's avatar
Mads M. Pedersen committed


setup(name='py_wake',
Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed
      version=version,
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      description='PyWake a collection of wake models',
Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed
      long_description=read_md('README.md'),
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      url='https://gitlab.windenergy.dtu.dk/TOPFARM/PyWake',
      author='DTU Wind Energy',
      author_email='mmpe@dtu.dk',
      license='MIT',
Mikkel Friis-Møller's avatar
Mikkel Friis-Møller committed
      packages=find_packages(),
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      package_data={
Mads M. Pedersen's avatar
Mads M. Pedersen committed
          'py_wake': ['examples/data/iea37/*.yaml',
                      'tests/test_files/fuga/2MW/Z0=0.03000000Zi=00401Zeta0=0.00E+0/*.*',
                      'examples/data/iea34_130rwt/*/*/*.h5',
                      'examples/data/iea34_130rwt/*/*/*.json',
                      'examples/data/ParqueFicticio/*.grd',
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      },
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      install_requires=[
          'matplotlib',  # for plotting
          'numpy',  # for numerical calculations
Mads M. Pedersen's avatar
Mads M. Pedersen committed
          'xarray',  # for WaspGridSite data storage
Mads M. Pedersen's avatar
Mads M. Pedersen committed
          'autograd',  # gradient calculation
          'pyyaml',  # for reading yaml files
Mads M. Pedersen's avatar
Mads M. Pedersen committed
          'scipy',  # constraints
          'tqdm',  # progressbar
          'ipywidgets',  # notebook widgets
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      ],
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      extras_require={
          'test': [
              'pytest',  # for testing
              'pytest-cov',  # for calculating coverage
              'sphinx',  # generating documentation
              'sphinx_rtd_theme',  # docs theme
              'line_profiler',  # to check speed
Mads M. Pedersen's avatar
Mads M. Pedersen committed
              'sklearn',  # MinMaxScaler
              'tensorflow',  # load surrogates
          ],
          'loads': [
              'sklearn',  # MinMaxScaler
              'tensorflow',  # load surrogates
Mads M. Pedersen's avatar
Mads M. Pedersen committed
      zip_safe=True)