summaryrefslogtreecommitdiff
path: root/python-lnmarketbot.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-31 03:35:00 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-31 03:35:00 +0000
commit30fe6875bb0ad523512ccdc3cd2a0ae0e834a973 (patch)
tree16dc5c9ccf945004240900ba7e612bf576801aaf /python-lnmarketbot.spec
parent8cf15cee34f5aefac0f36e5565ec902ce438d76c (diff)
automatic import of python-lnmarketbot
Diffstat (limited to 'python-lnmarketbot.spec')
-rw-r--r--python-lnmarketbot.spec225
1 files changed, 225 insertions, 0 deletions
diff --git a/python-lnmarketbot.spec b/python-lnmarketbot.spec
new file mode 100644
index 0000000..426de6f
--- /dev/null
+++ b/python-lnmarketbot.spec
@@ -0,0 +1,225 @@
+%global _empty_manifest_terminate_build 0
+Name: python-LNMarketBot
+Version: 0.3.6
+Release: 1
+Summary: Trading Bot for LNMarkets
+License: MIT
+URL: https://github.com/DivyanshuBagga/LNMarketBot
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/50/be/bd8cbf09f2e353dbb36fe37da95228f3cd6257358c2be3d4e64632aba36e/LNMarketBot-0.3.6.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-krakenex
+Requires: python3-pykrakenapi
+Requires: python3-LNMarkets
+Requires: python3-notifiers
+Requires: python3-nest-asyncio
+
+%description
+# LNMarkets Trading Bot
+
+A trading bot for [LNMarkets](https://lnmarkets.com/), using the [LNMarkets API](https://pypi.org/project/LNMarkets/) in Python.
+
+To install: `pip install LNMarketBot`
+
+An abstract class `LNMarketBot.Strategy` is provided, which must be extended with implementation of `LNMarketBot.Strategy.init()`, `LNMarketBot.Strategy.execute()`, and `LNMarketBot.Strategy.stop()` methods. The `init()` method will be called only once, before the bot starts processing price information, while `execute()` is called repetedly, for every new price bar that bot recieves. Any parameters required by the strategy, can be passed during instantiation, and will be accessible using `LNMarketBot.Strategy.params` dictionary. Example strategies are provided in LNMarketBot/Examples/ on github.
+
+The price information is obtained from Kraken, using [Pykrakenapi](https://github.com/dominiktraxl/pykrakenapi), as the methods for same are currently not working for LNMarkets API. This may result in price discrepancy between strategy and broker execution. The price bars are of 1 minute duration, and at present, only supplied for last 12 hours. You can also provide csv files containing price information for backtesting (see examples). A strategy can consume data from multiple data feeds, and bot can process multiple strategies simultaneously.
+
+ Bot interacts with LNMarkets through `LNMarketBot.LNMBroker` class, which provides methods for buying/selling, as well as properties for viewing opne/closed positions, balance, etc. If backtesting, the strategy connects to `LNMarketBot.BacktestBroker` class instead.
+
+ You can enable Telegram or Pushover notifications through `LNMarketBot.Notifier`, which provides methods enableTelegram(chatID, token) and enablePushover(userkey, APIkey) for the same. A notifier instance is added to broker on instantiation and access via `broker.notifier` and all position updates through broker will automatically be notified. If you want to disable the automatic notification, instantiate broker with `silent=False`.
+
+Example Usage:
+```python
+from LNMarketBot import Strategy, LNMBroker, KrakenData, Bot
+
+LNMToken = '<YOUR TOKEN>'
+broker = LNMBroker(LNMToken, <Starting Balance>)
+telegramToken = '<Telegram Bot Token>'
+chatId = <Your Chat Id with Telegram Bot>
+broker.notifier.enableTelegram(chatID = chatId, token = telegramToken)
+
+#LowestPriceStrat is provided in LNMarketBot/Examples/ on git
+strategy = LowestPriceStrat(
+ broker=broker,
+ BollingerPeriod=20, Deviation=2.0,
+ AveragePeriod=240,
+ StopMargin=0.02,
+ BuyLimit=1.05,
+ TradeDistance=0.1,
+ RiskPercent=0.01,
+ TrailPercent=0.1,
+ CashLimit=1.0e06,
+)
+strategy.addData(KrakenData())
+
+bot = Bot()
+bot.addStrategy(strategy)
+bot.run()
+```
+
+Note:
+* LNMarket token needs only 'positions' scope. This ensures leaking it cannot result in loss of funds through withdrawal.
+* This project is under development and not well tested. You are advised to review the code if you plan to use it for trading.
+* The author is not responsible for any loss that may result from use of this project.
+
+
+
+
+%package -n python3-LNMarketBot
+Summary: Trading Bot for LNMarkets
+Provides: python-LNMarketBot
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-LNMarketBot
+# LNMarkets Trading Bot
+
+A trading bot for [LNMarkets](https://lnmarkets.com/), using the [LNMarkets API](https://pypi.org/project/LNMarkets/) in Python.
+
+To install: `pip install LNMarketBot`
+
+An abstract class `LNMarketBot.Strategy` is provided, which must be extended with implementation of `LNMarketBot.Strategy.init()`, `LNMarketBot.Strategy.execute()`, and `LNMarketBot.Strategy.stop()` methods. The `init()` method will be called only once, before the bot starts processing price information, while `execute()` is called repetedly, for every new price bar that bot recieves. Any parameters required by the strategy, can be passed during instantiation, and will be accessible using `LNMarketBot.Strategy.params` dictionary. Example strategies are provided in LNMarketBot/Examples/ on github.
+
+The price information is obtained from Kraken, using [Pykrakenapi](https://github.com/dominiktraxl/pykrakenapi), as the methods for same are currently not working for LNMarkets API. This may result in price discrepancy between strategy and broker execution. The price bars are of 1 minute duration, and at present, only supplied for last 12 hours. You can also provide csv files containing price information for backtesting (see examples). A strategy can consume data from multiple data feeds, and bot can process multiple strategies simultaneously.
+
+ Bot interacts with LNMarkets through `LNMarketBot.LNMBroker` class, which provides methods for buying/selling, as well as properties for viewing opne/closed positions, balance, etc. If backtesting, the strategy connects to `LNMarketBot.BacktestBroker` class instead.
+
+ You can enable Telegram or Pushover notifications through `LNMarketBot.Notifier`, which provides methods enableTelegram(chatID, token) and enablePushover(userkey, APIkey) for the same. A notifier instance is added to broker on instantiation and access via `broker.notifier` and all position updates through broker will automatically be notified. If you want to disable the automatic notification, instantiate broker with `silent=False`.
+
+Example Usage:
+```python
+from LNMarketBot import Strategy, LNMBroker, KrakenData, Bot
+
+LNMToken = '<YOUR TOKEN>'
+broker = LNMBroker(LNMToken, <Starting Balance>)
+telegramToken = '<Telegram Bot Token>'
+chatId = <Your Chat Id with Telegram Bot>
+broker.notifier.enableTelegram(chatID = chatId, token = telegramToken)
+
+#LowestPriceStrat is provided in LNMarketBot/Examples/ on git
+strategy = LowestPriceStrat(
+ broker=broker,
+ BollingerPeriod=20, Deviation=2.0,
+ AveragePeriod=240,
+ StopMargin=0.02,
+ BuyLimit=1.05,
+ TradeDistance=0.1,
+ RiskPercent=0.01,
+ TrailPercent=0.1,
+ CashLimit=1.0e06,
+)
+strategy.addData(KrakenData())
+
+bot = Bot()
+bot.addStrategy(strategy)
+bot.run()
+```
+
+Note:
+* LNMarket token needs only 'positions' scope. This ensures leaking it cannot result in loss of funds through withdrawal.
+* This project is under development and not well tested. You are advised to review the code if you plan to use it for trading.
+* The author is not responsible for any loss that may result from use of this project.
+
+
+
+
+%package help
+Summary: Development documents and examples for LNMarketBot
+Provides: python3-LNMarketBot-doc
+%description help
+# LNMarkets Trading Bot
+
+A trading bot for [LNMarkets](https://lnmarkets.com/), using the [LNMarkets API](https://pypi.org/project/LNMarkets/) in Python.
+
+To install: `pip install LNMarketBot`
+
+An abstract class `LNMarketBot.Strategy` is provided, which must be extended with implementation of `LNMarketBot.Strategy.init()`, `LNMarketBot.Strategy.execute()`, and `LNMarketBot.Strategy.stop()` methods. The `init()` method will be called only once, before the bot starts processing price information, while `execute()` is called repetedly, for every new price bar that bot recieves. Any parameters required by the strategy, can be passed during instantiation, and will be accessible using `LNMarketBot.Strategy.params` dictionary. Example strategies are provided in LNMarketBot/Examples/ on github.
+
+The price information is obtained from Kraken, using [Pykrakenapi](https://github.com/dominiktraxl/pykrakenapi), as the methods for same are currently not working for LNMarkets API. This may result in price discrepancy between strategy and broker execution. The price bars are of 1 minute duration, and at present, only supplied for last 12 hours. You can also provide csv files containing price information for backtesting (see examples). A strategy can consume data from multiple data feeds, and bot can process multiple strategies simultaneously.
+
+ Bot interacts with LNMarkets through `LNMarketBot.LNMBroker` class, which provides methods for buying/selling, as well as properties for viewing opne/closed positions, balance, etc. If backtesting, the strategy connects to `LNMarketBot.BacktestBroker` class instead.
+
+ You can enable Telegram or Pushover notifications through `LNMarketBot.Notifier`, which provides methods enableTelegram(chatID, token) and enablePushover(userkey, APIkey) for the same. A notifier instance is added to broker on instantiation and access via `broker.notifier` and all position updates through broker will automatically be notified. If you want to disable the automatic notification, instantiate broker with `silent=False`.
+
+Example Usage:
+```python
+from LNMarketBot import Strategy, LNMBroker, KrakenData, Bot
+
+LNMToken = '<YOUR TOKEN>'
+broker = LNMBroker(LNMToken, <Starting Balance>)
+telegramToken = '<Telegram Bot Token>'
+chatId = <Your Chat Id with Telegram Bot>
+broker.notifier.enableTelegram(chatID = chatId, token = telegramToken)
+
+#LowestPriceStrat is provided in LNMarketBot/Examples/ on git
+strategy = LowestPriceStrat(
+ broker=broker,
+ BollingerPeriod=20, Deviation=2.0,
+ AveragePeriod=240,
+ StopMargin=0.02,
+ BuyLimit=1.05,
+ TradeDistance=0.1,
+ RiskPercent=0.01,
+ TrailPercent=0.1,
+ CashLimit=1.0e06,
+)
+strategy.addData(KrakenData())
+
+bot = Bot()
+bot.addStrategy(strategy)
+bot.run()
+```
+
+Note:
+* LNMarket token needs only 'positions' scope. This ensures leaking it cannot result in loss of funds through withdrawal.
+* This project is under development and not well tested. You are advised to review the code if you plan to use it for trading.
+* The author is not responsible for any loss that may result from use of this project.
+
+
+
+
+%prep
+%autosetup -n LNMarketBot-0.3.6
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> 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-LNMarketBot -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.6-1
+- Package Spec generated