langchain-sibfly
LangChain integration for SibFly — measured ground motion for any US address.
Give it a US address (or lat/lon) and it tells your agent how fast the ground is sinking or rising, in mm/year, measured from NASA OPERA Sentinel-1 satellite radar (InSAR) — measured, not modeled. Negative mm/year = sinking.
Agent-friendly pricing: $0.40 per covered report, and misses are free
(out-of-coverage, no-data, too-stale, and low-confidence results all cost $0).
Use dry_run=True for a free coverage + price check first.
Install
pip install -U langchain-sibfly
export SIBFLY_API_KEY="sf_live_..."
Get a key with free starter credits at sibfly.com. Agents
can self-register with no human step:
POST https://sibfly.com/api/v1/autonomous/register.
Usage
from langchain_sibfly import SibflyGroundMotion
motion = SibflyGroundMotion() # reads SIBFLY_API_KEY
# By address
print(motion.invoke({"address": "1100 Congress Ave, Austin, TX"}))
# By coordinates, free preview (no charge)
print(motion.invoke({"lat": 30.3244, "lon": -97.8102, "dry_run": True}))
Example result:
{
"status": "ok",
"velocity_vertical_mm_yr": -6.0,
"velocity_uncertainty_mm_yr": 1.5,
"assessment_code": "notable_subsidence",
"confidence": 0.86,
"data_age_days": 73,
"cost_usd": 0.4,
"credits_remaining_usd": 0.6,
}
Route logic on assessment_code — one of rapid_subsidence,
notable_subsidence, stable, mild_uplift, strong_uplift — not on the
human-readable assessment string.
Free gates (avoid paying for data you'd reject)
dry_run=True— free coverage +would_cost_usd, no reading, no charge.max_age_days=N— if the newest data is older than N days, returns a freestale_dataresult instead of billing.min_confidence=0.0..1.0— below this pixel confidence, returns a freelow_confidenceresult instead of billing.
Use it in an agent
from langchain_sibfly import SibflyGroundMotion
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic
agent = create_react_agent(
ChatAnthropic(model="claude-sonnet-5"),
tools=[SibflyGroundMotion()],
)
agent.invoke({"messages": [("user", "Is the ground sinking at 1100 Congress Ave, Austin TX?")]})
Links
- API: https://sibfly.com · Docs: https://sibfly.com/docs · Agent docs: https://sibfly.com/llms.txt
- OpenAPI: https://sibfly.com/openapi.json · Machine schema: https://sibfly.com/api/v1/schema
- MCP server:
https://sibfly.com/mcp(also in the official MCP registry ascom.sibfly/ground-motion)
License
MIT
Release files for langchain-sibfly 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langchain_sibfly-0.1.0.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langchain_sibfly-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.4 kB
Release files / langchain_sibfly-0.1.0.tar.gz
| Download URL | langchain_sibfly-0.1.0.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d246a1bd54aaf0cd66f9b0e27d38772c757f551eb70b27f3bb4937aabac5d4c1
|
|
BLAKE2b-256 checksum How to use checksums |
08b5c194c606c75992a362562f2d6a79f627b187007d792d9ff0ca0233834235
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / langchain_sibfly-0.1.0-py3-none-any.whl
| Download URL | langchain_sibfly-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
771e87db02a5da472c0cf3672354901809076cd44b5a72ab46634e72c4a5f605
|
|
BLAKE2b-256 checksum How to use checksums |
4ceb2615e16cc456f58fd0d7da8f7c65b737b5297c412c81128ab352b4b44917
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|