From 4e7195094ea24cfcc536c1ea432966e6a7357032 Mon Sep 17 00:00:00 2001 From: Michele Fabbri Date: Tue, 24 May 2022 16:21:49 +0100 Subject: [PATCH] setup for pypi template --- __init__.py | 1 + setup.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/__init__.py b/__init__.py index e69de29..b3c06d4 100644 --- a/__init__.py +++ b/__init__.py @@ -0,0 +1 @@ +__version__ = "0.0.1" \ No newline at end of file diff --git a/setup.py b/setup.py index ef3f9ee..1e14487 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,56 @@ -from setuptools import setup, find_packages +import sys +from pathlib import Path + +from setuptools import find_packages, setup + +CURRENT_DIRECTORY = Path(__file__).parent.absolute() +CURRENT_PYTHON = sys.version_info[:2] +REQUIRED_PYTHON = (3, 8) +VER_ERR_MSG = """ +========================== +Unsupported Python version +========================== +This version of ibllib requires Python {}.{}, but you're trying to install it on Python {}.{}. +""" +if CURRENT_PYTHON < REQUIRED_PYTHON: + sys.stderr.write(VER_ERR_MSG.format(*REQUIRED_PYTHON + CURRENT_PYTHON)) + sys.exit(1) + +with open("README.md", "r") as f: + long_description = f.read() + +with open("requirements.txt") as f: + require = [x.strip() for x in f.readlines() if not x.startswith("git+")] + + +def read(rel_path): + here = Path(__file__).parent.absolute() + with open(here.joinpath(rel_path), "r") as fp: + return fp.read() + + +def get_version(rel_path): + for line in read(rel_path).splitlines(): + if line.startswith("__version__"): + delim = '"' if '"' in line else "'" + return line.split(delim)[1] + else: + raise RuntimeError("Unable to find version string.") -with open('requirements.txt') as f: - require = [x.strip() for x in f.readlines() if not x.startswith('git+')] setup( - name='iblapps', - version='0.1', - packages=find_packages(), + name="iblapps", + version=get_version("__init__.py"), + python_requires=">={}.{}".format(*REQUIRED_PYTHON), + description="IBL Applications", + license="MIT", + long_description=long_description, + long_description_content_type="text/markdown", + author="IBL Staff", + url="https://www.internationalbrainlab.com/", + packages=find_packages(exclude=["scratch"]), # same as name include_package_data=True, - install_requires=require + # external packages as dependencies + install_requires=require, + scripts=[], )