Skip to main content

PyTradingBot

PyTradingBot is a python based trading bot API.

Python

Platform

pypi

Pypi Pypi-format Pypi-status

Summary

PyTradingBot is a python based trading bot API based on FinViz screener fields, and Yahoo finance.

Installation

pip install PyTradingBot

Usage

Initiate - IDE

from pytradingbot.server import start

if __name__ == '__main__':
    start()

Initiate - CLI

pytradingbot start

Use pytradingbot --help for usage instructions.

Containerized

Build

docker build -t pytradingbot .

Run

docker run --name pytradingbot -p 5005:5005 -e PORT=5005 pytradingbot

Environment Variables

All environment variables are optional.

API basics

  • PORT: API port. Defaults to 8080
  • LOG_LEVEL: Log level for the API server. Defaults to DEBUG
  • SCAN_COOLDOWN_SECONDS: Cooldown time before requesting another scan. Defaults to 60

Authentication

  • USERNAME: Username to protect the server with authentication.
  • PASSWORD: Password to protect the server with authentication.

Notification setup

  • TELEGRAM_BOT_TOKEN: Telegram bot token to notify the user.
  • TELEGRAM_CHAT_IDS: Comma separated list of chat IDs to notify.

To get the chat ID, message the bot on Telegram and run the command:

curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates" \
| jq '.result[].message.chat.id'

Background Scheduler

The API runs a background async scheduler that triggers scans automatically (EST) and stores each run in the existing sqlite DB.

Default schedule:

  • Pre-Market (04:00-09:30): every 15 minutes
  • Market Open (09:30-10:30): every 5 minutes
  • Mid Day (10:30-14:00): every 30 minutes
  • Power Hour (14:00-16:00): every 5 minutes
  • After Hours (16:00-20:00): once at 16:15

You can override these rules from the Dashboard Schedule tab, or through:

  • GET /schedule to read current/default config
  • POST /schedule to save overrides

Release Notes

Requirement

python -m pip install gitverse

Usage

gitverse-release reverse -f release_notes.rst -t 'Release Notes'

Linting

pre-commit will ensure linting

Requirement

python -m pip install pre-commit

Usage

pre-commit run --all-files

Pypi Package

pypi-module

https://pypi.org/project/PyTradingBot/

License & copyright

© Vignesh Rao

Licensed under the MIT License

Metadata

Release files for PyTradingBot 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for PyTradingBot 0.1.2
File Interpreter ABI Platform
pytradingbot-0.1.2-py3-none-any.whl Python 3 none any Details

Release files / pytradingbot-0.1.2-py3-none-any.whl

Download URL pytradingbot-0.1.2-py3-none-any.whl
Size 65.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b8827b358c537f69d15f4251b2e972c9bb60ffc8fd47cd8046bdfdb791ea8e7
BLAKE2b-256 checksum
How to use checksums
8772ac6a8df8dcc2146304b0f73ff33104d9dfc6eb5c3a87e844e420c84f64d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.31

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page