Skip to main content

Python SDK and CLI for Appraisal Forge API

Project description

appraisal-forge-sdk

Python SDK + CLI for interacting with the Appraisal Forge API.

Install

pip install appraisal-forge-sdk

Environment

export APPRAISAL_FORGE_URL=https://your-instance.com
export APPRAISAL_FORGE_TOKEN=your-api-token

CLI

Create appraisal:

appraisal-forge create --name "123 Main" --subject-address "123 Main St, Raleigh, NC 27601"

Read fields:

appraisal-forge fields-read --appraisal-id 123 --prefix 0100

Write fields from JSON file:

appraisal-forge fields-write --appraisal-id 123 --json fields.json

Validate:

appraisal-forge validate --appraisal-id 123

Status summary:

appraisal-forge status --appraisal-id 123

Upload photo:

appraisal-forge upload-photo --appraisal-id 123 --field-id 2100.0087 --image-path ./front.jpg --label Front

Token and connectivity helpers:

appraisal-forge tokens
appraisal-forge create-token --label "Claude Desktop" --scope full
appraisal-forge revoke-token --token-id 12
appraisal-forge verify-token
appraisal-forge connection-info
appraisal-forge login --api-url http://localhost:8090
appraisal-forge relay-status
appraisal-forge relay-start --agent-cmd "codex exec '{message}'"
appraisal-forge relay-resume
appraisal-forge relay-watch
appraisal-forge relay-stop

Notes:

  • create-token defaults to a sdk-scoped token; use --scope full only for CLI/SDK token-management or connection bootstrap tasks.
  • connection-info returns MCP and field-api endpoints, including a ready-to-copy claude_cli_config stanza.
  • verify-token validates the current bearer token and returns a normalized payload with valid, error, and token metadata.
  • login runs browser-based device auth and saves token/api-url to ~/.appraisal-forge/config.json (or APPRAISAL_FORGE_CONFIG_DIR).
  • relay-start and relay-resume default to local-worker mode (runs on the user's machine, not the server container).
  • Use --mode server only for diagnostics.
  • relay-resume is the restart command for users after closing/reopening CLI; it reuses the last saved relay command and appraisal id.
  • relay-watch keeps the local worker alive and auto-restarts it if it exits.

Config-driven fill:

appraisal-forge fill --config ./fill-config.json

Resume existing appraisal:

appraisal-forge fill --config ./fill-config.json --appraisal-id 123

Dry run:

appraisal-forge fill --config ./fill-config.json --dry-run

Example fill-config.json:

{
  "report_name": "123 Main",
  "subject_address": "123 Main St, Raleigh, NC 27601",
  "property_config": "ADDRESS: 123 Main St, Raleigh, NC 27601",
  "uad_fields": {
    "0100.0009": "Raleigh",
    "0100.0011": "NC",
    "0100.0012": "27601"
  },
  "validate_after": true
}

Python SDK

from appraisal_forge_sdk import AppraisalForgeClient

client = AppraisalForgeClient(
    api_url="https://your-instance.com",
    token="your-api-token",
)

created = client.create_appraisal("123 Main", "123 Main St, Raleigh, NC 27601")
appraisal_id = created["id"]

client.write_fields(appraisal_id, {
    "0100.0009": "Raleigh",
    "0100.0011": "NC",
})

validation = client.validate(appraisal_id)
print(validation)

Auth model

v0.1 uses existing Bearer token auth from the Appraisal Forge API.

Runtime requirements

  • Python 3.10+
  • Reachable Appraisal Forge API URL
  • Valid API token

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

appraisal_forge_sdk-0.1.0.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

appraisal_forge_sdk-0.1.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file appraisal_forge_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: appraisal_forge_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for appraisal_forge_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59e2f907104fd6a29e4d30285f7c6c1545306cb4e98d8c43767c19a95afc19e5
MD5 72fa53224bc9d32fa322d1017ec220b7
BLAKE2b-256 d147dbf913212957a36a89f3a2b6fc752dc9f1f540e2be03d0531d74bb8188e5

See more details on using hashes here.

File details

Details for the file appraisal_forge_sdk-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for appraisal_forge_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10637d5b77b8f770658ebadec80a47acc7e73e0d9998eed5d335c48335ceeb8e
MD5 b1a2a3efcb59ad4bbc3cbe6b6cd5d763
BLAKE2b-256 a4730952efd39177c8252724138be3b784112a9ca4296144e5e11b7dc5d26824

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page