Skip to main content

Screen Stocks Python Bridge

The screenstocks-bridge package is a Python client for the local API exposed by the Screen Stocks Bridge BepInEx plugin. It requires the plugin to be installed in the game and the game to be running. The package itself does not install or contact the game backend; it connects to the plugin on loopback.

Install

Before installing, follow the Python package installation security note for the October 2026 certificate incident. Use pip 26.2.2 or later; upgrade an older pip with the hash-pinned bootstrap instructions before installing packages.

python -m pip install screenstocks-bridge

Install the matching BepInEx plugin from the GitHub releases, then launch Screen Stocks. The default bridge address is 127.0.0.1:48721. The plugin port can be changed under [Bridge] as Port in BepInEx/config/screenstocks.bridge.cfg; close and relaunch the game after editing it. Pass the same value to BridgeClient(port=...) when it differs from the default. The example scripts also read SCREENSTOCKS_PORT. Read the token from BepInEx/config/screenstocks.bridge.cfg or the BepInEx log.

Connect

from screenstocks_bridge import BridgeClient

with BridgeClient(token="YOUR_TOKEN") as bridge:
    state = bridge.snapshot()
    print(state["ready"], state["cash"], state["netWorth"])
    stats = bridge.stats_snapshot()
    print(stats["lifetimeBuyingProfit"], stats["lifetimeShortingProfit"])
    print(bridge.upgrades())
    recent = bridge.transaction_history(filter="both", limit=100)
    print(recent["entries"])
    chart = bridge.net_worth_history("last_7_days")
    print(chart["intervalMinutes"], chart["samples"])

The client supports market-state and stats reads, market, ticker-news, and auto-action toast subscriptions, leaderboard requests, transaction-history and net-worth chart reads, activity reads and subscriptions, explicit single-stock activity-focus controls, trades, upgrade purchases, auto-action controls, and IPO state and trigger requests. Use ipo_snapshot() to check readiness and the dynamic requirement, and trigger_ipo() to ask the game to perform an eligible IPO. Request a game-supported leaderboard with leaderboard("current"), leaderboard("all_time"), leaderboard("ipo"), leaderboard("current_top"), leaderboard("clan_net_worth"), or leaderboard("clan_player_share"). Leaderboard requests use the game's in-process client, with one live request every 30 seconds; identical requests are served from a 30-second cache. Activity focus can be set with set_human_activity_focus(stock_id) and cleared with clear_human_activity_focus(); the in-game overlay shows the active stock, and bridge-driven focus changes have a five-second minimum. See the bridge usage guide for the full API and its online behavior. Activity history reads page through only the samples the game currently retains in memory; they do not fetch older history from the game's server, and the bridge makes no guarantee about the retained history's total depth or time span. stats_snapshot() similarly reads values already held in local game memory; it does not refresh rank or make any game/backend request.

For a complete, runnable auto-action toast listener—including the event schema, callback threading, cleanup, and error handling—see Subscribe to auto-action completion toasts.

Use transaction_history(filter="both", limit=100) to read recent transactions. Filters are manual, both, and auto_action. The game screen can seed the in-memory cache; successful screen requests also start the bridge cooldown. The BepInEx cache lifetime and request interval can be increased from their 60-second and 30-second minimums, as described in the usage guide.

snapshot() includes netWorth as an exact decimal string from the game's current in-memory calculation. net_worth_history("last_24_hours") can query the saved chart for last_24_hours, last_7_days, or last_14_days. Chart responses use the game's own client, are cached in memory for at least 300 seconds, and have a hard 300-second minimum between requests across ranges, matching the game's stated five-minute graph refresh cadence. Those settings can be raised under [NetWorthHistory]; successful Net Worth screen responses also seed the cache. See the usage guide for fields, examples, and details about native game UI requests.

The snapshot also includes the game's calculated dividendIncomePerMinute and dividendPayoutPerCycle as exact decimal strings. Per-stock dividendRate includes the current game dividend payout multipliers, while baseDividendRate preserves the unmodified stock-definition rate. These rates do not include price, owned shares, or payout timing; use the aggregate fields for the actual income totals. In Python, access them as stock.dividend_rate and stock.base_dividend_rate.

Use offline_summary() to read the latest welcome-back summary captured during the current game session. The plugin captures it in memory before automatically closing the screen; set AutoCloseOfflineSummary = false in the BepInEx config to leave the screen open while retaining API access.

Metadata

Release files for screenstocks-bridge 0.14.1

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

Source distribution (sdist)

Source distribution for screenstocks-bridge 0.14.1
File Size Uploaded Provenance Actions
screenstocks_bridge-0.14.1.tar.gz 13.8 kB With provenance Details for screenstocks_bridge-0.14.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for screenstocks-bridge 0.14.1
File Interpreter ABI Platform Actions
screenstocks_bridge-0.14.1-py3-none-any.whl Python 3 none any Details for screenstocks_bridge-0.14.1-py3-none-any.whl

Total release size: 26.5 kB

Release files / screenstocks_bridge-0.14.1.tar.gz

Download URL screenstocks_bridge-0.14.1.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9e3b7d2bc2f0b1aa47ddc7c25bf68bfb9f9fe3d816b713975ad5855e05e0d00d
BLAKE2b-256 checksum
How to use checksums
e4ebbbb99fd19e4b5b4a5bf5c2d16c83a76e479647ee5bec4fe5d1c8fcaa9621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / screenstocks_bridge-0.14.1-py3-none-any.whl

Download URL screenstocks_bridge-0.14.1-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c857e7f2d5860afe82bfd9b4886bab3a20859522046e1fc95c014f4d82196b32
BLAKE2b-256 checksum
How to use checksums
1ffdcdb8de1b652b8f90a65ee9970b3c71e72e407358bbb01d1a1945204ff633
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for screenstocks-bridge 0.14.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for screenstocks_bridge-0.14.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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