From 8ed85b05230f88dff093e3ff69fd2025f445cf6c Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Sat, 9 Sep 2023 16:10:41 -0700 Subject: [PATCH] rename apimanager to budget manager --- litellm/__init__.py | 8 +++++--- litellm/__pycache__/__init__.cpython-311.pyc | Bin 8075 -> 8070 bytes litellm/__pycache__/main.cpython-311.pyc | Bin 30921 -> 31623 bytes litellm/__pycache__/utils.cpython-311.pyc | Bin 92489 -> 90253 bytes litellm/{apimanager.py => budget_manager.py} | 7 +++++-- litellm/tests/test_api_manager.py | 18 ++++++------------ 6 files changed, 16 insertions(+), 17 deletions(-) rename litellm/{apimanager.py => budget_manager.py} (86%) diff --git a/litellm/__init__.py b/litellm/__init__.py index 23dff09d5eb..704b36e3bbc 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -36,9 +36,11 @@ caching_with_models = False # if you want the caching key to be model + prompt cache: Optional[Cache] = None # cache object model_alias_map: Dict[str, str] = {} -####### APIManager ################### -from .apimanager import APIManager -apiManager = APIManager() +####### BudgetManager ################### +from .budget_manager import BudgetManager +budget_manager = BudgetManager() + +############################################# def get_model_cost_map(): url = "https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json" diff --git a/litellm/__pycache__/__init__.cpython-311.pyc b/litellm/__pycache__/__init__.cpython-311.pyc index 1d6568e1e56bd228840101147e3acf0da8f1d138..f23105fe1b09a23d396ed6d1cdf7611985c50ccc 100644 GIT binary patch delta 523 zcmZ9`J4?e*6bJC!wA30&L9i9kw!R;ISl>p|Hnpjbs-ugSYEkYXDy@U)Qjm5K2L(~0 zo0Efr;!v`=xH~!e37j09eSoKzg5o9of5|x~hkL9YYVwUNO9GzK#}~UV%MW5#FY_G; zG$0BPxW>j^rOOWuZVEI64v-*hzKLz5-*nj;y%C&@{F@wL?YLu*5i@S{6b*rOToJ0E zo#+JGg-)W~sEYQWQM4D0u|5_sL>gy77D6?whq0bO`_U;hf+o=cR7VHV6euuJz^lR} zPnBo1P^^?<{3F3L&Qs$##WTq>#Z#{&oyMg@xOC=sDX0*I1SBB^F^EI;e>Qw6(OEWP z5IV;dzl7GX@!Udwk($f)SaY?JsWfn4g{$ON^I2+^?QZMIzC~)} zV2o)Gyl22<3Gb==AEJ;%WZPSV5~jh4FE}`!&$f+&cRRMJp2?cz|Y{Kd@g%xCOI-8d*N~9eaKz7e+$h7 zngO^3C*d+Y2v<16*-bp2bDDY0f@V?E)pRt+H77Jnnib7*oivG=LzwyE-%QSPfzvLR zxWYwt_-23{{%FxlnW_nzlC5$isH!Seg@HaDOwZLl8iez)LP~k$-Q@E+PX`OyW5J?Y zq9x^%ua;?9t%!>#e}A*%yY$}M_qMIy KvFNhppy4k{qn5A$ diff --git a/litellm/__pycache__/main.cpython-311.pyc b/litellm/__pycache__/main.cpython-311.pyc index b35771c9646c97caacaefb81ae68c277f0920b11..2c5b0d3a41a9b43b0c6d71100a930c50d7dd1c59 100644 GIT binary patch delta 2349 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 diff --git a/litellm/__pycache__/utils.cpython-311.pyc b/litellm/__pycache__/utils.cpython-311.pyc index c8a4b9f9f99884e5be4b0e1b891a2e43e8ae7065..dee9000e5be26681575c8e4f48a4f4eb3967b1b7 100644 GIT binary patch delta 395 zcmX?kiM972E8lWnUM>b8c=i2H%B`sr`6L*ZY*d$HRu4&0ZDEXxO;KxMh>A-IP0;}I z;yD>$FeNNS3n-E>xqw+>asx99Q%d;cF6Kzah{;cw)fpov^RQU!N2M61dZ#$27NocU zY1dTmG>#Ov7S^c3l*knK7RJP)6c3=`#VMXZvLq#Xav6(-Qc56@Q=Q3>&XA&=qMgQ) z5(KoRCM6gsTARWc%%B<5{D5Wq0~W?)+wJST7{4+}RWLCy6e%(Si7z1H1&F8wiB(PC z>&vLcS`B1x+Wy9uF^ZM3V!C@U<1@zU>3SiI{y<(`2%`#HJw)+}5XN-YHX!@Vc9BrV z{j6*qAaS?JADyJ9e~Dt0X6py?zj16Ajb?0OVyv6KGM3Shv3~mPSVl$8TkMIM`57f8 z1=|_p7*{YcHcnraz?jPovbqRlWKsWgokT`iuBAXW(0vTWN45tiGFG!QDop>G!59Dl D8Dn&* delta 2380 zcmah~du&rx7(eGe`eH46uXbD4vTmbW%-j?A3d&kk9s`*ZHiS}lu3MpN=efl>c5A0B z$YUTlK_StY8BOM2Dq;Si@sE}?(ljBWF~ol~HEJ@AfB2o24Q3S2J@i5X7C3vNqr5pf$qO8LCVG_b$Gf6G@HKdMG)L&D_mBo@Bk7h#i3>)zwDCC|SwAHX zJWqC$$EL8ClE*=~Or8J?kv-8DgohjThDUILn9q~5)S-5?8 z+~$*Qp<&4;?;E#0>)$V}9pst&cbXPPou7-qE55Bpc; z5Y4`f@w73N7k&Mi!iZvc7lQ%tW?Og#(JCumK-5BXL__poaE=1J2NpLVC5IR~VMbPv z93{txhp-QCM_@3W5E&A;L2`%whAv zdm@H`?nRYLi;?Avi;A75o&&~u@2IbSND4^Q8B>CZ6GN8p>$3yiwW zmVRSYC8IVo%E>4f0}t#wP~@gGNNq$K3=&^p$hM((OHaEk;xwkTUSE*i!IZJv?~?+d zUP+dH!2tbfQA$eZ3rW=D4UE%n5S0?;QNJ%l%bEI&Atpw>%v5ayNQr~~pe#8}w1P=k zGCQS}??}GQ_&)-qA_A4<(Ujo#1*DW=uN(|`28Z_t_N6qLL8fk|5bvcblYSIHHUZd{ zHCoTKT85;MCzweZ4-*;;$dX46QOP?(4}p}Ab#V9y5I@2*iGJ6hmBopOsWNV=N|>r9 zA4?jGVg^UHPj=tRD^BK{(;}avNh5$sS6WvrT9XA9wewWx41dLOvNK*#pD3tLqXK=$ z{b9B_XRf5X~z-P#nlwj``AX_Rk-Q;`h*2b?6yf|4}K%j-yUxkVkxD(B^$7kAE< z#H-p8Rc)sYNqgN5d&6~m!>l82Uz4z}Iju=n)uoaCfnJ=&)9z%2Vv|X6>zqI+9H-;B#v=_}p4O)05VrNAWuR zdF{M$rf0S-?&wO^HGiW0+!|Z6HP-rMtae+>aknp|3z+JK-_5A3DvfXvIJgKm&E+v` z+pHG=dfeQeFt^9d?GbqI?F-P-JRD-9oq5iqiq;s!i(eMyUs%w8`~S$_|GPl^mr4D{ zZf3*3si=jU^V-PKkt4zBU`$v3Uwz^5(EsgP*tf7COK^MNE_Z9urxurmziQUFG{RLY z&*)W;wsn^Y*Ge%=u9X>Foc3CEes`Dl+QTB_bcw*3=NLV&%LfVb7K6*7opTs|EAu8FPnOu= z)`;x>+y@RzNnP$q_i1OM&=J=;4(kr<;HH@Ew^kHPZjl8L`Krdk4T6rPrU!~gbL-dP z?>WmcSfO@ShB8%?)gn60c*oUsZd@y#0Q%dx=iPWf#K+XHH{jd&g!<7&yai_bChX9h z%5Hve6CM)J0R6|@nN9dJQFD&**GIowSE`P0!=;*wFt60lo!y3C;qrMp#+F}XFb?3H zRLlEt13sm0>BDxBP5^IiyboXD@Ehu?9eAXO6|PLED6@z%P4uFAb_Xsu%mEE%Bl+jK it2^+7wyqkj?Zaul0$bB)Ik>QZ3)5%`^3|?Ac