From 228306dd5fb3cd5589b75cdaf10e3965eb18af6f Mon Sep 17 00:00:00 2001 From: Junzi Sun Date: Mon, 4 May 2020 21:35:29 +0200 Subject: [PATCH] version 2.8 --- setup.py | 79 +++++++++++--------------------------------------------- 1 file changed, 15 insertions(+), 64 deletions(-) diff --git a/setup.py b/setup.py index 3affbfc..fb41c83 100644 --- a/setup.py +++ b/setup.py @@ -8,20 +8,12 @@ Steps for deploying a new version: 1. Increase the version number 2. remove the old deployment under [dist] and [build] folder 3. run: python setup.py sdist - run: python setup.py bdist_wheel --universal 4. twine upload dist/* """ # Always prefer setuptools over distutils from setuptools import setup, find_packages -# Compile some parts -from setuptools.extension import Extension -from Cython.Build import cythonize - -extensions = [Extension("pyModeS.c_common", ["pyModeS/c_common.pyx"])] - - # To use a consistent encoding from codecs import open from os import path @@ -32,78 +24,37 @@ here = path.abspath(path.dirname(__file__)) with open(path.join(here, "README.rst"), encoding="utf-8") as f: long_description = f.read() -setup( + +details = dict( name="pyModeS", - # Versions should comply with PEP440. For a discussion on single-sourcing - # the version across setup.py and the project code, see - # https://packaging.python.org/en/latest/single_source_version.html - version="2.5", + version="2.8", description="Python Mode-S and ADS-B Decoder", long_description=long_description, - # The project's main homepage. url="https://github.com/junzis/pyModeS", - # Author details author="Junzi Sun", author_email="j.sun-1@tudelft.nl", - # Choose your license license="GNU GPL v3", - # See https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ - # How mature is this project? Common values are - # 3 - Alpha - # 4 - Beta - # 5 - Production/Stable "Development Status :: 4 - Beta", - # Indicate who your project is intended for "Intended Audience :: Developers", "Topic :: Software Development :: Libraries", - # Pick your license as you wish (should match "license" above) "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", - # Specify the Python versions you support here. In particular, ensure - # that you indicate whether you support Python 2, Python 3 or both. - # "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", ], - ext_modules=cythonize(extensions), - # What does your project relate to? keywords="Mode-S ADS-B EHS ELS Comm-B", - # You can just specify the packages manually here if your project is - # simple. Or you can use find_packages(). packages=find_packages(exclude=["contrib", "docs", "tests"]), - # Alternatively, if you want to distribute just a my_module.py, uncomment - # this: - # py_modules=["my_module"], - # List run-time dependencies here. These will be installed by pip when - # your project is installed. For an analysis of "install_requires" vs pip's - # requirements files see: - # https://packaging.python.org/en/latest/requirements.html install_requires=["numpy", "pyzmq", "pyrtlsdr"], - # List additional groups of dependencies here (e.g. development - # dependencies). You can install these using the following syntax, - # for example: - # $ pip install -e .[dev,test] - # extras_require={ - # 'dev': ['check-manifest'], - # 'test': ['coverage'], - # }, - # If there are data files included in your packages that need to be - # installed, specify them here. If using Python 2.6 or less, then these - # have to be included in MANIFEST.in as well. - # package_data={ - # 'sample': ['package_data.dat'], - # }, - # Although 'package_data' is the preferred approach, in some case you may - # need to place data files outside of your packages. See: - # http://docs.python.org/3.4/distutils/setupscript.html#installing-additional-files # noqa - # In this case, 'data_file' will be installed into '/my_data' - # data_files=[('my_data', ['data/data_file'])], - # To provide executable scripts, use entry points in preference to the - # "scripts" keyword. Entry points provide cross-platform support and allow - # pip to create the appropriate form of executable for the target platform. - # entry_points={ - # 'console_scripts': [ - # 'sample=sample:main', - # ], - # }, + package_data={"pyModeS": ["*.pyx", "*.pxd"]}, scripts=["pyModeS/streamer/modeslive"], ) + +try: + from setuptools.extension import Extension + from Cython.Build import cythonize + + extensions = [Extension("pyModeS.c_common", ["pyModeS/c_common.pyx"])] + + setup(**dict(details, ext_modules=cythonize(extensions))) + +except: + setup(**details)