Skip to content

Commit 176c1fe

Browse files
committed
still need to include numpy headers
1 parent ef7b272 commit 176c1fe

File tree

1 file changed

+28
-13
lines changed

1 file changed

+28
-13
lines changed

setup.py

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
join,
2525
)
2626
from distutils.version import StrictVersion
27+
from functools import partial
2728
from setuptools import (
2829
Extension,
2930
find_packages,
@@ -32,45 +33,59 @@
3233

3334
import versioneer
3435

36+
try:
37+
import Cython
38+
except ImportError:
39+
raise Exception("Install Cython before zipline.")
40+
41+
try:
42+
import numpy as np
43+
except ImportError:
44+
raise Exception("Install numpy before zipline.")
45+
46+
47+
NumpyExtension = partial(Extension, include_dirs=[np.get_include()])
48+
3549

3650
def window_specialization(typename):
3751
"""Make an extension for an AdjustedArrayWindow specialization."""
38-
return Extension(
52+
return NumpyExtension(
3953
'zipline.lib._{name}window'.format(name=typename),
4054
['zipline/lib/_{name}window.pyx'.format(name=typename)],
4155
depends=['zipline/lib/_windowtemplate.pxi'],
4256
)
4357

4458

4559
ext_modules = [
46-
Extension('zipline.assets._assets', ['zipline/assets/_assets.pyx']),
47-
Extension('zipline.assets.continuous_futures',
60+
NumpyExtension('zipline.assets._assets', ['zipline/assets/_assets.pyx']),
61+
NumpyExtension('zipline.assets.continuous_futures',
4862
['zipline/assets/continuous_futures.pyx']),
49-
Extension('zipline.lib.adjustment', ['zipline/lib/adjustment.pyx']),
50-
Extension('zipline.lib._factorize', ['zipline/lib/_factorize.pyx']),
63+
NumpyExtension('zipline.lib.adjustment', ['zipline/lib/adjustment.pyx']),
64+
NumpyExtension('zipline.lib._factorize', ['zipline/lib/_factorize.pyx']),
5165
window_specialization('float64'),
5266
window_specialization('int64'),
5367
window_specialization('int64'),
5468
window_specialization('uint8'),
5569
window_specialization('label'),
56-
Extension('zipline.lib.rank', ['zipline/lib/rank.pyx']),
57-
Extension('zipline.data._equities', ['zipline/data/_equities.pyx']),
58-
Extension('zipline.data._adjustments', ['zipline/data/_adjustments.pyx']),
70+
NumpyExtension('zipline.lib.rank', ['zipline/lib/rank.pyx']),
71+
NumpyExtension('zipline.data._equities', ['zipline/data/_equities.pyx']),
72+
NumpyExtension('zipline.data._adjustments',
73+
['zipline/data/_adjustments.pyx']),
5974
Extension('zipline._protocol', ['zipline/_protocol.pyx']),
60-
Extension('zipline.gens.sim_engine', ['zipline/gens/sim_engine.pyx']),
61-
Extension(
75+
NumpyExtension('zipline.gens.sim_engine', ['zipline/gens/sim_engine.pyx']),
76+
NumpyExtension(
6277
'zipline.data._minute_bar_internal',
6378
['zipline/data/_minute_bar_internal.pyx']
6479
),
65-
Extension(
80+
NumpyExtension(
6681
'zipline.utils.calendars._calendar_helpers',
6782
['zipline/utils/calendars/_calendar_helpers.pyx']
6883
),
69-
Extension(
84+
NumpyExtension(
7085
'zipline.data._resample',
7186
['zipline/data/_resample.pyx']
7287
),
73-
Extension(
88+
NumpyExtension(
7489
'zipline.pipeline.loaders.blaze._core',
7590
['zipline/pipeline/loaders/blaze/_core.pyx'],
7691
depends=['zipline/lib/adjustment.pxd'],

0 commit comments

Comments
 (0)