git: b63fed6cf6b8 - main - finance/py-TA-Lib: New port: Python wrapper for TA-LIB based on Cython

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 26 Dec 2022 06:13:22 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b63fed6cf6b8338e6fa2df9c864b67d5b3504351

commit b63fed6cf6b8338e6fa2df9c864b67d5b3504351
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-12-26 06:04:20 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-12-26 06:13:14 +0000

    finance/py-TA-Lib: New port: Python wrapper for TA-LIB based on Cython
---
 finance/Makefile            |  1 +
 finance/py-TA-Lib/Makefile  | 28 ++++++++++++++++++++++++++++
 finance/py-TA-Lib/distinfo  |  3 +++
 finance/py-TA-Lib/pkg-descr |  8 ++++++++
 4 files changed, 40 insertions(+)

diff --git a/finance/Makefile b/finance/Makefile
index 6935f53bd964..706d444c0c6f 100644
--- a/finance/Makefile
+++ b/finance/Makefile
@@ -96,6 +96,7 @@
     SUBDIR += pear_Payment_DTA
     SUBDIR += prestashop
     SUBDIR += py-Nasdaq-Data-Link
+    SUBDIR += py-TA-Lib
     SUBDIR += py-backtrader
     SUBDIR += py-bitcoin
     SUBDIR += py-ebaysdk
diff --git a/finance/py-TA-Lib/Makefile b/finance/py-TA-Lib/Makefile
new file mode 100644
index 000000000000..daedb2d94f4d
--- /dev/null
+++ b/finance/py-TA-Lib/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	TA-Lib # provides Python namespace 'talib'
+DISTVERSION=	0.4.25
+CATEGORIES=	finance python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Python wrapper for TA-LIB based on Cython
+WWW=		https://mrjbq7.github.io/ta-lib/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYNUMPY}
+LIB_DEPENDS=	libta_lib.so:devel/ta-lib
+RUN_DEPENDS=	${PYNUMPY}
+#TEST_DEPENDS=	misc/py-polars - fails to build, see https://github.com/rust-lang/hashbrown/issues/377
+
+USES=		python
+USE_PYTHON=	distutils cython autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+TEST_WRKSRC=	${WRKSRC}/talib
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/talib/_ta_lib${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/finance/py-TA-Lib/distinfo b/finance/py-TA-Lib/distinfo
new file mode 100644
index 000000000000..f3a5ea859701
--- /dev/null
+++ b/finance/py-TA-Lib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1672030248
+SHA256 (TA-Lib-0.4.25.tar.gz) = 6c51c09fcc138367483bcce6db81329ae6851e6ca1a8ac1e50732e443d15602b
+SIZE (TA-Lib-0.4.25.tar.gz) = 271960
diff --git a/finance/py-TA-Lib/pkg-descr b/finance/py-TA-Lib/pkg-descr
new file mode 100644
index 000000000000..464200212852
--- /dev/null
+++ b/finance/py-TA-Lib/pkg-descr
@@ -0,0 +1,8 @@
+Python-TA-Lib is a Python wrapper for TA-LIB based on Cython instead of SWIG.
+
+TA-Lib is widely used by trading software developers requiring to perform
+technical analysis of financial market data.
+* Includes 150+ indicators such as ADX, MACD, RSI, Stochastic, Bollinger Bands,
+  etc.
+* Candlestick pattern recognition
+* Open-source API for C/C++, Java, Perl, Python and 100% Managed .NET