rateslib 2.6.0__tar.gz → 2.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. rateslib-2.7.1/COMMERCIAL_LICENCE +171 -0
  2. {rateslib-2.6.0 → rateslib-2.7.1}/Cargo.lock +67 -67
  3. {rateslib-2.6.0 → rateslib-2.7.1}/Cargo.toml +2 -6
  4. {rateslib-2.6.0 → rateslib-2.7.1}/PKG-INFO +1 -16
  5. {rateslib-2.6.0 → rateslib-2.7.1}/pyproject.toml +23 -11
  6. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/__init__.py +37 -4
  7. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/_spec_loader.py +50 -22
  8. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/interpolation.py +8 -2
  9. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/__instrument_spec.csv +25 -23
  10. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/fixings.py +458 -254
  11. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/default.py +49 -1
  12. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/dual/ift.py +223 -113
  13. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/dual/newton.py +2 -0
  14. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/dual/utils.py +16 -0
  15. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/enums/__init__.py +8 -0
  16. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/enums/parameters.py +179 -45
  17. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/__init__.py +24 -1
  18. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/bill.py +5 -11
  19. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/bond_future.py +5 -9
  20. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/conventions/__init__.py +40 -2
  21. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/fixed_rate_bond.py +30 -13
  22. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/float_rate_note.py +6 -19
  23. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/index_fixed_rate_bond.py +6 -18
  24. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/__init__.py +7 -21
  25. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/accrued.py +2 -1
  26. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/oaspread.py +9 -18
  27. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/cds.py +11 -21
  28. rateslib-2.7.1/python/rateslib/instruments/fee.py +443 -0
  29. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fra.py +21 -33
  30. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_forward.py +6 -12
  31. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/__init__.py +2 -0
  32. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/brokerfly.py +6 -6
  33. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/call_put.py +58 -101
  34. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/risk_reversal.py +12 -12
  35. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/straddle.py +2 -2
  36. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/strangle.py +22 -46
  37. rateslib-2.6.0/python/rateslib/instruments/fx_vol_value.py → rateslib-2.7.1/python/rateslib/instruments/fx_options/vol_value.py +17 -10
  38. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_swap.py +6 -13
  39. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/iirs.py +12 -28
  40. rateslib-2.7.1/python/rateslib/instruments/ir_options/__init__.py +27 -0
  41. rateslib-2.7.1/python/rateslib/instruments/ir_options/call_put.py +922 -0
  42. rateslib-2.7.1/python/rateslib/instruments/ir_options/risk_reversal.py +245 -0
  43. rateslib-2.7.1/python/rateslib/instruments/ir_options/straddle.py +508 -0
  44. rateslib-2.7.1/python/rateslib/instruments/ir_options/strangle.py +244 -0
  45. rateslib-2.7.1/python/rateslib/instruments/ir_options/vol_value.py +324 -0
  46. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/irs.py +38 -36
  47. rateslib-2.7.1/python/rateslib/instruments/loan.py +694 -0
  48. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/ndxcs.py +8 -15
  49. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/analytic_delta.py +13 -19
  50. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/analytic_fixings.py +14 -16
  51. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/cashflows.py +17 -28
  52. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/npv.py +14 -21
  53. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/pricing.py +312 -132
  54. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/sbs.py +16 -28
  55. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/stir_future.py +23 -65
  56. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/value.py +8 -27
  57. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/xcs.py +9 -16
  58. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/yoyis.py +16 -22
  59. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/zcis.py +22 -19
  60. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/zcs.py +15 -20
  61. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/__init__.py +1 -2
  62. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/fixed.py +33 -260
  63. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/float.py +62 -36
  64. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/cashflows.py +18 -8
  65. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/local_types.py +50 -13
  66. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/__init__.py +4 -0
  67. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/credit.py +10 -0
  68. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/fixed_period.py +2 -0
  69. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/float_period.py +2 -0
  70. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/fx_volatility.py +34 -33
  71. rateslib-2.7.1/python/rateslib/periods/ir_volatility.py +707 -0
  72. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/__init__.py +2 -0
  73. rateslib-2.7.1/python/rateslib/periods/parameters/ir_volatility.py +129 -0
  74. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/__init__.py +5 -1
  75. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/analytic_greeks.py +375 -9
  76. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/cashflows.py +10 -0
  77. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/npv.py +52 -0
  78. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/utils.py +66 -4
  79. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/rs.pyi +14 -0
  80. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/__init__.py +0 -32
  81. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/adjuster.py +1 -1
  82. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/convention.py +5 -1
  83. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/frequency.py +6 -1
  84. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/schedule.py +3 -10
  85. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/solver.py +259 -56
  86. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/verify.py +1 -1
  87. rateslib-2.7.1/python/rateslib/volatility/__init__.py +62 -0
  88. {rateslib-2.6.0/python/rateslib/fx_volatility → rateslib-2.7.1/python/rateslib/volatility/fx}/__init__.py +9 -7
  89. {rateslib-2.6.0/python/rateslib/fx_volatility → rateslib-2.7.1/python/rateslib/volatility/fx}/base.py +9 -7
  90. {rateslib-2.6.0/python/rateslib/fx_volatility → rateslib-2.7.1/python/rateslib/volatility/fx}/delta_vol.py +28 -26
  91. {rateslib-2.6.0/python/rateslib/fx_volatility → rateslib-2.7.1/python/rateslib/volatility/fx}/sabr.py +28 -26
  92. {rateslib-2.6.0/python/rateslib/fx_volatility → rateslib-2.7.1/python/rateslib/volatility/fx}/utils.py +17 -384
  93. rateslib-2.7.1/python/rateslib/volatility/ir/__init__.py +38 -0
  94. rateslib-2.7.1/python/rateslib/volatility/ir/base.py +827 -0
  95. rateslib-2.7.1/python/rateslib/volatility/ir/sabr.py +793 -0
  96. rateslib-2.7.1/python/rateslib/volatility/ir/spline.py +868 -0
  97. rateslib-2.7.1/python/rateslib/volatility/ir/utils.py +573 -0
  98. rateslib-2.7.1/python/rateslib/volatility/utils.py +608 -0
  99. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/curves/test_curves.py +19 -0
  100. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/instruments/test_instruments_bonds_legacy.py +90 -2
  101. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/instruments/test_instruments_legacy.py +1158 -19
  102. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/legs/test_analytic_delta.py +19 -0
  103. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/legs/test_legs_legacy.py +133 -64
  104. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/periods/test_periods_legacy.py +599 -8
  105. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/scheduling/test_calendars.py +37 -2
  106. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/serialization/test_json.py +5 -1
  107. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/serialization/test_pickle.py +8 -1
  108. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_default.py +1 -1
  109. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_dualpy.py +15 -1
  110. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_fixings.py +27 -1
  111. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_fx_volatility.py +32 -32
  112. rateslib-2.7.1/python/tests/test_ir_volatility.py +2482 -0
  113. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_solver.py +446 -35
  114. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_to_fix.py +1 -1
  115. {rateslib-2.6.0 → rateslib-2.7.1}/rust/enums/mod.rs +2 -1
  116. {rateslib-2.6.0 → rateslib-2.7.1}/rust/enums/parameters.rs +15 -0
  117. {rateslib-2.6.0 → rateslib-2.7.1}/rust/enums/py/float_fixing_method.rs +13 -0
  118. rateslib-2.7.1/rust/enums/py/ir_option_metric.rs +192 -0
  119. {rateslib-2.6.0 → rateslib-2.7.1}/rust/enums/py/mod.rs +2 -0
  120. {rateslib-2.6.0 → rateslib-2.7.1}/rust/json/json_py.rs +2 -1
  121. {rateslib-2.6.0 → rateslib-2.7.1}/rust/lib.rs +2 -1
  122. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/manager.rs +2 -6
  123. rateslib-2.6.0/.DS_Store +0 -0
  124. rateslib-2.6.0/COMMERCIAL_LICENCE +0 -114
  125. rateslib-2.6.0/python/.DS_Store +0 -0
  126. rateslib-2.6.0/python/rateslib/.DS_Store +0 -0
  127. rateslib-2.6.0/python/rateslib/_deprecations_record.txt +0 -8
  128. rateslib-2.6.0/python/rateslib/curves/.DS_Store +0 -0
  129. rateslib-2.6.0/python/rateslib/data/.DS_Store +0 -0
  130. rateslib-2.6.0/python/rateslib/dual/.DS_Store +0 -0
  131. rateslib-2.6.0/python/rateslib/enums/.DS_Store +0 -0
  132. rateslib-2.6.0/python/rateslib/fx/.DS_Store +0 -0
  133. rateslib-2.6.0/python/rateslib/fx_volatility/.DS_Store +0 -0
  134. rateslib-2.6.0/python/rateslib/instruments/.DS_Store +0 -0
  135. rateslib-2.6.0/python/rateslib/legs/.DS_Store +0 -0
  136. rateslib-2.6.0/python/rateslib/mutability/.DS_Store +0 -0
  137. rateslib-2.6.0/python/rateslib/periods/.DS_Store +0 -0
  138. rateslib-2.6.0/python/rateslib/scheduling/.DS_Store +0 -0
  139. rateslib-2.6.0/python/rateslib/serialization/.DS_Store +0 -0
  140. rateslib-2.6.0/python/rateslib/splines/.DS_Store +0 -0
  141. rateslib-2.6.0/python/rateslib/volatility/.DS_Store +0 -0
  142. rateslib-2.6.0/python/tests/.DS_Store +0 -0
  143. rateslib-2.6.0/requirements.txt +0 -28
  144. rateslib-2.6.0/rust/.DS_Store +0 -0
  145. rateslib-2.6.0/rust/curves/.DS_Store +0 -0
  146. rateslib-2.6.0/rust/dual/.DS_Store +0 -0
  147. rateslib-2.6.0/rust/fx/.DS_Store +0 -0
  148. rateslib-2.6.0/rust/scheduling/.DS_Store +0 -0
  149. rateslib-2.6.0/rust/tests/.DS_Store +0 -0
  150. {rateslib-2.6.0 → rateslib-2.7.1}/.aiignore +0 -0
  151. {rateslib-2.6.0 → rateslib-2.7.1}/.gitattributes +0 -0
  152. {rateslib-2.6.0 → rateslib-2.7.1}/.gitignore +0 -0
  153. {rateslib-2.6.0 → rateslib-2.7.1}/COMMERCIAL_LICENCE_ADDENDUM1 +0 -0
  154. {rateslib-2.6.0 → rateslib-2.7.1}/LICENCE +0 -0
  155. {rateslib-2.6.0 → rateslib-2.7.1}/README.md +0 -0
  156. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/__init__.py +0 -0
  157. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/_parsers.py +0 -0
  158. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/academic/__init__.py +0 -0
  159. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/academic/ns.py +0 -0
  160. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/academic/nss.py +0 -0
  161. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/academic/sw.py +0 -0
  162. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/curves.py +0 -0
  163. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/rs.py +0 -0
  164. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/curves/utils.py +0 -0
  165. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/aud_rfr.csv +0 -0
  166. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/cad_rfr.csv +0 -0
  167. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/corra.csv +0 -0
  168. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/estr.csv +0 -0
  169. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/eur_rfr.csv +0 -0
  170. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/gbp_rfr.csv +0 -0
  171. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/inr_rfr.csv +0 -0
  172. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/jpy_rfr.csv +0 -0
  173. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/nok_rfr.csv +0 -0
  174. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/nowa.csv +0 -0
  175. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/sek_rfr.csv +0 -0
  176. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/sofr.csv +0 -0
  177. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/sonia.csv +0 -0
  178. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/swestr.csv +0 -0
  179. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/historical/usd_rfr.csv +0 -0
  180. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/data/loader.py +0 -0
  181. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/dual/__init__.py +0 -0
  182. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/dual/quadratic.py +0 -0
  183. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/dual/variable.py +0 -0
  184. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/enums/generics.py +0 -0
  185. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/errors.py +0 -0
  186. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/fx/__init__.py +0 -0
  187. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/fx/fx_forwards.py +0 -0
  188. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/fx/fx_rates.py +0 -0
  189. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/__init__.py +0 -0
  190. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/conventions/accrued.py +0 -0
  191. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/conventions/discounting.py +0 -0
  192. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/cashflows.py +0 -0
  193. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/duration.py +0 -0
  194. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/repo.py +0 -0
  195. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/ytm.py +0 -0
  196. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/fly.py +0 -0
  197. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/ndf.py +0 -0
  198. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/portfolio.py +0 -0
  199. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/__init__.py +0 -0
  200. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/fixings.py +0 -0
  201. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/kwargs.py +0 -0
  202. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/rate.py +0 -0
  203. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/sensitivities.py +0 -0
  204. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/utils.py +0 -0
  205. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/instruments/spread.py +0 -0
  206. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/amortization.py +0 -0
  207. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/credit.py +0 -0
  208. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/custom.py +0 -0
  209. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/__init__.py +0 -0
  210. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/analytic_delta.py +0 -0
  211. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/analytic_fixings.py +0 -0
  212. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/fixings.py +0 -0
  213. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/npv.py +0 -0
  214. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/mutability/__init__.py +0 -0
  215. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/cashflow.py +0 -0
  216. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/float_rate.py +0 -0
  217. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/credit.py +0 -0
  218. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/fx_volatility.py +0 -0
  219. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/index.py +0 -0
  220. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/mtm.py +0 -0
  221. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/period.py +0 -0
  222. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/rate.py +0 -0
  223. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/settlement.py +0 -0
  224. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/analytic_delta.py +0 -0
  225. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/analytic_fixings.py +0 -0
  226. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/fixings.py +0 -0
  227. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/py.typed +0 -0
  228. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/calendars.py +0 -0
  229. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/dcfs.py +0 -0
  230. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/imm.py +0 -0
  231. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/scheduling/rollday.py +0 -0
  232. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/serialization/__init__.py +0 -0
  233. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/serialization/json.py +0 -0
  234. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/serialization/utils.py +0 -0
  235. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/splines/__init__.py +0 -0
  236. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/splines/evaluate.py +0 -0
  237. {rateslib-2.6.0 → rateslib-2.7.1}/python/rateslib/utils/calendars.py +0 -0
  238. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/curves/test_curvesrs.py +0 -0
  239. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/curves/test_ns.py +0 -0
  240. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/curves/test_nss.py +0 -0
  241. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/curves/test_sw.py +0 -0
  242. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/legs/test_init.py +0 -0
  243. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/legs/test_leg_fixings.py +0 -0
  244. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/periods/test_fixings_exposure.py +0 -0
  245. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/periods/test_fixings_load.py +0 -0
  246. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/periods/test_float_rate.py +0 -0
  247. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/periods/test_periods_init.py +0 -0
  248. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/periods/test_static_npv.py +0 -0
  249. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/scheduling/test_calendarsrs.py +0 -0
  250. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/scheduling/test_frequency.py +0 -0
  251. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/scheduling/test_imm.py +0 -0
  252. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/scheduling/test_schedule.py +0 -0
  253. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/scheduling/test_schedulers.py +0 -0
  254. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/serialization/test_repr.py +0 -0
  255. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_dual.py +0 -0
  256. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_dualrs.py +0 -0
  257. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_enums.py +0 -0
  258. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_fx.py +0 -0
  259. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_fxrs.py +0 -0
  260. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_serialization.py +0 -0
  261. {rateslib-2.6.0 → rateslib-2.7.1}/python/tests/test_splines.py +0 -0
  262. {rateslib-2.6.0 → rateslib-2.7.1}/rust/_README.txt +0 -0
  263. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/curve.rs +0 -0
  264. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/curve_py.rs +0 -0
  265. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/interpolation_py.rs +0 -0
  266. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_flat_backward.rs +0 -0
  267. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_flat_forward.rs +0 -0
  268. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_linear.rs +0 -0
  269. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_linear_zero_rate.rs +0 -0
  270. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_log_cubic.rs +0 -0
  271. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_log_linear.rs +0 -0
  272. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_null.rs +0 -0
  273. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/mod.rs +0 -0
  274. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/interpolation/utils.rs +0 -0
  275. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/mod.rs +0 -0
  276. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/nodes.rs +0 -0
  277. {rateslib-2.6.0 → rateslib-2.7.1}/rust/curves/serde.rs +0 -0
  278. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/docs.rs +0 -0
  279. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual.rs +0 -0
  280. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/add.rs +0 -0
  281. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/convert.rs +0 -0
  282. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/div.rs +0 -0
  283. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/eq.rs +0 -0
  284. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/from.rs +0 -0
  285. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/math_funcs.rs +0 -0
  286. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/mod.rs +0 -0
  287. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/mul.rs +0 -0
  288. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/neg.rs +0 -0
  289. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/num.rs +0 -0
  290. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/numeric_ops.rs +0 -0
  291. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/one.rs +0 -0
  292. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/ord.rs +0 -0
  293. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/pow.rs +0 -0
  294. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/rem.rs +0 -0
  295. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/signed.rs +0 -0
  296. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/sub.rs +0 -0
  297. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/sum.rs +0 -0
  298. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_ops/zero.rs +0 -0
  299. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/dual_py.rs +0 -0
  300. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/enums.rs +0 -0
  301. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/linalg/linalg_dual.rs +0 -0
  302. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/linalg/linalg_f64.rs +0 -0
  303. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/linalg/mod.rs +0 -0
  304. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/linalg_py.rs +0 -0
  305. {rateslib-2.6.0 → rateslib-2.7.1}/rust/dual/mod.rs +0 -0
  306. {rateslib-2.6.0 → rateslib-2.7.1}/rust/enums/py/leg_index_base.rs +0 -0
  307. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx/mod.rs +0 -0
  308. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx/rates/ccy.rs +0 -0
  309. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx/rates/fxpair.rs +0 -0
  310. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx/rates/fxrate.rs +0 -0
  311. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx/rates/mod.rs +0 -0
  312. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx/rates_py.rs +0 -0
  313. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx_volatility/mod.rs +0 -0
  314. {rateslib-2.6.0 → rateslib-2.7.1}/rust/fx_volatility/sabr_funcs.rs +0 -0
  315. {rateslib-2.6.0 → rateslib-2.7.1}/rust/json/mod.rs +0 -0
  316. {rateslib-2.6.0 → rateslib-2.7.1}/rust/main.rs +0 -0
  317. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/adjuster.rs +0 -0
  318. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/cal.rs +0 -0
  319. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/calendar.rs +0 -0
  320. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/dateroll.rs +0 -0
  321. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/mod.rs +0 -0
  322. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/all.rs +0 -0
  323. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/bjs.rs +0 -0
  324. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/bjs_script.py +0 -0
  325. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/bus.rs +0 -0
  326. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/fed.rs +0 -0
  327. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/fed_script.py +0 -0
  328. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/ldn.rs +0 -0
  329. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/ldn_script.py +0 -0
  330. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mex.rs +0 -0
  331. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mex_script.py +0 -0
  332. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mod.rs +0 -0
  333. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mum.rs +0 -0
  334. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mum_script.py +0 -0
  335. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nsw.rs +0 -0
  336. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nsw_script.py +0 -0
  337. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nyc.rs +0 -0
  338. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nyc_script.py +0 -0
  339. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/osl.rs +0 -0
  340. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/osl_script.py +0 -0
  341. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/stk.rs +0 -0
  342. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/stk_script.py +0 -0
  343. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/syd.rs +0 -0
  344. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/syd_script.py +0 -0
  345. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tgt.rs +0 -0
  346. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tgt_script.py +0 -0
  347. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tro.rs +0 -0
  348. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tro_script.py +0 -0
  349. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tyo.rs +0 -0
  350. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tyo_script.py +0 -0
  351. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/wlg.rs +0 -0
  352. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/wlg_script.py +0 -0
  353. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/zur.rs +0 -0
  354. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/zur_script.py +0 -0
  355. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/named_cal.rs +0 -0
  356. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/calendars/union_cal.rs +0 -0
  357. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/convention.rs +0 -0
  358. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/frequency/frequency.rs +0 -0
  359. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/frequency/imm.rs +0 -0
  360. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/frequency/mod.rs +0 -0
  361. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/frequency/rollday.rs +0 -0
  362. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/mod.rs +0 -0
  363. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/adjuster.rs +0 -0
  364. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/calendar.rs +0 -0
  365. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/convention.rs +0 -0
  366. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/frequency.rs +0 -0
  367. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/imm.rs +0 -0
  368. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/mod.rs +0 -0
  369. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/rollday.rs +0 -0
  370. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/py/schedule.rs +0 -0
  371. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/schedule.rs +0 -0
  372. {rateslib-2.6.0 → rateslib-2.7.1}/rust/scheduling/serde.rs +0 -0
  373. {rateslib-2.6.0 → rateslib-2.7.1}/rust/splines/mod.rs +0 -0
  374. {rateslib-2.6.0 → rateslib-2.7.1}/rust/splines/spline.rs +0 -0
  375. {rateslib-2.6.0 → rateslib-2.7.1}/rust/splines/spline_py.rs +0 -0
  376. {rateslib-2.6.0 → rateslib-2.7.1}/rust/tests/dual1.rs +0 -0
  377. {rateslib-2.6.0 → rateslib-2.7.1}/rust/tests/mod.rs +0 -0
  378. {rateslib-2.6.0 → rateslib-2.7.1}/rust/tests/splines/mod.rs +0 -0
