2016-03-17 06:11:15 +08:00
|
|
|
"""A setuptools based setup module.
|
|
|
|
|
|
|
|
See:
|
|
|
|
https://packaging.python.org/en/latest/distributing.html
|
|
|
|
https://github.com/pypa/sampleproject
|
2017-03-22 01:14:30 +08:00
|
|
|
|
2019-10-31 20:36:26 +08:00
|
|
|
Steps for deploying a new version:
|
2017-03-22 01:14:30 +08:00
|
|
|
1. Increase the version number
|
2019-09-25 03:26:35 +08:00
|
|
|
2. remove the old deployment under [dist] and [build] folder
|
2017-03-22 01:14:30 +08:00
|
|
|
3. run: python setup.py sdist
|
|
|
|
run: python setup.py bdist_wheel --universal
|
|
|
|
4. twine upload dist/*
|
2016-03-17 06:11:15 +08:00
|
|
|
"""
|
|
|
|
|
|
|
|
# Always prefer setuptools over distutils
|
|
|
|
from setuptools import setup, find_packages
|
2019-08-05 22:37:30 +08:00
|
|
|
|
2020-02-26 07:16:48 +08:00
|
|
|
# Compile some parts
|
|
|
|
from setuptools.extension import Extension
|
|
|
|
from Cython.Build import cythonize
|
|
|
|
|
2020-05-04 05:27:17 +08:00
|
|
|
extensions = [Extension("pyModeS.c_common", ["pyModeS/c_common.pyx"])]
|
2020-02-26 07:16:48 +08:00
|
|
|
|
|
|
|
|
2016-03-17 06:11:15 +08:00
|
|
|
# To use a consistent encoding
|
|
|
|
from codecs import open
|
|
|
|
from os import path
|
|
|
|
|
|
|
|
here = path.abspath(path.dirname(__file__))
|
|
|
|
|
|
|
|
# Get the long description from the README file
|
2019-08-05 22:37:30 +08:00
|
|
|
with open(path.join(here, "README.rst"), encoding="utf-8") as f:
|
2016-03-17 06:11:15 +08:00
|
|
|
long_description = f.read()
|
|
|
|
|
|
|
|
setup(
|
2019-08-05 22:37:30 +08:00
|
|
|
name="pyModeS",
|
2016-03-17 06:11:15 +08:00
|
|
|
# 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
|
2020-02-14 17:47:34 +08:00
|
|
|
version="2.5",
|
2019-08-05 22:37:30 +08:00
|
|
|
description="Python Mode-S and ADS-B Decoder",
|
2016-03-17 06:11:15 +08:00
|
|
|
long_description=long_description,
|
|
|
|
# The project's main homepage.
|
2019-08-05 22:37:30 +08:00
|
|
|
url="https://github.com/junzis/pyModeS",
|
2016-03-17 06:11:15 +08:00
|
|
|
# Author details
|
2019-08-05 22:37:30 +08:00
|
|
|
author="Junzi Sun",
|
|
|
|
author_email="j.sun-1@tudelft.nl",
|
2016-03-17 06:11:15 +08:00
|
|
|
# Choose your license
|
2019-08-05 22:37:30 +08:00
|
|
|
license="GNU GPL v3",
|
2016-03-17 06:11:15 +08:00
|
|
|
# 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
|
2019-08-05 22:37:30 +08:00
|
|
|
"Development Status :: 4 - Beta",
|
2016-03-17 06:11:15 +08:00
|
|
|
# Indicate who your project is intended for
|
2019-08-05 22:37:30 +08:00
|
|
|
"Intended Audience :: Developers",
|
2019-10-01 05:50:07 +08:00
|
|
|
"Topic :: Software Development :: Libraries",
|
2016-03-17 06:11:15 +08:00
|
|
|
# Pick your license as you wish (should match "license" above)
|
2019-08-05 22:37:30 +08:00
|
|
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
2016-03-17 06:11:15 +08:00
|
|
|
# Specify the Python versions you support here. In particular, ensure
|
|
|
|
# that you indicate whether you support Python 2, Python 3 or both.
|
2020-05-03 01:32:54 +08:00
|
|
|
# "Programming Language :: Python :: 2",
|
2019-08-05 22:37:30 +08:00
|
|
|
"Programming Language :: Python :: 3",
|
2016-03-17 06:11:15 +08:00
|
|
|
],
|
2020-02-26 07:16:48 +08:00
|
|
|
ext_modules=cythonize(extensions),
|
2016-03-17 06:11:15 +08:00
|
|
|
# What does your project relate to?
|
2019-10-01 05:50:07 +08:00
|
|
|
keywords="Mode-S ADS-B EHS ELS Comm-B",
|
2016-03-17 06:11:15 +08:00
|
|
|
# You can just specify the packages manually here if your project is
|
|
|
|
# simple. Or you can use find_packages().
|
2019-08-05 22:37:30 +08:00
|
|
|
packages=find_packages(exclude=["contrib", "docs", "tests"]),
|
2016-03-17 06:11:15 +08:00
|
|
|
# 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
|
2020-05-03 01:32:54 +08:00
|
|
|
install_requires=["numpy", "pyzmq", "pyrtlsdr"],
|
2016-03-17 06:11:15 +08:00
|
|
|
# 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 '<sys.prefix>/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',
|
|
|
|
# ],
|
|
|
|
# },
|
2019-08-05 22:37:30 +08:00
|
|
|
scripts=["pyModeS/streamer/modeslive"],
|
2016-03-17 06:11:15 +08:00
|
|
|
)
|