CoolFace
Apppublic

Gaurav6047/Smart-Farmer-AI

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
recommender.cpython-310.pyc40 linesDownload Raw Back to __pycache__
1o

2�i��@sfddlmZmZmZmZddlmZddlmZddl	m3Z4ddlmZddl
mZGdd	�d	�Zd5S)�)�Dict�Optional�Any�List�)�SoilThresholdEngine)�StandardNPKEngine)�6STCREngine)�OrganicAndSpecialRulesEngine)�FertilizerBrandConverterc@steZdZdZdd�Z				ddeeefdeded	eed7eeeefdeeee	fdeee	ffd
d�Z8dS)�FertilizerRecommenderz�9    Main orchestrator that executes:10    1. Soil evaluation (macro + micro)11    2. STCR or Standard selection12    3. Organic credits13    4. Special rules (pH, EC, rotation, micros)14    5. Conversion to commercial fertilizers (Urea/DAP/MOP)15    cCs,t�|_t�|_t�|_t�|_t�|_	dS)N)16r�soil_enginer�17std_enginer	�stcr_enginer18�19org_enginer�	converter)�self�r�YC:\Users\lenovo\Desktop\smart farmer app\smart farmer multi webpage\engine\recommender.py�__init__s20zFertilizerRecommender.__init__�	IrrigatedN�soil�crop�	condition�target_yield�organic_inputs�meta�returnc	Cs�|pi}|pi}ddgiid�}|j�|�}|j�|�}	||d<|	r0|d�dd�|	��d��d}21|rx|d	krx|�d22�}|rx|jj|||�dd	�|�dd	�|�d
d	�d�}|rx|d|d|dd�}23d|�d|�d��d�|d<||dd<|24s�|j�	||�}
|
s�dd|�d|�d�d�S|
d|
d|
dd�}25d|d<|
�d�r�|d�d |
d���|26�27�|dd!<|j�|28|�\}}||dd"<||dd#<|j�
|||�\}}|d�|�|�29�|dd$<|jj|d|d|dd%�}||d&<|S)'N�success�)�status�method_used�alerts�soil_status�	breakdownr#r"zMicronutrient Deficiency: z, z5. Apply recommended micro mix (e.g., ZnSO4 for Zinc).r�stcr_equation_key�N�P�K)Zcrop_key�T�SN�SP�SK�P2O5�K2O)r&r-r.zSTCR (Target Yield: � �Unit�)r!r$Z	stcr_meta�errorz"No recommendation found for crop 'z	' under 'z' condition.)r �messagezStandard RecommendationZNotezAgronomic Note: �base_requirement_kg_ha�organic_creditsZ
after_organic�final_elemental_req)ZN_reqZP_reqZK_req�commercial_fertilizer)r
Zevaluate_macroZevaluate_micro�append�join�getrZ	calculaterZget_npk�copyrZapply_organic_creditsZapply_special_rules�extendr�convert)rrrrrrr�responseZmacro_statusZ	micro_defZbase_npk�keyZstcr_out�stdZ	after_org�creditsZ	final_npkZrule_alerts�fertrrr�	recommendsx30��31323334����35�zFertilizerRecommender.recommend)rNNN)�__name__�36__module__�__qualname__�__doc__rr�str�floatrrrCrrrrr	s,	�37������38�rN)�typingrrrr�39thresholdsrZnpk_standardrZstcrr	Z
organic_rulesr40Zbrand_converterrrrrrr�<module>s