-
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathDockerfile-talib_alpine
35 lines (30 loc) · 1.37 KB
/
Dockerfile-talib_alpine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FROM python:3.11.3-alpine as python-builder
ENV PYTHON_VERSION 3.11.6-r0
ENV PYTHONUNBUFFERED 1
USER root
WORKDIR /tmp
RUN apk add --no-cache python3=${PYTHON_VERSION} \
&& apk add --no-cache --virtual .build-deps \
alpine-sdk \
python3-dev=${PYTHON_VERSION} \
curl \
&& cd /tmp \
&& curl -L -O http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz \
&& tar -xzf ta-lib-0.4.0-src.tar.gz \
&& cd ta-lib/ \
&& wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' -O config.guess \
&& wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' -O config.sub \
&& sed -i 's/^#define TA_IS_ZERO(v).*$/#define TA_IS_ZERO(v) (((-0.000000000000000001)<v)\&\&(v<0.000000000000000001))/' src/ta_func/ta_utility.h \
&& sed -i 's/^#define TA_IS_ZERO_OR_NEG(v).*$/#define TA_IS_ZERO_OR_NEG(v) (v<0.000000000000000001)/' src/ta_func/ta_utility.h \
&& ./configure --prefix=/usr \
&& make \
&& make install \
&& pip3 install setuptools numpy \
&& pip3 install ta-lib \
&& apk del .build-deps \
&& rm -rf /root/.cache \
/tmp/* \
/var/cache/apk/* \
/var/lib/apk/lists/*
CMD ["python3"]
RUN python3 -c 'import numpy, talib; close = numpy.random.random(100); output = talib.SMA(close); print(output)'