Skip to main content

SoilSidekick Pro API

Project description

soilsidekick-sdk

Agricultural intelligence and soil analysis API with tier-based access control.

What's New in 1.2.0

  • Consumer Plant Care APIs: Three new endpoints addressing top pain points in plant ID apps:
    • /safe-identification: Toxic lookalike warnings and environmental context
    • /dynamic-care: Hyper-localized, real-time care recommendations
    • /beginner-guidance: Judgment-free, jargon-free plant guidance

Authentication

All endpoints require an API key passed via the x-api-key header:

x-api-key: ak_your_api_key_here

API keys are generated through the dashboard and use the ak_* format.

Rate Limiting

Rate limits are enforced based on your subscription tier:

  • Free: 10 req/min, 100 req/hour, 1,000 req/day
  • Starter: 30 req/min, 500 req/hour, 5,000 req/day
  • Pro: 100 req/min, 2,000 req/hour, 25,000 req/day
  • Enterprise: 500 req/min, 10,000 req/hour, 100,000 req/day

Rate limit information is returned in response headers:

  • X-RateLimit-Limit: Maximum requests in window
  • X-RateLimit-Remaining: Remaining requests in window
  • X-RateLimit-Reset: Unix timestamp when limit resets

Response Time SLAs

All endpoints return response time headers for performance monitoring:

  • X-Response-Time: Human-readable response time (e.g., "245ms")
  • X-Response-Time-Ms: Response time in milliseconds
  • X-Response-Time-Target: Target response time for this endpoint
  • X-Response-Time-Max: Maximum acceptable response time
  • X-Response-Time-Status: Performance status (optimal, acceptable, exceeded)

Response Time Targets by Category

Category Target Maximum Endpoints
Fast 200ms 500ms county-lookup, check-subscription
Standard 500ms 1,500ms get-soil-data, territorial-water-quality
Complex 2,000ms 5,000ms agricultural-intelligence, gpt5-chat, visual-crop-analysis
Heavy 5,000ms 15,000ms live-agricultural-data, generate-vrt-prescription

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 3.0.0
  • Package version: 3.0.0
  • Generator version: 7.23.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://soilsidekick.com/support

Requirements.

Python 3.10+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import soilsidekick

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import soilsidekick

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import soilsidekick
from soilsidekick.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://wzgnxkoeqzvueypwzvyn.supabase.co/functions/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = soilsidekick.Configuration(
    host = "https://wzgnxkoeqzvueypwzvyn.supabase.co/functions/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: ApiKeyAuth
configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer'


# Enter a context with an instance of the API client
with soilsidekick.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = soilsidekick.AIServicesApi(api_client)
    generate_smart_report_summary_request = soilsidekick.GenerateSmartReportSummaryRequest() # GenerateSmartReportSummaryRequest | 
    x_tq_context_mode = 4096 # int | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K.  (optional) (default to 4096)
    x_tq_kv_cache_hint = none # str | KV cache management hint. - `none`: No caching (default) - `reuse`: Reuse KV cache from previous request in same session (40-60% compute savings) - `persist`: Persist cache to disk for cross-session reuse  (optional) (default to none)
    x_tq_model_tier = auto # str | Preferred model tier for inference. - `auto`: Server selects optimal model based on device capabilities - `gemma-2b`: Lightweight model (~0.5GB KV with TQ) - `gemma-7b`: Full model, standard KV cache - `gemma-7b-tq`: Full model with TurboQuant 3-bit KV cache (~1.3GB)  (optional) (default to auto)

    try:
        # Generate AI report summary
        api_response = api_instance.generate_smart_report_summary(generate_smart_report_summary_request, x_tq_context_mode=x_tq_context_mode, x_tq_kv_cache_hint=x_tq_kv_cache_hint, x_tq_model_tier=x_tq_model_tier)
        print("The response of AIServicesApi->generate_smart_report_summary:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AIServicesApi->generate_smart_report_summary: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://wzgnxkoeqzvueypwzvyn.supabase.co/functions/v1

Class Method HTTP request Description
AIServicesApi generate_smart_report_summary POST /smart-report-summary Generate AI report summary
AIServicesApi get_agricultural_intelligence POST /agricultural-intelligence Get AI-powered agricultural insights
AIServicesApi get_seasonal_planning_assistant POST /seasonal-planning-assistant Get seasonal planning recommendations
AIServicesApi visual_crop_analysis POST /visual-crop-analysis Analyze crop images
CarbonApi calculate_carbon_credits POST /carbon-credit-calculator Calculate carbon credits
ConsumerPlantCareApi beginner_guidance POST /beginner-guidance Beginner-friendly plant guidance without jargon
ConsumerPlantCareApi dynamic_care POST /dynamic-care Hyper-localized dynamic plant care recommendations
ConsumerPlantCareApi safe_identification POST /safe-identification Safe plant identification with toxic lookalike warnings
EnvironmentalApi calculate_environmental_impact POST /environmental-impact-engine Calculate environmental impact
GeographicApi county_lookup POST /county-lookup Search for counties
LeafEnginesApi leafengines_query POST /leafengines-query Query plant-environment compatibility
SatelliteDataApi get_satellite_data POST /alpha-earth-environmental-enhancement Get satellite environmental data
SoilAnalysisApi get_live_agricultural_data POST /live-agricultural-data Get live agricultural data
SoilAnalysisApi get_planting_calendar POST /multi-parameter-planting-calendar Get planting calendar recommendations
SoilAnalysisApi get_soil_data POST /get-soil-data Get soil analysis data
TurboQuantApi turbo_quant_capabilities POST /turbo-quant-capabilities Query TurboQuant device capabilities
VRTApi generate_vrt_prescription POST /generate-vrt-prescription Generate VRT prescription map
WaterQualityApi get_territorial_water_analytics POST /territorial-water-analytics Get territorial water analytics
WaterQualityApi get_water_quality POST /territorial-water-quality Get water quality data

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

ApiKeyAuth

  • Type: API key
  • API key parameter name: x-api-key
  • Location: HTTP header

Author

support@soilsidekickpro.com

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

soilsidekick-3.0.0.tar.gz (91.2 kB view details)

Uploaded Source

Built Distribution

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

soilsidekick-3.0.0-py3-none-any.whl (291.3 kB view details)

Uploaded Python 3

File details

Details for the file soilsidekick-3.0.0.tar.gz.

File metadata

  • Download URL: soilsidekick-3.0.0.tar.gz
  • Upload date:
  • Size: 91.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for soilsidekick-3.0.0.tar.gz
Algorithm Hash digest
SHA256 c42a77d9ae88ce9b5542e4ff55863d12c6e348b6c0c154d662e3a204b52452d4
MD5 e7248eecb04bc9469c42749c84d72395
BLAKE2b-256 40f689651d671dc8299201ed49759753cf6d693b0b461e9c15931cc6e7deac52

See more details on using hashes here.

File details

Details for the file soilsidekick-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: soilsidekick-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 291.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for soilsidekick-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b321a076177e3cff20edc1fde95019fee148353da5eaec96c1b54653c8a3a153
MD5 c1c050d18347efe1651fc6917078da87
BLAKE2b-256 e31a92c4a4b27515d5bf9dd0dfac49e74c77f3551662fbd126e40000aaf590b8

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