aboutsummaryrefslogtreecommitdiff
path: root/new_python/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'new_python/setup.py')
-rw-r--r--new_python/setup.py103
1 files changed, 103 insertions, 0 deletions
diff --git a/new_python/setup.py b/new_python/setup.py
new file mode 100644
index 0000000..4c37187
--- /dev/null
+++ b/new_python/setup.py
@@ -0,0 +1,103 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+Setup file for SyncRNG
+
+Author: Gertjan van den Burg
+Date: Oct. 12, 2016
+"""
+
+import io
+import os
+
+from setuptools import find_packages, setup
+from distutils.extension import Extension
+
+# Package meta-data.
+AUTHOR = "Gertjan van den Burg"
+DESCRIPTION = "Generate the same random numbers in R and Python"
+EMAIL = "gertjanvandenburg@gmail.com"
+LICENSE = "GPLv2"
+LICENSE_TROVE = "License :: OSI Approved :: GNU General Public License v2 (GPLv2)"
+NAME = "SyncRNG"
+REQUIRES_PYTHON = ">=3.6.0"
+URL = "https://github.com/GjjvdBurg/SyncRNG"
+VERSION = None
+
+# What packages are required for this module to be executed?
+REQUIRED = []
+
+docs_require = []
+test_require = []
+dev_require = ["green"]
+
+# What packages are optional?
+EXTRAS = {
+ "docs": docs_require,
+ "test": test_require,
+ "dev": docs_require + test_require + dev_require,
+}
+
+# The rest you shouldn't have to touch too much :)
+# ------------------------------------------------
+# Except, perhaps the License and Trove Classifiers!
+# If you do change the License, remember to change the Trove Classifier for that!
+
+here = os.path.abspath(os.path.dirname(__file__))
+
+# Import the README and use it as the long-description.
+# Note: this will only work if 'README.md' is present in your MANIFEST.in file!
+try:
+ with io.open(os.path.join(here, "README.md"), encoding="utf-8") as f:
+ long_description = "\n" + f.read()
+except FileNotFoundError:
+ long_description = DESCRIPTION
+
+# Load the package's __version__.py module as a dictionary.
+about = {}
+if not VERSION:
+ project_slug = NAME.replace("-", "_").replace(" ", "_")
+ with open(os.path.join(here, project_slug, "__version__.py")) as f:
+ exec(f.read(), about)
+else:
+ about["__version__"] = VERSION
+
+# Where the magic happens:
+setup(
+ name=NAME,
+ version=about["__version__"],
+ description=DESCRIPTION,
+ long_description=long_description,
+ long_description_content_type="text/markdown",
+ author=AUTHOR,
+ author_email=EMAIL,
+ python_requires=REQUIRES_PYTHON,
+ url=URL,
+ packages=find_packages(
+ exclude=["tests", "*.tests", "*.tests.*", "tests.*"]
+ ),
+ install_requires=REQUIRED,
+ extras_require=EXTRAS,
+ include_package_data=True,
+ license=LICENSE,
+ ext_modules=[
+ Extension(
+ "_syncrng",
+ define_macros=[('TARGETPYTHON', '1')],
+ sources=["src/_syncrng.c"],
+ extra_compile_args=['-g']
+ )
+ ],
+ classifiers=[
+ # Trove classifiers
+ # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
+ LICENSE_TROVE,
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: Science/Research',
+ 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Topic :: Scientific/Engineering :: Mathematics'
+ ],
+)