from setuptools import setup, find_packages import xml.etree.ElementTree as ET import os def get_version_from_pom(): """Parse version from pom.xml""" pom_path = os.path.join(os.path.dirname(__file__), 'thrift_model/pom.xml') tree = ET.parse(pom_path) root = tree.getroot() # XML namespaces ns = {'mvn': 'http://maven.apache.org/POM/4.0.0'} version = root.find('mvn:version', ns).text if version.endswith('-SNAPSHOT'): version = version.replace('-SNAPSHOT', '.dev0') return version VERSION = get_version_from_pom() setup( name='yt_ops_services', version=VERSION, package_data={ 'yt_ops_services': ['thrift_model/pom.xml'], }, packages=find_packages(where='.', exclude=['tests*']), package_dir={ '': '.', # Look for packages in the root directory }, include_package_data=True, install_requires=[ 'thrift>=0.16.0,<=0.20.0', 'python-dotenv>=1.0.0', 'psutil', ], python_requires='>=3.9', )