Skip to main content

lopjlb

Thin Python client + CLI for LOPJLB quantitative equity research.

Talks only to https://www.lopjlb.com/bff/api/ (never api.lopjlb.com).

Four peer surfaces over one BFF (CLI does not call MCP):

Surface Install / use
REST curl https://www.lopjlb.com/bff/api/…
CLI uv tool install lopjlb · brew install lopjlb/tap/lopjlb · curl -fsSL https://www.lopjlb.com/install.sh | sh
PyPI pip install lopjlb / import lopjlb
HTTP MCP Cursor / Claude → POST /bff/api/mcp (Enterprise hosts)

License: Proprietary — not open source. Copyright © LOPJLB Research. All rights reserved. See the repository LICENSE. You may use this client only to access LOPJLB’s published services under LOPJLB’s terms; you may not relicense or redistribute it as free/open source.

Install

# recommended
uv tool install lopjlb

# or
pipx install lopjlb
pip install lopjlb

# one-liner
curl -fsSL https://www.lopjlb.com/install.sh | sh

# Homebrew (after tap publish)
brew install lopjlb/tap/lopjlb

Free research needs no browser and no API key.

Free (no account)

Sample single-name research — direction, HMM regime, thin signal-card teaser, earnings CallCards. Full PF / composite packs need Pro or an Enterprise key. Anon freemium ticker routes: 30/min · 500/day.

import lopjlb

print(lopjlb.regime())
t = lopjlb.Ticker("AAPL")
print(t.summary())       # direction, regime, teaser (+ next_actions via CLI)
print(t.intel())         # earnings CallCard / rollup
print(t.info)            # company profile
lopjlb ticker AAPL
lopjlb ticker AAPL intel
lopjlb regime
lopjlb hours           # world exchange open/closed (see /market-hours)
lopjlb treasuries      # US yield curve (see /treasury-rates)
lopjlb search NVDA
lopjlb schema          # CLI → REST map (not MCP)
lopjlb doctor

Stdout is JSON (pretty on a TTY). Errors go to stderr as JSON with retryable. Product research commands do not prompt; lopjlb auth claim is the exception (opens AuthKit and asks for the page code).

Agent Registration (optional)

Bind a WorkOS user to an agent registration via AuthKit (claim UI is hosted by AuthKit — not lopjlb.com). Skill: npx skills add lopjlb/lopjlb-skill. Docs: https://www.lopjlb.com/auth.md

lopjlb auth claim --email you@example.com   # opens verification URI; paste page code
lopjlb auth token --print                   # short-lived Bearer for BFF REST

Claim does not grant Enterprise. Pro follows the claimed user’s Stripe/IAP entitlement. MCP still needs an API key.

Enterprise (REST)

Mint a key in Settings after a live Enterprise entitlement is active (browser once), then:

export LOPJLB_API_KEY=lopjlb_live_…
lopjlb screen                              # Pro REST via Enterprise key
lopjlb export signals --format csv --out signals.csv   # --out required
lopjlb intraday AAPL
client = lopjlb.Client(api_key="lopjlb_live_…")

Optional MCP debug smoke (hosts should call /mcp directly):

lopjlb debug mcp tools
lopjlb debug mcp call get_market_regime

Errors: 401 bad key · 402 entitlement · 429 rate limit.

Not included

Raw OHLCV dumps / FMP passthrough. Use sparklines / charts via the API or the stock page.

Metadata

Release files for lopjlb 0.1.7

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

Source distribution (sdist)

Source distribution for lopjlb 0.1.7
File Size Uploaded
lopjlb-0.1.7.tar.gz 27.0 kB Details

Built distribution (wheel)

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

Total release size: 51.2 kB

Release files / lopjlb-0.1.7.tar.gz

Download URL lopjlb-0.1.7.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
24f87e1c757a25fa019874c7ac1aa67a978fddd2a4d369d033feacbc809ee797
BLAKE2b-256 checksum
How to use checksums
0ab3f4ad624a9665d6edaf11fe44c403191c72069b5a86ba345bec3e764e7e72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / lopjlb-0.1.7-py3-none-any.whl

Download URL lopjlb-0.1.7-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ffad797ee183f1db0de86139e1e70a3f118b8f5491736e137a231dcd14c0d85c
BLAKE2b-256 checksum
How to use checksums
7fadf44caa11863cf74b6fa2452dd18932c0fe7c470ece26aaef4d60b3f10103
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.1

2 release files

0.1.0

2 release files

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