%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.aliyun.com/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 = '' broker = LNMBroker(LNMToken, ) telegramToken = '' chatId = 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 = '' broker = LNMBroker(LNMToken, ) telegramToken = '' chatId = 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 = '' broker = LNMBroker(LNMToken, ) telegramToken = '' chatId = 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 * Fri Jun 09 2023 Python_Bot - 0.3.6-1 - Package Spec generated