Skip to main content

NORTH7 Python SDK

Official Python SDK for the NORTH7 Financial Intelligence API.

Real-time risk scoring, market regime detection, trading signals, stock analysis, commodity intelligence, and geopolitical briefings -- all from one API.

Installation

pip install north7

With LangChain support:

pip install north7[langchain]

Quick Start

from north7 import North7Client

# Free endpoints -- no API key required
client = North7Client()

risk = client.risk()
print(f"Risk: {risk.value}/100 - {risk.status}")

regime = client.regime()
print(f"Regime: {regime.regime}, VIX: {regime.vix_value}")

Authentication

Get a free API key:

info = North7Client.register(email="you@example.com", name="Your Name")
print(info.api_key)  # n7_live_...

Or sign up at north7.ai/developer.

Use the key:

client = North7Client(api_key="n7_live_xxx")

# Or set the environment variable
# export NORTH7_API_KEY=n7_live_xxx
client = North7Client()  # picks up from env

Endpoints

Free (no key needed)

Method Endpoint Description
client.risk() GET /v1/risk Global risk index (0-100)
client.regime() GET /v1/regime Market regime (BULL/BEAR/NEUTRAL)
client.health() GET /v1/health API health check

Authenticated (costs credits)

Method Credits Description
client.signals() 1 Latest trading signals
client.alpha() 2 Alpha stock picks
client.prices(["AAPL", "MSFT"]) 1 Current prices
client.price_history("AAPL") 1 OHLCV price history
client.analysis("AAPL") 5 Full stock analysis
client.sector_radar() 2 Sector rotation radar
client.commodities() 2 Commodity signals
client.intraday() 2 Intraday scanner
client.briefing() 10 Geopolitical briefing
client.portfolio() 10 Model portfolio

Examples

Trading Signals

client = North7Client(api_key="n7_live_xxx")

signals = client.signals()
for s in signals:
    print(f"{s.symbol}: {s.direction} ({s.confidence})")

Stock Analysis

report = client.analysis("NVDA")
print(f"{report.symbol}: {report.rating} ({report.score}/100)")
print(report.summary)

Sector Rotation

sectors = client.sector_radar()
for sector in sectors:
    print(f"{sector.sector}: {sector.score} ({sector.trend})")

Commodity Signals

commodities = client.commodities()
for c in commodities:
    print(f"{c.name} ({c.symbol}): {c.direction}")

Geopolitical Briefing

brief = client.briefing()
print(brief.summary)
for event in brief.events:
    print(f"  - {event}")

Async Support

import asyncio
from north7 import AsyncNorth7Client

async def main():
    async with AsyncNorth7Client(api_key="n7_live_xxx") as client:
        risk = await client.risk()
        print(f"Risk: {risk.value}/100")

        signals = await client.signals()
        for s in signals:
            print(f"{s.symbol}: {s.direction}")

asyncio.run(main())

LangChain Integration

Use NORTH7 as tools in a LangChain agent:

from north7 import North7Client

client = North7Client(api_key="n7_live_xxx")
tools = client.get_langchain_tools()

# Use with any LangChain agent
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o")
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
result = executor.invoke({"input": "What is the current market risk?"})

Error Handling

from north7 import North7Client, AuthenticationError, RateLimitError

client = North7Client(api_key="invalid")

try:
    signals = client.signals()
except AuthenticationError:
    print("Invalid API key")
except RateLimitError as e:
    print(f"Rate limited. Retry after {e.retry_after}s")
except InsufficientCreditsError:
    print("Not enough credits")

Response Types

All methods return typed dataclasses, not raw dicts:

risk = client.risk()
risk.value      # int: 0-100
risk.status     # str: "LOW", "MODERATE", "ELEVATED", "HIGH", "EXTREME"
risk.crises     # List[Crisis]
risk.regions    # List[RegionRisk]

License

MIT -- see LICENSE.

Metadata

Release files for north7 0.1.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 north7 0.1.1
File Size Uploaded
north7-0.1.1.tar.gz 13.5 kB Details

Built distribution (wheel)

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

Total release size: 25.0 kB

Release files / north7-0.1.1.tar.gz

Download URL north7-0.1.1.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a2cf83dbf366fd71365a523925ce0252ba2d10dff20c339492eff64e98ade3ac
BLAKE2b-256 checksum
How to use checksums
ab4a888a1f5ede36dc71dd25374172d6075ddb63ba6cc958c121add709217fb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / north7-0.1.1-py3-none-any.whl

Download URL north7-0.1.1-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ef6a420ecefaf351a8f32ba31e2ffac8af7c8a46ca95cc4cfe65e8388e15e81
BLAKE2b-256 checksum
How to use checksums
1235d4885794ca5b43659cedf85f4613634d6b2a18a3309fca6cf193660bba9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

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