@@ -0,0 +1,171 @@
1
+ Commercial Subscription Licence Agreement
2
+ =========================================
3
+
4
+ This Commercial Subscription Licence Agreement (“Agreement”) is entered into between:
5
+
6
+ Licensor:
7
+ Siffrorna Technology Limited
8
+ 42 Town Street, Sutton, Retford, DN22 8PT, UK
9
+
10
+ and
11
+
12
+ Licensee:
13
+ The individual or legal entity accepting this Agreement.
14
+
15
+ 1. Grant of Licence
16
+ -------------------
17
+
18
+ Subject to payment of applicable fees and compliance with this Agreement, the Licensor grants
19
+ the Licensee a non-exclusive, non-transferable, non-sublicensable licence to use the software
20
+ identified below (the “Software”) during the Subscription Term.
21
+
22
+ The Licensee may install and use the Software only within the scope of the subscription
23
+ purchased. Unless otherwise agreed in writing as per any purchase order or licence key file,
24
+ each subscription permits use by a single internal user or a single designated system environment.
25
+
26
+ This licence permits the Licensee to:
27
+
28
+ - use the Software for internal commercial and internal professional purposes only
29
+ - deploy the Software in internal production environments
30
+ - integrate the Software with internal systems solely for the Licensee’s internal
31
+ business purposes
32
+ - modify the Software and create derivative works for internal use
33
+ - distribute the Software as part of an internal product or service
34
+
35
+ Except as expressly permitted, all rights are reserved by the Licensor.
36
+
37
+ The Licensor shall have no responsibility for any modified versions of the Software
38
+ created by the Licensee.
39
+
40
+ 2. Subscription Term
41
+ --------------------
42
+
43
+ This Agreement is effective for the duration of the active subscription (“Subscription Term”).
44
+
45
+ Upon expiration or termination of the Subscription Term, all rights granted under this
46
+ Agreement automatically terminate unless renewed in writing.
47
+
48
+ 3. Fees and Payment
49
+ -------------------
50
+
51
+ Use of the Software under this Agreement requires payment of the applicable subscription fees,
52
+ as agreed separately or displayed at the time of purchase.
53
+
54
+ Failure to pay fees when due constitutes a material breach of this Agreement.
55
+
56
+ 4. Ownership
57
+ ------------
58
+
59
+ The Software is licensed, not sold.
60
+
61
+ All right, title, and interest in and to the Software, including all intellectual property
62
+ rights, remain with the Licensor.
63
+
64
+ 5. Restrictions
65
+ ---------------
66
+
67
+ The Licensee may not:
68
+
69
+ - remove or obscure copyright or licence notices
70
+ - misrepresent ownership of the Software
71
+ - use the Software in violation of applicable laws or regulations
72
+
73
+ 6. Termination
74
+ --------------
75
+
76
+ This Agreement may be terminated:
77
+
78
+ - automatically upon expiration of the Subscription Term
79
+ - immediately by the Licensor in the event of material breach
80
+ - by the Licensee by ceasing use and not renewing the subscription
81
+
82
+ Upon termination, the Licensee must cease use of the Software and delete all copies, except
83
+ where continued use is expressly permitted in writing.
84
+
85
+ 7. Disclaimer of Warranty
86
+ -------------------------
87
+
88
+ THE SOFTWARE IS PROVIDED “AS IS” AND “AS AVAILABLE”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
89
+ IMPLIED.
90
+
91
+ TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE LICENSOR DISCLAIMS ALL WARRANTIES, INCLUDING BUT
92
+ NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT,
93
+ AND ANY WARRANTIES ARISING FROM COURSE OF DEALING OR USAGE OF TRADE.
94
+
95
+ THE LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR-FREE, THAT DEFECTS WILL BE
96
+ CORRECTED, OR THAT ANY RESULTS, OUTPUTS, CALCULATIONS, OR ANALYTICAL RESULTS GENERATED BY
97
+ THE SOFTWARE WILL BE ACCURATE, COMPLETE, OR SUITABLE FOR ANY PARTICULAR PURPOSE.
98
+
99
+ 8. No Investment Advice and Independent Judgment
100
+ ------------------------------------------------
101
+
102
+ The Software and any outputs, calculations, models, analytics or data generated by the
103
+ Software are provided solely for informational and analytical purposes. They do not constitute
104
+ investment advice, financial advice, trading advice, or a recommendation to buy, sell, or
105
+ hold any security, financial instrument, or investment.
106
+
107
+ The Licensee acknowledges that it is solely responsible for evaluating the accuracy,
108
+ completeness, and usefulness of the Software and any outputs generated by it. The Licensee
109
+ must exercise its own independent judgment when making investment, trading, or
110
+ financial decisions and must not rely solely on the Software.
111
+
112
+ The Licensee acknowledges that the Software is a tool designed to assist analysis and
113
+ that all investment, trading, and financial decisions remain the sole responsibility
114
+ of the Licensee.
115
+
116
+ 9. Data and Input Responsibility
117
+ --------------------------------
118
+
119
+ The Licensee is solely responsible for all data, assumptions, parameters,
120
+ configurations, and other inputs used with the Software. The Licensor shall not be
121
+ responsible for any errors or losses arising from inaccurate or incomplete inputs
122
+ supplied by the Licensee or any third party.
123
+
124
+ 10. Intended Use
125
+ ----------------
126
+
127
+ The Software is provided as a general analytical tool. The Licensee is responsible for
128
+ determining whether the Software is appropriate for its intended use. The Licensor shall
129
+ not be liable for any losses arising from use of the Software in applications or
130
+ contexts for which it was not designed.
131
+
132
+ 11. Limitation of Liability
133
+ --------------------------
134
+
135
+ TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE LICENSOR SHALL NOT BE LIABLE FOR ANY INDIRECT,
136
+ INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO
137
+ LOSS OF PROFITS, TRADING LOSSES, LOSS OF BUSINESS OPPORTUNITY, LOSS OF DATA,
138
+ OR BUSINESS INTERRUPTION, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT OR THE
139
+ USE OF THE SOFTWARE.
140
+
141
+ THE TOTAL AGGREGATE LIABILITY OF THE LICENSOR ARISING OUT OF OR IN CONNECTION WITH THIS
142
+ AGREEMENT OR THE SOFTWARE, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), OR
143
+ OTHERWISE, SHALL NOT EXCEED THE TOTAL FEES PAID BY THE LICENSEE FOR THE SOFTWARE
144
+ DURING THE TWELVE (12) MONTHS PRECEDING THE EVENT GIVING RISE TO THE CLAIM.
145
+
146
+ 12. Governing Law
147
+ ----------------
148
+
149
+ This Agreement shall be governed by and construed in accordance with the laws of England
150
+ and Wales, excluding its conflict of law principles.
151
+
152
+ 13. Severability
153
+ ----------------
154
+
155
+ If any provision of this Agreement is held to be invalid or unenforceable, the remaining
156
+ provisions shall remain in full force and effect.
157
+
158
+ 14. Entire Agreement
159
+ --------------------
160
+
161
+ This Agreement constitutes the entire agreement between the parties regarding the Software and
162
+ supersedes all prior or contemporaneous agreements or understandings relating to its
163
+ subject matter.
164
+
165
+ 15. Language
166
+ ------------
167
+
168
+ This Agreement is written in English. Any translations are provided for convenience only.
169
+ In the event of any conflict, the English version shall prevail.
170
+
171
+ END OF AGREEMENT
@@ -60,21 +60,21 @@ dependencies = [
60
60
 
61
61
  [[package]]
62
62
  name = "bumpalo"
63
- version = "3.19.1"
63
+ version = "3.20.2"
64
64
  source = "registry+https://github.com/rust-lang/crates.io-index"
65
- checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
65
+ checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
66
66
 
67
67
  [[package]]
68
68
  name = "bytemuck"
69
- version = "1.24.0"
69
+ version = "1.25.0"
70
70
  source = "registry+https://github.com/rust-lang/crates.io-index"
71
- checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
71
+ checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
72
72
 
73
73
  [[package]]
74
74
  name = "cc"
75
- version = "1.2.52"
75
+ version = "1.2.58"
76
76
  source = "registry+https://github.com/rust-lang/crates.io-index"
77
- checksum = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3"
77
+ checksum = "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1"
78
78
  dependencies = [
79
79
  "find-msvc-tools",
80
80
  "shlex",
@@ -88,9 +88,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
88
88
 
89
89
  [[package]]
90
90
  name = "chrono"
91
- version = "0.4.42"
91
+ version = "0.4.44"
92
92
  source = "registry+https://github.com/rust-lang/crates.io-index"
93
- checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
93
+ checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
94
94
  dependencies = [
95
95
  "iana-time-zone",
96
96
  "js-sys",
@@ -120,9 +120,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
120
120
 
121
121
  [[package]]
122
122
  name = "find-msvc-tools"
123
- version = "0.1.7"
123
+ version = "0.1.9"
124
124
  source = "registry+https://github.com/rust-lang/crates.io-index"
125
- checksum = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41"
125
+ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
126
126
 
127
127
  [[package]]
128
128
  name = "foldhash"
@@ -166,9 +166,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
166
166
 
167
167
  [[package]]
168
168
  name = "iana-time-zone"
169
- version = "0.1.64"
169
+ version = "0.1.65"
170
170
  source = "registry+https://github.com/rust-lang/crates.io-index"
171
- checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
171
+ checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
172
172
  dependencies = [
173
173
  "android_system_properties",
174
174
  "core-foundation-sys",
@@ -221,15 +221,15 @@ dependencies = [
221
221
 
222
222
  [[package]]
223
223
  name = "itoa"
224
- version = "1.0.17"
224
+ version = "1.0.18"
225
225
  source = "registry+https://github.com/rust-lang/crates.io-index"
226
- checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
226
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
227
227
 
228
228
  [[package]]
229
229
  name = "js-sys"
230
- version = "0.3.83"
230
+ version = "0.3.92"
231
231
  source = "registry+https://github.com/rust-lang/crates.io-index"
232
- checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
232
+ checksum = "cc4c90f45aa2e6eacbe8645f77fdea542ac97a494bcd117a67df9ff4d611f995"
233
233
  dependencies = [
234
234
  "once_cell",
235
235
  "wasm-bindgen",
@@ -237,15 +237,15 @@ dependencies = [
237
237
 
238
238
  [[package]]
239
239
  name = "libc"
240
- version = "0.2.180"
240
+ version = "0.2.183"
241
241
  source = "registry+https://github.com/rust-lang/crates.io-index"
242
- checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
242
+ checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
243
243
 
244
244
  [[package]]
245
245
  name = "libm"
246
- version = "0.2.15"
246
+ version = "0.2.16"
247
247
  source = "registry+https://github.com/rust-lang/crates.io-index"
248
- checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
248
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
249
249
 
250
250
  [[package]]
251
251
  name = "log"
@@ -265,15 +265,15 @@ dependencies = [
265
265
 
266
266
  [[package]]
267
267
  name = "memchr"
268
- version = "2.7.6"
268
+ version = "2.8.0"
269
269
  source = "registry+https://github.com/rust-lang/crates.io-index"
270
- checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
270
+ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
271
271
 
272
272
  [[package]]
273
273
  name = "nalgebra"
274
- version = "0.33.2"
274
+ version = "0.33.3"
275
275
  source = "registry+https://github.com/rust-lang/crates.io-index"
276
- checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b"
276
+ checksum = "9d43ddcacf343185dfd6de2ee786d9e8b1c2301622afab66b6c73baf9882abfd"
277
277
  dependencies = [
278
278
  "approx",
279
279
  "matrixmultiply",
@@ -369,9 +369,9 @@ dependencies = [
369
369
 
370
370
  [[package]]
371
371
  name = "once_cell"
372
- version = "1.21.3"
372
+ version = "1.21.4"
373
373
  source = "registry+https://github.com/rust-lang/crates.io-index"
374
- checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
374
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
375
375
 
376
376
  [[package]]
377
377
  name = "paste"
@@ -381,15 +381,15 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
381
381
 
382
382
  [[package]]
383
383
  name = "portable-atomic"
384
- version = "1.13.0"
384
+ version = "1.13.1"
385
385
  source = "registry+https://github.com/rust-lang/crates.io-index"
386
- checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950"
386
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
387
387
 
388
388
  [[package]]
389
389
  name = "portable-atomic-util"
390
- version = "0.2.4"
390
+ version = "0.2.6"
391
391
  source = "registry+https://github.com/rust-lang/crates.io-index"
392
- checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
392
+ checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3"
393
393
  dependencies = [
394
394
  "portable-atomic",
395
395
  ]
@@ -405,18 +405,18 @@ dependencies = [
405
405
 
406
406
  [[package]]
407
407
  name = "proc-macro2"
408
- version = "1.0.105"
408
+ version = "1.0.106"
409
409
  source = "registry+https://github.com/rust-lang/crates.io-index"
410
- checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7"
410
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
411
411
  dependencies = [
412
412
  "unicode-ident",
413
413
  ]
414
414
 
415
415
  [[package]]
416
416
  name = "pyo3"
417
- version = "0.28.1"
417
+ version = "0.28.2"
418
418
  source = "registry+https://github.com/rust-lang/crates.io-index"
419
- checksum = "14c738662e2181be11cb82487628404254902bb3225d8e9e99c31f3ef82a405c"
419
+ checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1"
420
420
  dependencies = [
421
421
  "chrono",
422
422
  "indexmap",
@@ -430,18 +430,18 @@ dependencies = [
430
430
 
431
431
  [[package]]
432
432
  name = "pyo3-build-config"
433
- version = "0.28.1"
433
+ version = "0.28.2"
434
434
  source = "registry+https://github.com/rust-lang/crates.io-index"
435
- checksum = "f9ca0864a7dd3c133a7f3f020cbff2e12e88420da854c35540fd20ce2d60e435"
435
+ checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7"
436
436
  dependencies = [
437
437
  "target-lexicon",
438
438
  ]
439
439
 
440
440
  [[package]]
441
441
  name = "pyo3-ffi"
442
- version = "0.28.1"
442
+ version = "0.28.2"
443
443
  source = "registry+https://github.com/rust-lang/crates.io-index"
444
- checksum = "9dfc1956b709823164763a34cc42bbfd26b8730afa77809a3df8b94a3ae3b059"
444
+ checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc"
445
445
  dependencies = [
446
446
  "libc",
447
447
  "pyo3-build-config",
@@ -449,9 +449,9 @@ dependencies = [
449
449
 
450
450
  [[package]]
451
451
  name = "pyo3-macros"
452
- version = "0.28.1"
452
+ version = "0.28.2"
453
453
  source = "registry+https://github.com/rust-lang/crates.io-index"
454
- checksum = "29dc660ad948bae134d579661d08033fbb1918f4529c3bbe3257a68f2009ddf2"
454
+ checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e"
455
455
  dependencies = [
456
456
  "proc-macro2",
457
457
  "pyo3-macros-backend",
@@ -461,9 +461,9 @@ dependencies = [
461
461
 
462
462
  [[package]]
463
463
  name = "pyo3-macros-backend"
464
- version = "0.28.1"
464
+ version = "0.28.2"
465
465
  source = "registry+https://github.com/rust-lang/crates.io-index"
466
- checksum = "e78cd6c6d718acfcedf26c3d21fe0f053624368b0d44298c55d7138fde9331f7"
466
+ checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a"
467
467
  dependencies = [
468
468
  "heck",
469
469
  "proc-macro2",
@@ -474,9 +474,9 @@ dependencies = [
474
474
 
475
475
  [[package]]
476
476
  name = "quote"
477
- version = "1.0.43"
477
+ version = "1.0.45"
478
478
  source = "registry+https://github.com/rust-lang/crates.io-index"
479
- checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
479
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
480
480
  dependencies = [
481
481
  "proc-macro2",
482
482
  ]
@@ -523,7 +523,7 @@ dependencies = [
523
523
 
524
524
  [[package]]
525
525
  name = "rateslib"
526
- version = "2.6.0"
526
+ version = "2.7.1"
527
527
  dependencies = [
528
528
  "auto_ops",
529
529
  "bincode",
@@ -548,9 +548,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
548
548
 
549
549
  [[package]]
550
550
  name = "rustc-hash"
551
- version = "2.1.1"
551
+ version = "2.1.2"
552
552
  source = "registry+https://github.com/rust-lang/crates.io-index"
553
- checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
553
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
554
554
 
555
555
  [[package]]
556
556
  name = "rustversion"
@@ -643,9 +643,9 @@ dependencies = [
643
643
 
644
644
  [[package]]
645
645
  name = "syn"
646
- version = "2.0.114"
646
+ version = "2.0.117"
647
647
  source = "registry+https://github.com/rust-lang/crates.io-index"
648
- checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
648
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
649
649
  dependencies = [
650
650
  "proc-macro2",
651
651
  "quote",
@@ -654,9 +654,9 @@ dependencies = [
654
654
 
655
655
  [[package]]
656
656
  name = "target-lexicon"
657
- version = "0.13.4"
657
+ version = "0.13.5"
658
658
  source = "registry+https://github.com/rust-lang/crates.io-index"
659
- checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
659
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
660
660
 
661
661
  [[package]]
662
662
  name = "typenum"
@@ -666,9 +666,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
666
666
 
667
667
  [[package]]
668
668
  name = "unicode-ident"
669
- version = "1.0.22"
669
+ version = "1.0.24"
670
670
  source = "registry+https://github.com/rust-lang/crates.io-index"
671
- checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
671
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
672
672
 
673
673
  [[package]]
674
674
  name = "unty"
@@ -690,9 +690,9 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
690
690
 
691
691
  [[package]]
692
692
  name = "wasm-bindgen"
693
- version = "0.2.106"
693
+ version = "0.2.115"
694
694
  source = "registry+https://github.com/rust-lang/crates.io-index"
695
- checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
695
+ checksum = "6523d69017b7633e396a89c5efab138161ed5aafcbc8d3e5c5a42ae38f50495a"
696
696
  dependencies = [
697
697
  "cfg-if",
698
698
  "once_cell",
@@ -703,9 +703,9 @@ dependencies = [
703
703
 
704
704
  [[package]]
705
705
  name = "wasm-bindgen-macro"
706
- version = "0.2.106"
706
+ version = "0.2.115"
707
707
  source = "registry+https://github.com/rust-lang/crates.io-index"
708
- checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
708
+ checksum = "4e3a6c758eb2f701ed3d052ff5737f5bfe6614326ea7f3bbac7156192dc32e67"
709
709
  dependencies = [
710
710
  "quote",
711
711
  "wasm-bindgen-macro-support",
@@ -713,9 +713,9 @@ dependencies = [
713
713
 
714
714
  [[package]]
715
715
  name = "wasm-bindgen-macro-support"
716
- version = "0.2.106"
716
+ version = "0.2.115"
717
717
  source = "registry+https://github.com/rust-lang/crates.io-index"
718
- checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
718
+ checksum = "921de2737904886b52bcbb237301552d05969a6f9c40d261eb0533c8b055fedf"
719
719
  dependencies = [
720
720
  "bumpalo",
721
721
  "proc-macro2",
@@ -726,9 +726,9 @@ dependencies = [
726
726
 
727
727
  [[package]]
728
728
  name = "wasm-bindgen-shared"
729
- version = "0.2.106"
729
+ version = "0.2.115"
730
730
  source = "registry+https://github.com/rust-lang/crates.io-index"
731
- checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
731
+ checksum = "a93e946af942b58934c604527337bad9ae33ba1d5c6900bbb41c2c07c2364a93"
732
732
  dependencies = [
733
733
  "unicode-ident",
734
734
  ]
@@ -804,18 +804,18 @@ dependencies = [
804
804
 
805
805
  [[package]]
806
806
  name = "zerocopy"
807
- version = "0.8.33"
807
+ version = "0.8.48"
808
808
  source = "registry+https://github.com/rust-lang/crates.io-index"
809
- checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd"
809
+ checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9"
810
810
  dependencies = [
811
811
  "zerocopy-derive",
812
812
  ]
813
813
 
814
814
  [[package]]
815
815
  name = "zerocopy-derive"
816
- version = "0.8.33"
816
+ version = "0.8.48"
817
817
  source = "registry+https://github.com/rust-lang/crates.io-index"
818
- checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1"
818
+ checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4"
819
819
  dependencies = [
820
820
  "proc-macro2",
821
821
  "quote",
@@ -824,6 +824,6 @@ dependencies = [
824
824
 
825
825
  [[package]]
826
826
  name = "zmij"
827
- version = "1.0.14"
827
+ version = "1.0.21"
828
828
  source = "registry+https://github.com/rust-lang/crates.io-index"
829
- checksum = "bd8f3f50b848df28f887acb68e41201b5aea6bc8a8dacc00fb40635ff9a72fea"
829
+ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
@@ -1,17 +1,13 @@
1
1
  [package]
2
2
  name = "rateslib"
3
- version = "2.6.0"
3
+ version = "2.7.1"
4
4
  edition = "2021"
5
5
  exclude = [
6
6
  ".github/*",
7
7
  "benches/*",
8
8
  "benchmarks/*",
9
9
  "notebooks/*",
10
- ".readthedocs.yaml",
11
10
  "docs/*",
12
- "PACKAGING.md",
13
- "PIP_FREEZE.txt",
14
- "requirements-minimum.txt",
15
11
  "robots.txt",
16
12
  ]
17
13
  readme = "README.md"
@@ -34,7 +30,7 @@ chrono = { version = "0.4", features = ["serde"] }
34
30
  indexmap = { version = "2.7", features = ["serde"] }
35
31
  ndarray = { version = "0.17", features = ["serde"] }
36
32
  internment = { version = "0.8", features = ["serde"] }
37
- pyo3 = "=0.28.1"
33
+ pyo3 = "0.28"
38
34
  num-traits = "0.2"
39
35
  auto_ops = "0.3"
40
36
  numpy = "0.28"
@@ -1,27 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rateslib
3
- Version: 2.6.0
3
+ Version: 2.7.1
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
7
7
  Requires-Dist: numpy>=1.21.5,<3.0
8
8
  Requires-Dist: matplotlib>=3.5.1,<4.0
9
9
  Requires-Dist: pandas>=1.4.1,<4.0
10
- Requires-Dist: pandas>=3.0,<4.0 ; extra == 'dev'
11
- Requires-Dist: pytest>=9.0,<10.0 ; extra == 'dev'
12
- Requires-Dist: coverage>=7.6.1,<8.0 ; extra == 'dev'
13
- Requires-Dist: ruff>=0.6.3,<1.0 ; extra == 'dev'
14
- Requires-Dist: mypy>=1.13,<1.20 ; extra == 'dev'
15
- Requires-Dist: pandas-stubs>2.0,<4.0 ; extra == 'dev'
16
- Requires-Dist: sphinx>=8.1,<9.0 ; extra == 'dev'
17
- Requires-Dist: sphinx-automodapi>=0.16.0,<1.0 ; extra == 'dev'
18
- Requires-Dist: sphinxcontrib-googleanalytics>=0.4,<1.0 ; extra == 'dev'
19
- Requires-Dist: sphinx-tabs>=3.4,<4.0 ; extra == 'dev'
20
- Requires-Dist: pydata-sphinx-theme>=0.15.4,<1.0 ; extra == 'dev'
21
- Requires-Dist: nbsphinx>=0.9.5,<1.0 ; extra == 'dev'
22
- Requires-Dist: jupyterlab>=4.0,<5.0 ; extra == 'dev'
23
- Requires-Dist: pickleshare>=0.7.5,<1.0 ; extra == 'dev'
24
- Provides-Extra: dev
25
10
  License-File: LICENCE
26
11
  License-File: COMMERCIAL_LICENCE
27
12
  License-File: COMMERCIAL_LICENCE_ADDENDUM1
@@ -15,7 +15,7 @@ features = ["pyo3/extension-module"]
15
15
 
16
16
  [project]
17
17
  name = "rateslib"
18
- version = "2.6.0"
18
+ version = "2.7.1"
19
19
  description = "A fixed income library for trading interest rates"
20
20
  readme = "README.md"
21
21
  authors = [{ name = "J H M Darbyshire"}]
@@ -33,23 +33,29 @@ classifiers = [
33
33
  "Programming Language :: Python :: Implementation :: PyPy",
34
34
  ]
35
35
 
36
- [project.optional-dependencies]
37
- dev = [
38
- # testing
39
- "pandas>=3.0,<4.0",
36
+ [dependency-groups]
37
+ test = [
38
+ # "pandas>=3.0,<4.0",
40
39
  "pytest>=9.0,<10.0",
40
+ "pytest-env>=1.0,<2.0",
41
41
  "coverage>=7.6.1,<8.0",
42
- # style/linting
42
+ ]
43
+ lint = [
43
44
  "ruff>=0.6.3,<1.0",
45
+ ]
46
+ typing = [
44
47
  "mypy>=1.13,<1.20",
45
48
  "pandas-stubs>2.0,<4.0",
46
- # doc building
47
- "sphinx>=8.1,<9.0",
49
+ ]
50
+ docs = [
51
+ "sphinx>=9.0,<10.0; python_version >= '3.11'",
48
52
  "sphinx-automodapi>=0.16.0,<1.0",
49
53
  "sphinxcontrib-googleanalytics>=0.4,<1.0",
50
54
  "sphinx-tabs>=3.4,<4.0",
51
55
  "pydata-sphinx-theme>=0.15.4,<1.0",
52
56
  "nbsphinx>=0.9.5,<1.0",
57
+ ]
58
+ gui = [
53
59
  "jupyterlab>=4.0,<5.0",
54
60
  "pickleshare>=0.7.5,<1.0",
55
61
  ]
@@ -57,7 +63,9 @@ dev = [
57
63
  [tool.pytest.ini_options]
58
64
  # pythonpath = [".", "python/rateslib"]
59
65
  minversion = "8.0"
60
- addopts = "--ignore-glob=*_ignore.py" # use -s to show print capture, use -q for quiet, use -v for verbose
66
+ addopts = [
67
+ "--ignore-glob=*_ignore.py",
68
+ ] # use -s to show print capture, use -q for quiet, use -v for verbose
61
69
  testpaths = [
62
70
  "python/tests",
63
71
  ]
@@ -66,6 +74,9 @@ filterwarnings = [
66
74
  "ignore::PendingDeprecationWarning"
67
75
  ]
68
76
 
77
+ [tool.pytest_env]
78
+ MPLBACKEND = "Agg"
79
+
69
80
  [tool.setuptools]
70
81
  packages = ["rateslib"]
71
82
 
@@ -81,13 +92,14 @@ exclude = [
81
92
  "target",
82
93
  "venv9",
83
94
  "venv11",
84
- "scratch.py",
95
+ "scratch*.py",
85
96
  "__pycache__",
86
97
  "docs/source/conf.py",
87
98
  "old",
88
99
  "build",
89
100
  "dist",
90
101
  "bench",
102
+ "benchmarks",
91
103
  ]
92
104
  # Same as Black.
93
105
  line-length = 100
@@ -151,7 +163,7 @@ max-complexity = 14
151
163
  files = ["python/"]
152
164
  exclude = [
153
165
  "python/tests",
154
- # "/instruments/bonds/bond_future.py",
166
+ # "/periods/ir_volatility.py",
155
167
  ]
156
168
  strict = true
157
169
  #packages = [