From 132c513d2814541312377e8e15cce1fe69924c98 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 05:30:14 +0000 Subject: automatic import of python-abraham3k --- .gitignore | 1 + python-abraham3k.spec | 778 ++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 780 insertions(+) create mode 100644 python-abraham3k.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..b2a220a 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/abraham3k-1.5.3.tar.gz diff --git a/python-abraham3k.spec b/python-abraham3k.spec new file mode 100644 index 0000000..cca40a1 --- /dev/null +++ b/python-abraham3k.spec @@ -0,0 +1,778 @@ +%global _empty_manifest_terminate_build 0 +Name: python-abraham3k +Version: 1.5.3 +Release: 1 +Summary: Algorithmically predict public sentiment on a topic using VADER sentiment analysis +License: MIT License +URL: https://github.com/ckinateder/abraham +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/0e/6e/2b5d1d29a680b1e73a3e8dd53bf0d8ed8e70521e3e83116a7244534a39c3/abraham3k-1.5.3.tar.gz +BuildArch: noarch + +Requires: python3-nltk +Requires: python3-newspaper3k +Requires: python3-GoogleNews +Requires: python3-pandas +Requires: python3-tqdm +Requires: python3-flair +Requires: python3-twint + +%description +# abraham + +![PyPI](https://img.shields.io/pypi/v/abraham3k) +![PyPI - Downloads](https://img.shields.io/pypi/dm/abraham3k) +![GitHub](https://img.shields.io/github/license/ckinateder/abraham) +![PyPI - Python Version](https://img.shields.io/pypi/pyversions/abraham3k) +![GitHub issues](https://img.shields.io/github/issues/ckinateder/abraham) +![GitHub last commit](https://img.shields.io/github/last-commit/ckinateder/abraham) + + +Algorithmically predict public sentiment on a topic using flair sentiment analysis. + +## Installation + +Installation is simple; just install via pip. + +```bash +$ pip3 install abraham3k +``` + +## Basic Usage + +The most simple way of use is to use the `_summary` functions. + +```python +from abraham3k.prophets import Abraham +from datetime import datetime, timedelta + +watched = ["amd", "tesla"] + +darthvader = Abraham( + news_source="newsapi", + newsapi_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + bearer_token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + weights={"desc": 0.33, "text": 0.33, "title": 0.34}, +) + +scores = darthvader.news_summary( + watched, + start_time=datetime.now() - timedelta(days=1) + end_time=datetime.now(), +) +print(scores) + +''' +{'amd': (56.2, 43.8), 'tesla': (40.4, 59.6)} # returns a tuple (positive count : negative count) +''' + +scores = darthvader.twitter_summary( + watched, + start_time=datetime.now() - timedelta(days=1) + end_time=datetime.now(), +) +print(scores) + +''' +{'amd': (57, 43), 'tesla': (42, 58)} # returns a tuple (positive count : negative count) +''' +``` + +You can run the function `news_sentiment` to get the raw scores for the news. This will return a nested dictionary with keys for each topic. + +```python +from abraham3k.prophets import Abraham +from datetime import datetime, timedelta + +darthvader = Abraham(news_source="google") + +scores = darthvader.news_sentiment(["amd", + "microsoft", + "tesla", + "theranos"], + ) +print(scores['tesla']['text']) + +''' + desc datetime probability sentiment +0 The latest PassMark ranking show AMD Intel swi... 2021-04-22T18:45:03Z 0.999276 NEGATIVE +1 The X570 chipset AMD offer advanced feature se... 2021-04-22T14:33:07Z 0.999649 POSITIVE +2 Apple released first developer beta macOS 11.4... 2021-04-21T19:10:02Z 0.990774 POSITIVE +3 Prepare terror PC. The release highly anticipa... 2021-04-22T18:00:02Z 0.839055 POSITIVE +4 Stressing ex x86 Canadian AI chip startup Tens... 2021-04-22T13:00:07Z 0.759295 POSITIVE +.. ... ... ... ... +95 Orthopaedic Medical Group Tampa Bay (OMG) exci... 2021-04-21T22:46:00Z 0.979155 POSITIVE +96 OtterBox appointed Leader, proudly 100% Austra... 2021-04-21T23:00:00Z 0.992927 POSITIVE +97 WATG, world's leading global destination hospi... 2021-04-21T22:52:00Z 0.993889 POSITIVE +98 AINQA Health Pte. Ltd. (Headquartered Singapor... 2021-04-22T02:30:00Z 0.641172 POSITIVE +99 Press Release Nokia publish first-quarter repo... 2021-04-22T05:00:00Z 0.894449 NEGATIVE +''' +``` + +The same way works for the twitter API (see below for integrating twitter usage). + +```python +from abraham3k.prophets import Abraham +from datetime import datetime, timedelta + +darthvader = Abraham(news_source="google") + +scores = darthvader.twitter_sentiment(["amd", + "microsoft", + "tesla", + "theranos"] + ) +``` + +You can also just use a one-off function to get the sentiment from both the news and twitter combined. + +```python +from abraham3k.prophets import Abraham +from datetime import datetime, timedelta + +darthvader = Abraham(news_source="google") + +scores = darthvader.summary(["tesla", "amd"], weights={"news": 0.5, "twitter": 0.5}) + +print(scores) + +''' +{'amd': (59.0, 41.0), 'tesla': (46.1, 53.9)} +''' +``` + +There's also a built-in function for building a dataset of past sentiments. This follows the same format as the non-interval functions (`twitter_summary_interval`, `news_summary_interval`, `summary_interval`). + +```python +from abraham3k.prophets import Abraham +from datetime import datetime, timedelta + +# this works best using the offical twitter api rather than twint +darthvader = Abraham(bearer_token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") + +scores = twitter_summary_interval( + self, + ["tesla", "amd"], + oldest=datetime.now() - timedelta(days=1), + newest=datetime.now(), + interval=timedelta(hours=12), + offset=timedelta(hours=1), + size=100, + ) + +print(scores) + +''' + timestamp positive negative lag +0 2021-05-08 11:46:57.033549 61.0 39.0 0 days 12:00:00 +1 2021-05-08 10:46:57.033549 54.0 46.0 0 days 12:00:00 +2 2021-05-08 09:46:57.033549 68.0 32.0 0 days 12:00:00 +3 2021-05-08 08:46:57.033549 78.0 22.0 0 days 12:00:00 +4 2021-05-08 07:46:57.033549 71.0 29.0 0 days 12:00:00 +5 2021-05-08 06:46:57.033549 74.0 26.0 0 days 12:00:00 +6 2021-05-08 05:46:57.033549 63.0 37.0 0 days 12:00:00 +7 2021-05-08 04:46:57.033549 74.0 26.0 0 days 12:00:00 +8 2021-05-08 03:46:57.033549 53.5 46.5 0 days 12:00:00 +9 2021-05-08 02:46:57.033549 51.0 49.0 0 days 12:00:00 +10 2021-05-08 01:46:57.033549 61.0 39.0 0 days 12:00:00 +11 2021-05-08 00:46:57.033549 46.9 53.1 0 days 12:00:00 +12 2021-05-07 23:46:57.033549 54.0 46.0 0 days 12:00:00 +13 2021-05-07 22:46:57.033549 52.0 48.0 0 days 12:00:00 +14 2021-05-07 21:46:57.033549 58.0 42.0 0 days 12:00:00 +15 2021-05-07 20:46:57.033549 46.0 54.0 0 days 12:00:00 +16 2021-05-07 19:46:57.033549 40.0 60.0 0 days 12:00:00 +17 2021-05-07 18:46:57.033549 40.0 60.0 0 days 12:00:00 +18 2021-05-07 17:46:57.033549 51.0 49.0 0 days 12:00:00 +19 2021-05-07 16:46:57.033549 21.0 79.0 0 days 12:00:00 +20 2021-05-07 15:46:57.033549 52.5 47.5 0 days 12:00:00 +21 2021-05-07 14:46:57.033549 36.0 64.0 0 days 12:00:00 +22 2021-05-07 13:46:57.033549 42.0 58.0 0 days 12:00:00 +23 2021-05-07 12:46:57.033549 40.0 60.0 0 days 12:00:00 +24 2021-05-07 11:46:57.033549 32.0 68.0 0 days 12:00:00 +''' +``` + +Google trends is also in the process of being added. Currently, there's support for interest over time. You can access it like this. + +```python +from abraham3k.prophets import Abraham +from datetime import datetime, timedelta + +darthvader = Abraham() + +results = darthvader.interest_interval( + ["BTC USD", "buy bitcoin"], + start_time=(datetime.now() - timedelta(days=52)), + end_time=datetime.now()) + +print(results) + +''' + BTC USD buy bitcoin +date +2021-03-24 62 18 +2021-03-25 68 16 +2021-03-26 58 12 +2021-03-27 47 15 +2021-03-28 48 15 +... +2021-05-08 48 27 +2021-05-09 38 25 +2021-05-10 43 20 +2021-05-11 44 24 +2021-05-12 38 20 +''' +``` + +Numbers represent search interest relative to the highest point on the chart for the given region and time. A value of 100 is the peak popularity for the term. A value of 50 means that the term is half as popular. A score of 0 means there was not enough data for this term. + +## Changing News Sources + +`Abraham` supports two news sources: [Google News](https://news.google.com/) and [NewsAPI](https://newsapi.org/). Default is [Google News](https://news.google.com/), but you can change it to [NewsAPI](https://newsapi.org/) by passing `Abraham(news_source='newsapi', api_key='> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-abraham3k -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 1.5.3-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..1ffb3a2 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +785a5016c1a4fe588cb36092eb97c29d abraham3k-1.5.3.tar.gz -- cgit v1.2.3