################################################################################
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
# limitations under the License.
################################################################################

import os
import sys

from setuptools import setup

this_directory = os.path.abspath(os.path.dirname(__file__))
version_file = os.path.join(this_directory, 'pypaimon/version.py')

try:
    exec(open(version_file).read())
except IOError:
    print("Failed to load PyPaimon version file for packaging. " +
          "'%s' not found!" % version_file,
          file=sys.stderr)
    sys.exit(-1)
VERSION = __version__  # noqa

PACKAGES = [
    'pypaimon',
    'pypaimon.api',
    'pypaimon.py4j',
    'pypaimon.py4j.util',
    'pypaimon.jars',
    'pypaimon.hadoop-deps'
]

install_requires = [
    'py4j==0.10.9.7',
    'pandas>=1.3.0',
    'pyarrow>=5.0.0'
]

long_description = 'See Apache Paimon Python API \
[Doc](https://paimon.apache.org/docs/master/program-api/python-api/) for usage.'

setup(
    name='pypaimon',
    version=VERSION,
    packages=PACKAGES,
    include_package_data=True,
    # releasing tool will generate deps
    package_dir={
        "pypaimon.jars": "deps/jars",
        "pypaimon.hadoop-deps": "deps/hadoop"
    },
    package_data={
        "pypaimon.jars": ["*.jar"],
        "pypaimon.hadoop-deps": ["*.jar"]
    },
    install_requires=install_requires,
    description='Apache Paimon Python API',
    long_description=long_description,
    long_description_content_type='text/markdown',
    author='Apache Software Foundation',
    author_email='dev@paimon.apache.org',
    url='https://paimon.apache.org',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Programming Language :: Python :: 3.10',
        'Programming Language :: Python :: 3.11'],
    python_requires='>=3.8'
)
