Official Python SDK for the Pashudhan Nutri AI API
Project description
Pashudhan Nutri AI — Official Python SDK
The official Python client library for the Pashudhan Nutri AI API.
This SDK provides a clean, typed interface to generate ICAR-2013+NASEM compliant dairy rations using our proprietary Optimization and AI Critique engines. Zero formulation logic is exposed — all equations, ingredient databases, rule evaluations, and AI models run securely in the cloud. You simply supply the animal profile and available feeds, and we return the optimized diets complete with actionable veterinary insights.
Installation
pip install pashudhan_ai
Quickstart
import pashudhan_ai
# Initialize the client with your API key
client = pashudhan_ai.Client(api_key="pd_your_api_key_here")
# 1. Fetch available ingredients for a specific country
# This dynamically loads the available ingredient master list (e.g., India vs USA)
db = client.get_ingredients_list(country="India")
print(f"Loaded {db['total']} ingredients from DB.")
# 2. Define the exact ingredients you want the solver to use
# Pass the IDs. You can optionally override prices, inclusion limits, or lab analysis on the fly.
custom_ingredients = [
{"id": "wheat_straw"},
{"id": "maize_silage", "price_local_kg_fresh": 1.4}, # Override dynamic local price
{"id": "maize_grain"},
{"id": "wheat_bran", "max_inclusion_pct_DM": 15}, # Restrict to max 15% DM
{"id": "mustard_cake"},
{"id": "guar_korma"}
]
# 3. Generate a ration
result = client.formulate(
# --- Animal Profile ---
animal_type="buffalo",
breed="Murrah",
body_weight_kg=500,
milk_yield_kg_day=12.0,
fat_pct=7.0,
production_stage="early_lactation",
# --- Geography & Environment ---
country="India",
state="Haryana",
month=6,
# --- Feed Inventory ---
available_ingredients=custom_ingredients
)
# 4. Access the generated formulations
least_cost = result.formulations[0]
print(f"Total Cost: {least_cost.total_cost_local_day}/day")
# 5. Access the AI Veterinary Critique
print(f"AI Veterinary Review:\n{least_cost.formulation.ai_explanation}")
for warning in least_cost.formulation.ai_warnings:
print(f"WARNING: {warning}")
for ingredient in least_cost.formulation.ingredients:
print(f"{ingredient.name}: {ingredient.kg_fresh_day} kg")
# 6. Access Advanced Metabolic Analysis (Pro/ProMax plans)
if result.metabolic_report:
methane = result.metabolic_report.methane
if methane and methane.applicable:
print(f"Methane Emission: {methane.enteric_ch4_g_day} g/day")
Configuration Guide
The core design of the API is interface-first. You do not need to calculate Dry Matter Intake, energy limits, or NDF minimums. You simply pass the real-world conditions.
Available Ingredients Payload
To control what feeds the engine uses, pass an array to available_ingredients. You can pass just the id (which inherits all nutritional data automatically), or you can override specific attributes on the fly:
[
{
"id": "soybean_meal",
"price_local_kg_fresh": 45.0, # Specify your own price based on the user's local currency
"dm_pct": 89.0, # Override dry matter %
"CP_pct_DM": 48.0 # Override crude protein % based on your custom lab test
}
]
Supported API Parameters
Animal Parameters:
animal_type:"cow","buffalo","goat"breed: e.g."HF_crossbred","Jersey","Murrah","Gir"body_weight_kg: Float (e.g. 450)milk_yield_kg_day: Float (e.g. 15.5)fat_pct: Float (e.g. 4.0)production_stage:"early_lactation","mid_lactation","dry","heifer", etc.
Environmental Parameters:
country: Determines the currency, available database, and base feed parameters (e.g.,"India","USA").locationorstate: Used to fetch live ambient temperature and humidity to adjust rations for heat stress (THI).month: Used to apply seasonal rules and local market pricing logic.
Biological Constraints & Validations
The API enforces strict biological validations to prevent unrealistic or harmful rations from being calculated. These limits are deliberately wide enough to cover large dairy breeds (like US Holsteins) as well as buffaloes (which have longer gestations and slower maturation rates).
If your inputs exceed these limits, the API will return a 400 ValidationError (which the SDK catches as pashudhan_ai.exceptions.ValidationError):
body_weight_kg: Must be between 10 kg and 1500 kg.milk_yield_kg_day: Maximum 100 kg/day.fat_pct: Must be between 0.5% and 15.0%.days_pregnant: Maximum 320 days (accommodates Buffalo gestation limits).dim(Days in Milk): Maximum 1000 days.- Age Mismatches:
- Calves cannot be older than 18 months.
- Heifers cannot be older than 48 months.
- Total age cannot exceed 360 months (30 years).
The AI Veterinary Critique Layer
One of the most powerful features of the Pashudhan SDK is the AI Critique Layer.
After the mathematical optimization engine finishes calculating the required nutrients, the AI layer scans the formulation for real-world biological risks that traditional mathematics miss.
The API returns:
ai_explanation: A farmer-friendly paragraph explaining the tradeoffs between the different formulation options (Least Cost, Best Biological, Compromise).ai_warnings: Specific, actionable alerts if the diet has hidden dangers (e.g., "DANGEROUS Ca:P RATIO", "HIGH ACIDITY RISK due to heavy wheat grain").
These intelligent insights allow you to provide your users with veterinary-grade advice directly in your UI, without needing to code complex biological rule engines yourself.
Security & IP Protection
By using the SDK, your proprietary user data is abstracted from the heavy mathematical lifting. The API securely handles:
- ICAR-2013+NASEM Nutrient Equations
- Non-Linear Rumen Kinetics
- Veterinary Safety Thresholds
- Generative AI Diagnostics
None of this logic is exposed to or required by the client SDK, making it extremely lightweight and secure for developers to integrate.
Documentation
For full API reference, visit the Developer Portal.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pashudhan_ai-0.3.0.tar.gz.
File metadata
- Download URL: pashudhan_ai-0.3.0.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bd93a23e49169a6c22512bdc6ef64f598f3794725f63e09e276da9835736082
|
|
| MD5 |
fa7e8cc4246e2122fa2a1442ace01fff
|
|
| BLAKE2b-256 |
0bb6b7fdf60b30724bf56f18921f796c2b6e467aa08566df52b06ebbc40c49b4
|
File details
Details for the file pashudhan_ai-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pashudhan_ai-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
432897d5b21e0e0c578a0abddda0d8002575d0a0896c33b59e42bf3f447f9f21
|
|
| MD5 |
9433fbdbaf4606bc304c686444d71926
|
|
| BLAKE2b-256 |
af7414b5c34205c6180c21590f3a5058aa5399e8779f78d6584d4c8bb8c7723c
|