From 674b8c7c99e3d9c5139f4c635a7ddfdedcecaa3e Mon Sep 17 00:00:00 2001
From: Redmar van den Berg <RedmarvandenBerg@lumc.nl>
Date: Wed, 4 Dec 2019 10:12:34 +0100
Subject: [PATCH] Fix packaging

---
 MANIFEST.in                          |  1 -
 setup.cfg                            |  3 ++
 setup.py                             | 52 +++++-----------------------
 src/vtools/__init__.py               |  0
 {vtools => src/vtools}/cli.py        |  0
 {vtools => src/vtools}/evaluate.py   |  0
 {vtools => src/vtools}/filter.py     |  0
 {vtools => src/vtools}/gcoverage.py  |  0
 {vtools => src/vtools}/optimized.pyx |  0
 {vtools => src/vtools}/stats.py      |  0
 vtools/__init__.py                   | 10 ------
 11 files changed, 12 insertions(+), 54 deletions(-)
 delete mode 100644 MANIFEST.in
 create mode 100644 setup.cfg
 create mode 100644 src/vtools/__init__.py
 rename {vtools => src/vtools}/cli.py (100%)
 rename {vtools => src/vtools}/evaluate.py (100%)
 rename {vtools => src/vtools}/filter.py (100%)
 rename {vtools => src/vtools}/gcoverage.py (100%)
 rename {vtools => src/vtools}/optimized.pyx (100%)
 rename {vtools => src/vtools}/stats.py (100%)
 delete mode 100644 vtools/__init__.py

diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index 3b7a5d1..0000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1 +0,0 @@
-include vtools/*.pyx
\ No newline at end of file
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..e8fb215
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,3 @@
+[metadata]
+license_file=LICENSE
+
diff --git a/setup.py b/setup.py
index 4892ea2..df61d13 100644
--- a/setup.py
+++ b/setup.py
@@ -7,69 +7,35 @@ setup.py
 :license: MIT
 """
 from os.path import abspath, dirname, join
-import sys
-import pkg_resources
-import subprocess
 
-from setuptools import setup, find_packages
-
-
-# Temporarily install dependencies required by setup.py before trying to
-# import them. From https://bitbucket.org/dholth/setup-requires
-sys.path[0:0] = ['setup-requires']
-pkg_resources.working_set.add_entry('setup-requires')
-
-
-def missing_requirements(specifiers):
-    for specifier in specifiers:
-        try:
-            pkg_resources.require(specifier)
-        except pkg_resources.DistributionNotFound:
-            yield specifier
-
-
-def install_requirements(specifiers):
-    to_install = list(specifiers)
-    if to_install:
-        cmd = [sys.executable, "-m", "pip", "install",
-               "-t", "setup-requires"] + to_install
-        subprocess.call(cmd)
-
-
-requires = ['cython', 'numpy']
-install_requirements(missing_requirements(requires))
-
-
-from Cython.Build import cythonize
-import numpy as np
+from setuptools import setup, find_packages, Extension
 
 readme_file = join(abspath(dirname(__file__)), "README.md")
 with open(readme_file) as desc_handle:
     long_desc = desc_handle.read()
 
-# create extensions and add numpy includes to all of them.
-cython_extensions = cythonize("vtools/*.pyx")
-for ext in cython_extensions:
-    ext.include_dirs.append(np.get_include())
-
 setup(
     name="v-tools",
-    version="1.0.0",
+    version="1.0.0-dev",
     description="Various tools operating over VCF files",
     long_description=long_desc,
     author="Sander Bollen",
     author_email="a.h.b.bollen@lumc.nl",
     url="https://git.lumc.nl/klinische-genetica/capture-lumc/vtools",
     license="MIT",
-    packages=find_packages(),
+    package_dir={"": "src"},
+    packages=find_packages("src"),
+    package_data={
+        'vtools': ['vtools/*.pyx']
+    },
     python_requires=">=3.6",
     zip_safe=False,
     include_package_data=True,
+    setup_requires=["cython"],
     install_requires=[
         "click",
         "cyvcf2",
         "numpy",
-        "cython",
         "tqdm"
     ],
     entry_points={
@@ -87,5 +53,5 @@ setup(
         "Programming Language :: Python :: 3.7",
         "Topic :: Scientific/Engineering :: Bio-Informatics"
     ],
-    ext_modules=cython_extensions
+    ext_modules=[Extension("vtools.optimized", ["src/vtools/optimized.pyx"])]
 )
diff --git a/src/vtools/__init__.py b/src/vtools/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/vtools/cli.py b/src/vtools/cli.py
similarity index 100%
rename from vtools/cli.py
rename to src/vtools/cli.py
diff --git a/vtools/evaluate.py b/src/vtools/evaluate.py
similarity index 100%
rename from vtools/evaluate.py
rename to src/vtools/evaluate.py
diff --git a/vtools/filter.py b/src/vtools/filter.py
similarity index 100%
rename from vtools/filter.py
rename to src/vtools/filter.py
diff --git a/vtools/gcoverage.py b/src/vtools/gcoverage.py
similarity index 100%
rename from vtools/gcoverage.py
rename to src/vtools/gcoverage.py
diff --git a/vtools/optimized.pyx b/src/vtools/optimized.pyx
similarity index 100%
rename from vtools/optimized.pyx
rename to src/vtools/optimized.pyx
diff --git a/vtools/stats.py b/src/vtools/stats.py
similarity index 100%
rename from vtools/stats.py
rename to src/vtools/stats.py
diff --git a/vtools/__init__.py b/vtools/__init__.py
deleted file mode 100644
index fcd826d..0000000
--- a/vtools/__init__.py
+++ /dev/null
@@ -1,10 +0,0 @@
-"""
-vtools
-~~~~~~
-
-:copyright: (c) 2018 Sander Bollen
-:copyright: (c) 2018 Leiden University Medical Center
-:license: MIT
-"""
-
-
-- 
GitLab