setup.py (54 lines of code) (raw):

#!/usr/bin/env python # -*- coding: utf-8 -*- # # 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 import struct from setuptools import setup, find_packages from setuptools.command.install import install readme = 'README.md' with open(readme) as f: long_description = f.read() # from https://stackoverflow.com/questions/45150304/how-to-force-a-python-wheel-to-be-platform-specific-when-building-it # noqa cmdclass = {} try: from wheel.bdist_wheel import bdist_wheel as _bdist_wheel class bdist_wheel(_bdist_wheel): def finalize_options(self): _bdist_wheel.finalize_options(self) # Mark us as not a pure python package (we have platform specific C/C++ code) self.root_is_pure = False def get_tag(self): # this set's us up to build generic wheels. python, abi, plat = _bdist_wheel.get_tag(self) python, abi = 'py2.py3', 'none' return python, abi, plat cmdclass['bdist_wheel'] = bdist_wheel except ImportError: pass class InstallPlatlib(install): def finalize_options(self): install.finalize_options(self) # force platlib self.install_lib = self.install_platlib cmdclass['install'] = InstallPlatlib setup( name='rocketmq-client-python', version='2.0.1rc1', author='apache.rocketmq', author_email='dev@rocketmq.apache.org', packages=find_packages(exclude=('tests', 'tests.*')), keywords='rocketmq', description='RocketMQ Python Client', long_description=long_description, long_description_content_type='text/markdown', include_package_data=True, install_requires=[ "enum34; python_version<='3.4'", ], cmdclass=cmdclass, classifiers=[ 'Operating System :: MacOS', 'Operating System :: POSIX', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: Implementation :: CPython', ] )