lixinger-python 0.3.10__tar.gz → 0.3.12__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 (495) hide show
  1. lixinger_python-0.3.12/.claude/settings.local.json +18 -0
  2. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/ARCHITECTURE.md +6 -4
  3. lixinger_python-0.3.12/CHANGELOG.md +204 -0
  4. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/PKG-INFO +1 -1
  5. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/PUBLISHING.md +2 -28
  6. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/__init__.py +20 -0
  7. lixinger_python-0.3.12/lixinger/api/cn/industry/__init__.py +21 -0
  8. lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/__init__.py +33 -0
  9. lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/cni.py +129 -0
  10. lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/sw.py +129 -0
  11. lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/sw_2021.py +129 -0
  12. lixinger_python-0.3.12/lixinger/api/cn/industry/namespace.py +88 -0
  13. lixinger_python-0.3.12/lixinger/api/macro/__init__.py +30 -0
  14. lixinger_python-0.3.12/lixinger/api/macro/namespace.py +62 -0
  15. lixinger_python-0.3.12/lixinger/api/macro/national_debt.py +122 -0
  16. lixinger_python-0.3.12/lixinger/api/macro/rmb_deposits.py +126 -0
  17. lixinger_python-0.3.12/lixinger/api/macro/rmb_loans.py +126 -0
  18. lixinger_python-0.3.12/lixinger/api/macro/social_financing.py +125 -0
  19. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/client.py +57 -0
  20. lixinger_python-0.3.12/lixinger/models/cn/industry/__init__.py +13 -0
  21. lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/__init__.py +11 -0
  22. lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/cni.py +29 -0
  23. lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/sw.py +29 -0
  24. lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/sw_2021.py +29 -0
  25. lixinger_python-0.3.12/lixinger/models/macro/__init__.py +13 -0
  26. lixinger_python-0.3.12/lixinger/models/macro/national_debt.py +20 -0
  27. lixinger_python-0.3.12/lixinger/models/macro/rmb_deposits.py +20 -0
  28. lixinger_python-0.3.12/lixinger/models/macro/rmb_loans.py +20 -0
  29. lixinger_python-0.3.12/lixinger/models/macro/social_financing.py +20 -0
  30. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/pyproject.toml +1 -1
  31. lixinger_python-0.3.12/tests/test_industry_margin_trading.py +368 -0
  32. lixinger_python-0.3.12/tests/test_macro.py +341 -0
  33. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/uv.lock +1 -1
  34. lixinger_python-0.3.10/.claude/settings.local.json +0 -13
  35. lixinger_python-0.3.10/CHANGELOG.md +0 -95
  36. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.env.example +0 -0
  37. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.github/copilot-instructions.md +0 -0
  38. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.github/workflows/README.md +0 -0
  39. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.github/workflows/pr-checks.yml +0 -0
  40. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.gitignore +0 -0
  41. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.pre-commit-config.yaml +0 -0
  42. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.python-version +0 -0
  43. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.ruff.toml +0 -0
  44. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/ADD_NEW_API_QUICK.md +0 -0
  45. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/CLAUDE.md +0 -0
  46. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/DOCUMENTATION.md +0 -0
  47. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/LICENSE +0 -0
  48. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/MANIFEST.in +0 -0
  49. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/README.md +0 -0
  50. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/codecov.yml +0 -0
  51. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/client.md +0 -0
  52. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/announcement.md +0 -0
  53. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/candlestick.md +0 -0
  54. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/company.md +0 -0
  55. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/dividend.md +0 -0
  56. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/equity_change.md +0 -0
  57. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fs/non_financial.md +0 -0
  58. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/bank.md +0 -0
  59. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/insurance.md +0 -0
  60. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/non_financial.md +0 -0
  61. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/other_financial.md +0 -0
  62. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/security.md +0 -0
  63. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/indices.md +0 -0
  64. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/profile.md +0 -0
  65. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/announcement.md +0 -0
  66. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/asset_combination.md +0 -0
  67. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/asset_industry_combination.md +0 -0
  68. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/candlestick.md +0 -0
  69. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/fund.md +0 -0
  70. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/profile.md +0 -0
  71. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/shareholdings.md +0 -0
  72. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/candlestick.md +0 -0
  73. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/constituent_weightings.md +0 -0
  74. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/constituents.md +0 -0
  75. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/drawdown.md +0 -0
  76. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/fundamental.md +0 -0
  77. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/index.md +0 -0
  78. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/tracking_fund.md +0 -0
  79. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/overview.md +0 -0
  80. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/development/code-style.md +0 -0
  81. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/development/contributing.md +0 -0
  82. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/development/testing.md +0 -0
  83. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/examples/company.md +0 -0
  84. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/examples/fund.md +0 -0
  85. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/examples/index.md +0 -0
  86. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/getting-started/configuration.md +0 -0
  87. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/getting-started/installation.md +0 -0
  88. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/getting-started/quickstart.md +0 -0
  89. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/index.md +0 -0
  90. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/company_example.py +0 -0
  91. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/company_profile_example.py +0 -0
  92. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/dividend_example.py +0 -0
  93. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/fs_example.py +0 -0
  94. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_constituent_weightings_example.py +0 -0
  95. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_constituents_example.py +0 -0
  96. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_info_example.py +0 -0
  97. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_margin_trading_example.py +0 -0
  98. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/__init__.py +0 -0
  99. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/base.py +0 -0
  100. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/__init__.py +0 -0
  101. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/__init__.py +0 -0
  102. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/announcement.py +0 -0
  103. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/candlestick.py +0 -0
  104. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/company.py +0 -0
  105. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/dividend.py +0 -0
  106. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/equity_change.py +0 -0
  107. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/__init__.py +0 -0
  108. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/bank.py +0 -0
  109. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/insurance.py +0 -0
  110. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/non_financial.py +0 -0
  111. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/other_financial.py +0 -0
  112. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/security.py +0 -0
  113. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/__init__.py +0 -0
  114. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/bank.py +0 -0
  115. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/insurance.py +0 -0
  116. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/non_financial.py +0 -0
  117. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/other_financial.py +0 -0
  118. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/security.py +0 -0
  119. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/indices.py +0 -0
  120. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/namespace.py +0 -0
  121. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/profile.py +0 -0
  122. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/__init__.py +0 -0
  123. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/announcement.py +0 -0
  124. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/asset_combination.py +0 -0
  125. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/asset_industry_combination.py +0 -0
  126. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/candlestick.py +0 -0
  127. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/fund.py +0 -0
  128. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/profile.py +0 -0
  129. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/shareholdings.py +0 -0
  130. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/__init__.py +0 -0
  131. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/candlestick.py +0 -0
  132. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/constituent_weightings.py +0 -0
  133. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/constituents.py +0 -0
  134. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/drawdown.py +0 -0
  135. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/__init__.py +0 -0
  136. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/bank.py +0 -0
  137. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/hybrid.py +0 -0
  138. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/non_financial.py +0 -0
  139. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/security.py +0 -0
  140. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fundamental.py +0 -0
  141. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/index.py +0 -0
  142. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/margin_trading.py +0 -0
  143. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/namespace.py +0 -0
  144. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/tracking_fund.py +0 -0
  145. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/config.py +0 -0
  146. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/exceptions.py +0 -0
  147. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/__init__.py +0 -0
  148. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/__init__.py +0 -0
  149. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/__init__.py +0 -0
  150. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/announcement.py +0 -0
  151. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/candlestick.py +0 -0
  152. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/company.py +0 -0
  153. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/dividend.py +0 -0
  154. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/equity_change.py +0 -0
  155. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/__init__.py +0 -0
  156. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/bank.py +0 -0
  157. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/insurance.py +0 -0
  158. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/non_financial.py +0 -0
  159. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/other_financial.py +0 -0
  160. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/security.py +0 -0
  161. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/__init__.py +0 -0
  162. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/bank.py +0 -0
  163. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/insurance.py +0 -0
  164. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/non_financial.py +0 -0
  165. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/other_financial.py +0 -0
  166. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/security.py +0 -0
  167. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/indices.py +0 -0
  168. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/__init__.py +0 -0
  169. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/announcement.py +0 -0
  170. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/asset_combination.py +0 -0
  171. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/asset_industry_combination.py +0 -0
  172. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/candlestick.py +0 -0
  173. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/fund.py +0 -0
  174. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/profile.py +0 -0
  175. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/shareholdings.py +0 -0
  176. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/__init__.py +0 -0
  177. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/candlestick.py +0 -0
  178. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/constituent_weightings.py +0 -0
  179. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/constituents.py +0 -0
  180. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/drawdown.py +0 -0
  181. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/__init__.py +0 -0
  182. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/bank.py +0 -0
  183. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/hybrid.py +0 -0
  184. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/non_financial.py +0 -0
  185. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/security.py +0 -0
  186. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fundamental.py +0 -0
  187. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/index.py +0 -0
  188. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/margin_trading.py +0 -0
  189. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/tracking_fund.py +0 -0
  190. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/py.typed +0 -0
  191. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/__init__.py +0 -0
  192. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/api.py +0 -0
  193. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/dataframe.py +0 -0
  194. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/dict.py +0 -0
  195. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/rate_limiter.py +0 -0
  196. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/retry.py +0 -0
  197. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/REMINDER.md +0 -0
  198. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/allotment.md +0 -0
  199. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/announcement.md +0 -0
  200. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/block-deal.md +0 -0
  201. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/candlestick.md +0 -0
  202. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/customers.md +0 -0
  203. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/dividend.md +0 -0
  204. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/equity-change.md +0 -0
  205. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/bank.md +0 -0
  206. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/insurance.md +0 -0
  207. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/non_financial.md +0 -0
  208. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/other_financial.md +0 -0
  209. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/security.md +0 -0
  210. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fund-collection-shareholders.md +0 -0
  211. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fund-shareholders.md +0 -0
  212. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/bank.md +0 -0
  213. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/insurance.md +0 -0
  214. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/non_financial.md +0 -0
  215. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/other_financial.md +0 -0
  216. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/security.md +0 -0
  217. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/capita.md +0 -0
  218. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/df.md +0 -0
  219. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/elr.md +0 -0
  220. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/esc.md +0 -0
  221. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/mm_ha.md +0 -0
  222. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/mssc.md +0 -0
  223. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/mtasl.md +0 -0
  224. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/npd.md +0 -0
  225. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/ple.md +0 -0
  226. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/shnc.md +0 -0
  227. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/t_a.md +0 -0
  228. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/tr.md +0 -0
  229. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/tr_dri.md +0 -0
  230. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/indices.md +0 -0
  231. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/industries.md +0 -0
  232. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/inquiry.md +0 -0
  233. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/major-shareholders-shares-change.md +0 -0
  234. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/majority-shareholders.md +0 -0
  235. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/margin-trading-and-securities-lending.md +0 -0
  236. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/measures.md +0 -0
  237. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/mutual-market.md +0 -0
  238. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/nolimit-shareholders.md +0 -0
  239. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/operating-data.md +0 -0
  240. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/operation-revenue-constitution.md +0 -0
  241. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/pledge.md +0 -0
  242. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/profile.md +0 -0
  243. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/senior-executive-shares-change.md +0 -0
  244. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/shareholders-num.md +0 -0
  245. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/suppliers.md +0 -0
  246. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/trading-abnormal.md +0 -0
  247. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/volatility.md +0 -0
  248. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company.md +0 -0
  249. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/announcement.md +0 -0
  250. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/asset-combination.md +0 -0
  251. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/asset-industry-combination.md +0 -0
  252. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/candlestick.md +0 -0
  253. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/dividend.md +0 -0
  254. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/drawdown.md +0 -0
  255. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/fees.md +0 -0
  256. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/f_as.md +0 -0
  257. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/f_nlacan.md +0 -0
  258. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fet_s.md +0 -0
  259. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/ff.md +0 -0
  260. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fp.md +0 -0
  261. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fpr.md +0 -0
  262. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fss.md +0 -0
  263. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/manager.md +0 -0
  264. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/net-value-of-dividend-reinvestment.md +0 -0
  265. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/net-value.md +0 -0
  266. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/profile.md +0 -0
  267. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/shareholders-structure.md +0 -0
  268. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/shareholdings.md +0 -0
  269. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/shares.md +0 -0
  270. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/split.md +0 -0
  271. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/total-net-value.md +0 -0
  272. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/turnover-rate.md +0 -0
  273. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/volatility.md +0 -0
  274. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/asset-scale.md +0 -0
  275. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/fund-list.md +0 -0
  276. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/fund-manager-list.md +0 -0
  277. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/hot/fc_as.md +0 -0
  278. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/hot/fc_asr.md +0 -0
  279. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/shareholdings.md +0 -0
  280. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company.md +0 -0
  281. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/hot/fmi.md +0 -0
  282. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/hot/fmp.md +0 -0
  283. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/management-funds.md +0 -0
  284. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/profit-ratio.md +0 -0
  285. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/shareholdings.md +0 -0
  286. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager.md +0 -0
  287. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund.md +0 -0
  288. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/candlestick.md +0 -0
  289. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/constituent-weightings.md +0 -0
  290. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/constituents.md +0 -0
  291. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/drawdown.md +0 -0
  292. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/bank.md +0 -0
  293. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/hybrid.md +0 -0
  294. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/non_financial.md +0 -0
  295. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/security.md +0 -0
  296. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fundamental.md +0 -0
  297. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/cp.md +0 -0
  298. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/ic.md +0 -0
  299. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/ifet_sni.md +0 -0
  300. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/mm_ha.md +0 -0
  301. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/mtasl.md +0 -0
  302. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/tr.md +0 -0
  303. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/tr_cp.md +0 -0
  304. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/margin-trading-and-securities-lending.md +0 -0
  305. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/mutual-market.md +0 -0
  306. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/tracking-fund.md +0 -0
  307. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/volatility.md +0 -0
  308. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index.md +0 -0
  309. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/constituents/cni.md +0 -0
  310. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/constituents/sw.md +0 -0
  311. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/constituents/sw_2021.md +0 -0
  312. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/bank.md +0 -0
  313. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/hybrid.md +0 -0
  314. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/insurance.md +0 -0
  315. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/non_financial.md +0 -0
  316. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/security.md +0 -0
  317. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/bank.md +0 -0
  318. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/hybrid.md +0 -0
  319. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/insurance.md +0 -0
  320. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/non_financial.md +0 -0
  321. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/security.md +0 -0
  322. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/bank.md +0 -0
  323. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/hybrid.md +0 -0
  324. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/insurance.md +0 -0
  325. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/non_financial.md +0 -0
  326. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/security.md +0 -0
  327. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fundamental/cni.md +0 -0
  328. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fundamental/sw.md +0 -0
  329. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fundamental/sw_2021.md +0 -0
  330. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mm_ha/cni.md +0 -0
  331. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mm_ha/sw.md +0 -0
  332. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mm_ha/sw_2021.md +0 -0
  333. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mtasl/cni.md +0 -0
  334. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mtasl/sw.md +0 -0
  335. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mtasl/sw_2021.md +0 -0
  336. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/margin-trading-and-securities-lending/cni.md +0 -0
  337. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/margin-trading-and-securities-lending/sw.md +0 -0
  338. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/margin-trading-and-securities-lending/sw_2021.md +0 -0
  339. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/mutual-market/cni.md +0 -0
  340. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/mutual-market/sw.md +0 -0
  341. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/mutual-market/sw_2021.md +0 -0
  342. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry.md +0 -0
  343. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/allotment.md +0 -0
  344. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/announcement.md +0 -0
  345. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/candlestick.md +0 -0
  346. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/dividend.md +0 -0
  347. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/employee.md +0 -0
  348. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/equity-change.md +0 -0
  349. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/bank.md +0 -0
  350. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/insurance.md +0 -0
  351. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/non_financial.md +0 -0
  352. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/other_financial.md +0 -0
  353. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/reit.md +0 -0
  354. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/security.md +0 -0
  355. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fund-collection-shareholders.md +0 -0
  356. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fund-shareholders.md +0 -0
  357. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/bank.md +0 -0
  358. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/insurance.md +0 -0
  359. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/non_financial.md +0 -0
  360. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/other_financial.md +0 -0
  361. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/reit.md +0 -0
  362. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/security.md +0 -0
  363. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/capita.md +0 -0
  364. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/director_equity_change.md +0 -0
  365. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/mm_ah.md +0 -0
  366. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/npd.md +0 -0
  367. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/rep.md +0 -0
  368. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/ss.md +0 -0
  369. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/ss_ha.md +0 -0
  370. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/tr.md +0 -0
  371. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/tr_dri.md +0 -0
  372. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/indices.md +0 -0
  373. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/industries.md +0 -0
  374. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/latest-shareholders.md +0 -0
  375. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/mutual-market.md +0 -0
  376. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/operation-revenue-constitution.md +0 -0
  377. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/profile.md +0 -0
  378. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/repurchase.md +0 -0
  379. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/shareholders-equity-change.md +0 -0
  380. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/short-selling.md +0 -0
  381. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/split.md +0 -0
  382. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/volatility.md +0 -0
  383. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company.md +0 -0
  384. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/candlestick.md +0 -0
  385. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/constituents.md +0 -0
  386. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/drawdown.md +0 -0
  387. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/fs/hybrid.md +0 -0
  388. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/fs/non_financial.md +0 -0
  389. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/fundamental.md +0 -0
  390. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/cp.md +0 -0
  391. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/ic.md +0 -0
  392. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/ifet_sni.md +0 -0
  393. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/mm_ah.md +0 -0
  394. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/mutual-market.md +0 -0
  395. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/tracking-fund.md +0 -0
  396. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/volatility.md +0 -0
  397. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index.md +0 -0
  398. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/constituents/hsi.md +0 -0
  399. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/fs/hsi/hybrid.md +0 -0
  400. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/fs/hsi/non_financial.md +0 -0
  401. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/fundamental/hsi.md +0 -0
  402. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/hot/mm_ah/hsi.md +0 -0
  403. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/mutual-market/hsi.md +0 -0
  404. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry.md +0 -0
  405. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/bop.md +0 -0
  406. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/central-bank-balance-sheet.md +0 -0
  407. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/credit-securities-account.md +0 -0
  408. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/crude-oil.md +0 -0
  409. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/currency-exchange-rate.md +0 -0
  410. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/domestic-debt-securities.md +0 -0
  411. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/domestic-trade.md +0 -0
  412. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/energy.md +0 -0
  413. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/foreign-assets.md +0 -0
  414. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/foreign-trade.md +0 -0
  415. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/gdp.md +0 -0
  416. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/gold-price.md +0 -0
  417. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/industrialization.md +0 -0
  418. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/interest-rates.md +0 -0
  419. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/investment-in-fixed-assets.md +0 -0
  420. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/investor.md +0 -0
  421. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/leverage-ratio.md +0 -0
  422. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/money-supply.md +0 -0
  423. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/national-debt.md +0 -0
  424. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/national-finance.md +0 -0
  425. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/natural-gas.md +0 -0
  426. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/non-ferrous-metals.md +0 -0
  427. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/official-reserve-assets.md +0 -0
  428. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/platinum-price.md +0 -0
  429. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/population.md +0 -0
  430. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/price-index.md +0 -0
  431. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/real-estate.md +0 -0
  432. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/required-reserves.md +0 -0
  433. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/rmb-deposits.md +0 -0
  434. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/rmb-loans.md +0 -0
  435. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/rmbidx.md +0 -0
  436. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/silver-price.md +0 -0
  437. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/social-financing.md +0 -0
  438. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/stamp-duty.md +0 -0
  439. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/traffic-transportation.md +0 -0
  440. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/unemployment-rate.md +0 -0
  441. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/usdx.md +0 -0
  442. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/vix-fear-index.md +0 -0
  443. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/candlestick.md +0 -0
  444. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/constituents.md +0 -0
  445. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/drawdown.md +0 -0
  446. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/fs/non_financial.md +0 -0
  447. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/fundamental.md +0 -0
  448. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/hot/cp.md +0 -0
  449. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/hot/ifet_sni.md +0 -0
  450. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/tracking-fund.md +0 -0
  451. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/volatility.md +0 -0
  452. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index.md +0 -0
  453. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/mkdocs.yml +0 -0
  454. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/mypy.ini +0 -0
  455. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/scripts/explore_api.py +0 -0
  456. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/scripts/generate_docs.py +0 -0
  457. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/scripts/publish.sh +0 -0
  458. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/api/cn/company/test_announcement.py +0 -0
  459. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/api/cn/company/test_dividend.py +0 -0
  460. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/api/cn/index/test_constituents.py +0 -0
  461. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/conftest.py +0 -0
  462. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_bank_statements.py +0 -0
  463. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_candlestick.py +0 -0
  464. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_client.py +0 -0
  465. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_cn_index_candlestick.py +0 -0
  466. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_cn_index_constituent_weightings.py +0 -0
  467. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_company.py +0 -0
  468. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_company_profile.py +0 -0
  469. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_equity_change.py +0 -0
  470. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund.py +0 -0
  471. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_announcement.py +0 -0
  472. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_asset_combination.py +0 -0
  473. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_asset_industry_combination.py +0 -0
  474. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_candlestick.py +0 -0
  475. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_profile.py +0 -0
  476. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_shareholdings.py +0 -0
  477. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fundamental.py +0 -0
  478. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fundamental_bank.py +0 -0
  479. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fundamental_security.py +0 -0
  480. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index.py +0 -0
  481. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_constituents.py +0 -0
  482. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_drawdown.py +0 -0
  483. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_bank.py +0 -0
  484. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_hybrid.py +0 -0
  485. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_non_financial.py +0 -0
  486. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_security.py +0 -0
  487. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fundamental.py +0 -0
  488. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_margin_trading.py +0 -0
  489. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_indices.py +0 -0
  490. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_insurance_statements.py +0 -0
  491. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_integration.py +0 -0
  492. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_non_financial_statements.py +0 -0
  493. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_other_financial_statements.py +0 -0
  494. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_security_statements.py +0 -0
  495. {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_tracking_fund.py +0 -0
@@ -0,0 +1,18 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(uv run *)",
5
+ "Bash(git add *)",
6
+ "Bash(git commit -m ' *)",
7
+ "Bash(git commit *)",
8
+ "Bash(python -c ' *)",
9
+ "Bash(git stash *)",
10
+ "Bash(gh run *)",
11
+ "Bash(git tag *)",
12
+ "Bash(git push *)",
13
+ "Bash(uv sync *)",
14
+ "Bash(curl -s https://pypi.org/pypi/lixinger-python/0.3.11/json)",
15
+ "Bash(python3 -c \"import sys, json; d = json.load\\(sys.stdin\\); print\\('Name:', d['info']['name']\\); print\\('Version:', d['info']['version']\\); print\\('Files:', len\\(d['urls']\\)\\)\")"
16
+ ]
17
+ }
18
+ }
@@ -40,10 +40,12 @@ Layer 1 Infrastructure lixinger/utils/*
40
40
  lixinger-python/
41
41
  ├── lixinger/ # SDK 主包(client / config / exceptions / __init__)
42
42
  │ ├── api/ # Layer 2+3:base.py + 按 REST 路径组织的端点模块
43
- │ │ └── cn/ # 中国大陆市场
44
- │ │ ├── company/ # /cn/company/*(含 fs/ 与 fundamental/ 按公司类型细分)
45
- │ │ ├── index/ # /cn/index/*(含 fs/ 按指数类型细分)
46
- │ │ └── fund/ # /cn/fund/*
43
+ │ │ ├── cn/ # 中国大陆市场
44
+ │ │├── company/ # /cn/company/*(含 fs/ 与 fundamental/ 按公司类型细分)
45
+ │ │├── index/ # /cn/index/*(含 fs/ 按指数类型细分)
46
+ │ │ │ ├── industry/ # /cn/industry/*(含 margin_trading/ 按行业分类系统细分)
47
+ │ │ │ └── fund/ # /cn/fund/*
48
+ │ │ └── macro/ # /macro/*(宏观数据:national_debt / rmb_deposits / rmb_loans / social_financing / ...)
47
49
  │ ├── models/ # Pandera DataFrame Schema(结构镜像 api/)
48
50
  │ └── utils/ # rate_limiter / retry / dataframe / dict / api 装饰器
49
51
 
@@ -0,0 +1,204 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Planned
11
+ - Add support for US stock market APIs
12
+ - Add caching mechanism for API responses
13
+
14
+ ## [0.3.12] - 2026-07-05
15
+
16
+ ### Added
17
+ - 宏观数据 API 家族 (`/macro/*`) —— 新增顶级 `client.macro` namespace:
18
+ - `POST /macro/national-debt` — 国债收益率 (cn / us, 三月~三十年期), flat metrics —
19
+ `client.macro.national_debt.get_national_debt()` / `get_national_debt()`
20
+ - `POST /macro/rmb-deposits` — 人民币存款 (含住户/非金融企业/机关/财政等分项;
21
+ 支持 y/m 粒度与 t/c/y2y/c2c 等表达式), 嵌套 metrics 自动 flatten 为 `y.rmb_d.t` 列 —
22
+ `client.macro.rmb_deposits.get_rmb_deposits()` / `get_rmb_deposits()`
23
+ - `POST /macro/rmb-loans` — 人民币贷款 (含住户/企事业单位/票据融资等分项) —
24
+ `client.macro.rmb_loans.get_rmb_loans()` / `get_rmb_loans()`
25
+ - `POST /macro/social-financing` — 社会融资规模 (含 rmbl/fl/el/tl/ubc/nf_cb/gb 等分项) —
26
+ `client.macro.social_financing.get_social_financing()` / `get_social_financing()`
27
+
28
+ ## [0.3.11] - 2026-07-05
29
+
30
+ ### Added
31
+ - 行业融资融券 API (`/cn/industry/margin-trading-and-securities-lending/*`)
32
+ covering three industry classification systems:
33
+ - `sw`: 申万行业 — `client.cn_industry.margin_trading.sw.get_margin_trading()`
34
+ / `get_industry_sw_margin_trading()`
35
+ - `sw_2021`: 申万2021版行业 — `client.cn_industry.margin_trading.sw_2021.get_margin_trading()`
36
+ / `get_industry_sw_2021_margin_trading()`
37
+ - `cni`: 国证行业 — `client.cn_industry.margin_trading.cni.get_margin_trading()`
38
+ / `get_industry_cni_margin_trading()`
39
+ - `IndustryNamespace` grouped under `client.cn_industry` (with `client.industry` alias)
40
+
41
+ ## [0.3.10] - 2026-07-05
42
+
43
+ ### Fixed
44
+ - Add missing return / argument type annotations to satisfy ANN rules
45
+
46
+ ### Changed
47
+ - Rewrite architecture / dev docs and enforce style via lint
48
+
49
+ ## [0.3.9] - 2026-07-03
50
+
51
+ ### Added
52
+ - 指数融资融券 API (`/cn/index/margin-trading-and-securities-lending`) —
53
+ `client.cn_index.margin_trading.get_margin_trading()` /
54
+ `get_index_margin_trading()`
55
+
56
+ ## [0.3.8] - 2026-06-29
57
+
58
+ ### Added
59
+ - 大陆公司财务报表 (fs) 数据 by company type:
60
+ bank / insurance / security / other_financial
61
+ (`/cn/company/fs/{bank,insurance,security,other_financial}`)
62
+
63
+ ## [0.3.7] - 2026-06-28
64
+
65
+ ### Added
66
+ - 大陆指数财务报表 (fs) 数据 by index type:
67
+ non_financial / bank / security / hybrid
68
+ (`/cn/index/fs/{non_financial,bank,security,hybrid}`)
69
+
70
+ ## [0.3.6] - 2026-06-13
71
+
72
+ ### Fixed
73
+ - Allow null / missing `types` field in announcement schema
74
+
75
+ ## [0.3.5] - 2026-04-17
76
+
77
+ ### Changed
78
+ - Pin strict version dependencies in `pyproject.toml`
79
+
80
+ ## [0.3.4] - 2026-04-17
81
+
82
+ ### Changed
83
+ - Update candlestick API
84
+
85
+ ## [0.3.3] - 2026-04-01
86
+
87
+ ### Added
88
+ - Append `status` field to dividend response
89
+
90
+ ## [0.3.2] - 2026-03-17
91
+
92
+ ### Fixed
93
+ - Fix index info API
94
+ - Fix constituent_weighting API
95
+ - Fix index constituents API
96
+
97
+ ## [0.3.1] - 2026-03-10
98
+
99
+ ### Fixed
100
+ - Fix dividend API
101
+
102
+ ## [0.3.0] - 2026-02-26
103
+
104
+ ### Added
105
+ - Implement `/cn/company/fundamental/security` API endpoint
106
+ - Implement `/cn/company/fundamental/bank` API endpoint
107
+ - Documentation updates
108
+
109
+ ## [0.2.0] - 2026-02-26
110
+
111
+ ### ⚠️ BREAKING CHANGES
112
+
113
+ This release completely migrates the SDK to async/await. All existing code must be updated.
114
+
115
+ **Migration Guide:**
116
+
117
+ ```python
118
+ # v0.1.x (old - blocking)
119
+ from lixinger import LixingerClient
120
+
121
+ with LixingerClient() as client:
122
+ df = client.company.company.get_company(["000001"])
123
+
124
+ # v0.2.0 (new - async)
125
+ import asyncio
126
+ from lixinger import AsyncLixingerClient
127
+
128
+ async def main():
129
+ async with AsyncLixingerClient() as client:
130
+ df = await client.company.company.get_company(["000001"])
131
+
132
+ asyncio.run(main())
133
+ ```
134
+
135
+ ### Changed
136
+ - **BREAKING**: `LixingerClient` renamed to `AsyncLixingerClient`
137
+ - **BREAKING**: All API methods now return coroutines and must be awaited
138
+ - **BREAKING**: Context manager now requires `async with` instead of `with`
139
+ - **BREAKING**: `client.close()` is now async and must be awaited
140
+ - **BREAKING**: All functional APIs (e.g., `get_company()`) are now async
141
+ - Replaced `httpx.Client` with `httpx.AsyncClient`
142
+ - Replaced `time.sleep` with `asyncio.sleep` in rate limiter and retry logic
143
+
144
+ ### Added
145
+ - ✨ Full async/await support throughout the SDK
146
+ - ✨ Concurrent request capability - query multiple stocks in parallel
147
+ - ✨ Native Jupyter Notebook support (top-level await)
148
+ - ✨ Perfect integration with AI Agent frameworks (LangChain, LlamaIndex)
149
+ - ✨ Compatible with async web frameworks (FastAPI, Sanic, Quart)
150
+
151
+ ### Benefits
152
+ - Non-blocking I/O for better performance in async contexts
153
+ - Ability to query multiple stocks concurrently using `asyncio.gather()`
154
+ - Seamless integration with modern Python async ecosystem
155
+ - Ideal for AI agents that need to fetch financial data without blocking
156
+
157
+ ## [0.1.0] - 2026-02-24
158
+
159
+ ### Added
160
+ - Initial release of lixinger-python SDK
161
+ - Support for company fundamental data APIs (`/cn/company/fundamental/*`)
162
+ - Support for company profile data API (`/cn/company`)
163
+ - Support for company candlestick (OHLC) data API (`/cn/company/fs/non_financial`)
164
+ - Support for index data APIs (`/cn/index`)
165
+ - Environment-based configuration via `.env` file
166
+ - Rate limiting (1000 requests/minute)
167
+ - Automatic retry mechanism for failed requests
168
+ - SOCKS proxy support
169
+ - Full type hints and mypy support
170
+ - Comprehensive test suite with pytest
171
+ - Auto-generated documentation with MkDocs
172
+ - Pre-commit hooks for code quality
173
+
174
+ ### Features
175
+ - **LixingerClient**: Main client class with context manager support
176
+ - **Data Models**: Pydantic models for type-safe API responses
177
+ - **DataFrame Support**: All API responses return pandas DataFrame
178
+ - **Error Handling**: Custom exception classes for better error handling
179
+ - **Rate Limiting**: Built-in rate limiter to prevent API throttling
180
+ - **Retry Logic**: Automatic retry with exponential backoff
181
+
182
+ ### Developer Tools
183
+ - Ruff for linting and formatting
184
+ - Mypy for type checking
185
+ - Pytest for testing
186
+ - Pre-commit hooks
187
+ - MkDocs for documentation
188
+
189
+ [unreleased]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.12...HEAD
190
+ [0.3.12]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.11...v0.3.12
191
+ [0.3.11]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.10...v0.3.11
192
+ [0.3.10]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.9...v0.3.10
193
+ [0.3.9]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.8...v0.3.9
194
+ [0.3.8]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.7...v0.3.8
195
+ [0.3.7]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.6...v0.3.7
196
+ [0.3.6]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.5...v0.3.6
197
+ [0.3.5]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.4...v0.3.5
198
+ [0.3.4]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.3...v0.3.4
199
+ [0.3.3]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.2...v0.3.3
200
+ [0.3.2]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.1...v0.3.2
201
+ [0.3.1]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.0...v0.3.1
202
+ [0.3.0]: https://github.com/TedaLIEz/lixinger-python/compare/v0.2.0...v0.3.0
203
+ [0.2.0]: https://github.com/TedaLIEz/lixinger-python/compare/v0.1.0...v0.2.0
204
+ [0.1.0]: https://github.com/TedaLIEz/lixinger-python/releases/tag/v0.1.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lixinger-python
3
- Version: 0.3.10
3
+ Version: 0.3.12
4
4
  Summary: Python SDK for Lixinger Financial Data API
5
5
  Project-URL: Homepage, https://www.lixinger.com
6
6
  Project-URL: Documentation, https://www.lixinger.com/open/api/doc
@@ -146,33 +146,6 @@ git push origin v0.1.0
146
146
 
147
147
  Update `CHANGELOG.md` with the changes in this release.
148
148
 
149
- ## Using in Another Project
150
-
151
- After publishing, you can use it in your other project:
152
-
153
- ```bash
154
- # With pip
155
- pip install lixinger-python
156
-
157
- # With uv
158
- uv add lixinger-python
159
-
160
- # Install specific version
161
- uv add lixinger-python==0.1.0
162
- ```
163
-
164
- In your code:
165
-
166
- ```python
167
- from lixinger import LixingerClient
168
-
169
- # Remember to create .env file with LIXINGER_API_KEY
170
- with LixingerClient() as client:
171
- df = client.company.company.get_company(stock_codes=["600036"])
172
- print(df)
173
- ```
174
-
175
-
176
149
  ## Best Practices
177
150
 
178
151
  1. **Always test on TestPyPI first** before publishing to production PyPI
@@ -181,4 +154,5 @@ with LixingerClient() as client:
181
154
  4. **Write a CHANGELOG.md** to document changes between versions
182
155
  5. **Never commit sensitive files** like `.pypirc` or `.env`
183
156
  6. **Follow semantic versioning** for version numbers
184
- 7. **Run all tests** before publishing
157
+ 7. **Run all tests** before publishing
158
+ 8. **Update CHANGELOG.md** before pushing to PyPI
@@ -42,6 +42,17 @@ from lixinger.api.cn.index import (
42
42
  from lixinger.api.cn.index import (
43
43
  get_drawdown as get_index_drawdown,
44
44
  )
45
+ from lixinger.api.cn.industry import (
46
+ get_industry_cni_margin_trading,
47
+ get_industry_sw_2021_margin_trading,
48
+ get_industry_sw_margin_trading,
49
+ )
50
+ from lixinger.api.macro import (
51
+ get_national_debt,
52
+ get_rmb_deposits,
53
+ get_rmb_loans,
54
+ get_social_financing,
55
+ )
45
56
  from lixinger.client import AsyncLixingerClient
46
57
  from lixinger.config import set_token
47
58
  from lixinger.exceptions import (
@@ -95,4 +106,13 @@ __all__ = [
95
106
  "get_index_bank_statements",
96
107
  "get_index_security_statements",
97
108
  "get_index_hybrid_statements",
109
+ # Industry margin trading
110
+ "get_industry_sw_margin_trading",
111
+ "get_industry_sw_2021_margin_trading",
112
+ "get_industry_cni_margin_trading",
113
+ # Macro
114
+ "get_national_debt",
115
+ "get_rmb_deposits",
116
+ "get_rmb_loans",
117
+ "get_social_financing",
98
118
  ]
@@ -0,0 +1,21 @@
1
+ """Industry-related APIs."""
2
+
3
+ from lixinger.api.cn.industry.margin_trading import (
4
+ IndustryCniMarginTradingAPI,
5
+ IndustrySw2021MarginTradingAPI,
6
+ IndustrySwMarginTradingAPI,
7
+ get_industry_cni_margin_trading,
8
+ get_industry_sw_2021_margin_trading,
9
+ get_industry_sw_margin_trading,
10
+ )
11
+
12
+ __all__ = [
13
+ # API Classes
14
+ "IndustryCniMarginTradingAPI",
15
+ "IndustrySw2021MarginTradingAPI",
16
+ "IndustrySwMarginTradingAPI",
17
+ # Functional APIs
18
+ "get_industry_cni_margin_trading",
19
+ "get_industry_sw_2021_margin_trading",
20
+ "get_industry_sw_margin_trading",
21
+ ]
@@ -0,0 +1,33 @@
1
+ """Industry margin trading and securities lending APIs.
2
+
3
+ This module provides access to industry margin trading APIs by industry
4
+ classification system:
5
+
6
+ - sw: 申万行业 (Shenwan / SW)
7
+ - sw_2021: 申万2021版行业 (Shenwan 2021)
8
+ - cni: 国证行业 (CNI)
9
+ """
10
+
11
+ from lixinger.api.cn.industry.margin_trading.cni import (
12
+ IndustryCniMarginTradingAPI,
13
+ get_industry_cni_margin_trading,
14
+ )
15
+ from lixinger.api.cn.industry.margin_trading.sw import (
16
+ IndustrySwMarginTradingAPI,
17
+ get_industry_sw_margin_trading,
18
+ )
19
+ from lixinger.api.cn.industry.margin_trading.sw_2021 import (
20
+ IndustrySw2021MarginTradingAPI,
21
+ get_industry_sw_2021_margin_trading,
22
+ )
23
+
24
+ __all__ = [
25
+ # API Classes
26
+ "IndustryCniMarginTradingAPI",
27
+ "IndustrySw2021MarginTradingAPI",
28
+ "IndustrySwMarginTradingAPI",
29
+ # Functional APIs
30
+ "get_industry_cni_margin_trading",
31
+ "get_industry_sw_2021_margin_trading",
32
+ "get_industry_sw_margin_trading",
33
+ ]
@@ -0,0 +1,129 @@
1
+ """Industry (国证) margin trading and securities lending APIs."""
2
+
3
+ from typing import Any
4
+
5
+ import pandas as pd
6
+
7
+ from lixinger.api.base import BaseAPI
8
+ from lixinger.models.cn.industry.margin_trading.cni import IndustryCniMarginTrading
9
+ from lixinger.utils.api import api
10
+ from lixinger.utils.dataframe import get_response_df
11
+
12
+
13
+ class IndustryCniMarginTradingAPI(BaseAPI):
14
+ """国证行业融资融券 API."""
15
+
16
+ async def get_margin_trading(
17
+ self,
18
+ stock_code: str,
19
+ start_date: str,
20
+ end_date: str | None = None,
21
+ limit: int | None = None,
22
+ ) -> pd.DataFrame:
23
+ """获取国证行业融资融券数据.
24
+
25
+ 获取国证(cni)行业每日的融资融券数据. 可按行业代码批量查询返回每日行业融资买入金额、
26
+ 融资偿还金额、融资净买入金额、融资余额、融券卖出金额、融券偿还金额、
27
+ 融券净卖出金额、融券余额等数据. 当用户想了解国证(cni)行业每日的融资融券余额
28
+ 以及变动情况、观察杠杆资金进出节奏或分析做空力量时, 调用此接口.
29
+
30
+ API Endpoint: /cn/industry/margin-trading-and-securities-lending/cni
31
+ API Method: POST
32
+ API Doc: https://www.lixinger.com/open/api/doc?api-key=cn/industry/margin-trading-and-securities-lending/cni
33
+
34
+ Args:
35
+ stock_code: 国证行业代码, 请参考行业信息API获取合法的stockCode
36
+ start_date: 信息起始时间 (YYYY-MM-DD, 北京时间), 开始和结束的时间间隔不超过10年
37
+ end_date: 结束信息日期 (YYYY-MM-DD, 北京时间), 默认为今天结束
38
+ limit: 返回最近数据的数量
39
+
40
+ Returns:
41
+ DataFrame containing margin trading data with columns:
42
+
43
+ - date: 数据时间
44
+ - stock_code: 行业代码
45
+ - financing_purchase_amount: 融资买入金额
46
+ - financing_repayment_amount: 融资偿还金额
47
+ - financing_net_purchase_amount: 融资净买入金额
48
+ - financing_balance: 融资余额
49
+ - securities_sell_amount: 融券卖出金额
50
+ - securities_repayment_amount: 融券偿还金额
51
+ - securities_net_sell_amount: 融券净卖出金额
52
+ - securities_balance: 融券余额
53
+ - financing_balance_to_market_cap: 融资余额占流通市值比例
54
+ - securities_balance_to_market_cap: 融券余额占流通市值比例
55
+
56
+ Example:
57
+ 获取国证行业融资融券数据::
58
+
59
+ from lixinger import AsyncLixingerClient
60
+
61
+ async with AsyncLixingerClient() as client:
62
+ df = await client.cn_industry.margin_trading.cni.get_margin_trading(
63
+ stock_code="C07",
64
+ start_date="2025-06-13",
65
+ end_date="2026-06-13",
66
+ )
67
+ print(df)
68
+
69
+ """
70
+ payload: dict[str, Any] = {
71
+ "stockCode": stock_code,
72
+ "startDate": start_date,
73
+ }
74
+ if end_date is not None:
75
+ payload["endDate"] = end_date
76
+ if limit is not None:
77
+ payload["limit"] = limit
78
+
79
+ data = await self._request(
80
+ "POST",
81
+ "/cn/industry/margin-trading-and-securities-lending/cni",
82
+ json=payload,
83
+ )
84
+ for item in data:
85
+ item["stockCode"] = stock_code
86
+ return get_response_df(data, IndustryCniMarginTrading)
87
+
88
+
89
+ # Functional API instance
90
+ _api_instance = IndustryCniMarginTradingAPI()
91
+
92
+
93
+ @api
94
+ async def get_industry_cni_margin_trading(
95
+ stock_code: str,
96
+ start_date: str,
97
+ end_date: str | None = None,
98
+ limit: int | None = None,
99
+ ) -> pd.DataFrame:
100
+ """获取国证行业融资融券数据.
101
+
102
+ Args:
103
+ stock_code: 国证行业代码
104
+ start_date: 信息起始时间 (YYYY-MM-DD)
105
+ end_date: 结束信息日期 (YYYY-MM-DD)
106
+ limit: 返回最近数据的数量
107
+
108
+ Returns:
109
+ DataFrame containing cni industry margin trading data
110
+
111
+ Example:
112
+ 获取国证行业融资融券数据::
113
+
114
+ from lixinger import get_industry_cni_margin_trading
115
+
116
+ df = await get_industry_cni_margin_trading(
117
+ stock_code="C07",
118
+ start_date="2025-06-13",
119
+ end_date="2026-06-13",
120
+ )
121
+ print(df)
122
+
123
+ """
124
+ return await _api_instance.get_margin_trading(
125
+ stock_code=stock_code,
126
+ start_date=start_date,
127
+ end_date=end_date,
128
+ limit=limit,
129
+ )
@@ -0,0 +1,129 @@
1
+ """Industry (申万) margin trading and securities lending APIs."""
2
+
3
+ from typing import Any
4
+
5
+ import pandas as pd
6
+
7
+ from lixinger.api.base import BaseAPI
8
+ from lixinger.models.cn.industry.margin_trading.sw import IndustrySwMarginTrading
9
+ from lixinger.utils.api import api
10
+ from lixinger.utils.dataframe import get_response_df
11
+
12
+
13
+ class IndustrySwMarginTradingAPI(BaseAPI):
14
+ """申万行业融资融券 API."""
15
+
16
+ async def get_margin_trading(
17
+ self,
18
+ stock_code: str,
19
+ start_date: str,
20
+ end_date: str | None = None,
21
+ limit: int | None = None,
22
+ ) -> pd.DataFrame:
23
+ """获取申万行业融资融券数据.
24
+
25
+ 获取申万(sw)行业每日的融资融券数据. 可按行业代码批量查询返回每日行业融资买入金额、
26
+ 融资偿还金额、融资净买入金额、融资余额、融券卖出金额、融券偿还金额、
27
+ 融券净卖出金额、融券余额等数据. 当用户想了解申万(sw)行业每日的融资融券余额
28
+ 以及变动情况、观察杠杆资金进出节奏或分析做空力量时, 调用此接口.
29
+
30
+ API Endpoint: /cn/industry/margin-trading-and-securities-lending/sw
31
+ API Method: POST
32
+ API Doc: https://www.lixinger.com/open/api/doc?api-key=cn/industry/margin-trading-and-securities-lending/sw
33
+
34
+ Args:
35
+ stock_code: 申万行业代码, 请参考行业信息API获取合法的stockCode
36
+ start_date: 信息起始时间 (YYYY-MM-DD, 北京时间), 开始和结束的时间间隔不超过10年
37
+ end_date: 结束信息日期 (YYYY-MM-DD, 北京时间), 默认为今天结束
38
+ limit: 返回最近数据的数量
39
+
40
+ Returns:
41
+ DataFrame containing margin trading data with columns:
42
+
43
+ - date: 数据时间
44
+ - stock_code: 行业代码
45
+ - financing_purchase_amount: 融资买入金额
46
+ - financing_repayment_amount: 融资偿还金额
47
+ - financing_net_purchase_amount: 融资净买入金额
48
+ - financing_balance: 融资余额
49
+ - securities_sell_amount: 融券卖出金额
50
+ - securities_repayment_amount: 融券偿还金额
51
+ - securities_net_sell_amount: 融券净卖出金额
52
+ - securities_balance: 融券余额
53
+ - financing_balance_to_market_cap: 融资余额占流通市值比例
54
+ - securities_balance_to_market_cap: 融券余额占流通市值比例
55
+
56
+ Example:
57
+ 获取申万行业融资融券数据::
58
+
59
+ from lixinger import AsyncLixingerClient
60
+
61
+ async with AsyncLixingerClient() as client:
62
+ df = await client.cn_industry.margin_trading.sw.get_margin_trading(
63
+ stock_code="490000",
64
+ start_date="2025-06-13",
65
+ end_date="2026-06-13",
66
+ )
67
+ print(df)
68
+
69
+ """
70
+ payload: dict[str, Any] = {
71
+ "stockCode": stock_code,
72
+ "startDate": start_date,
73
+ }
74
+ if end_date is not None:
75
+ payload["endDate"] = end_date
76
+ if limit is not None:
77
+ payload["limit"] = limit
78
+
79
+ data = await self._request(
80
+ "POST",
81
+ "/cn/industry/margin-trading-and-securities-lending/sw",
82
+ json=payload,
83
+ )
84
+ for item in data:
85
+ item["stockCode"] = stock_code
86
+ return get_response_df(data, IndustrySwMarginTrading)
87
+
88
+
89
+ # Functional API instance
90
+ _api_instance = IndustrySwMarginTradingAPI()
91
+
92
+
93
+ @api
94
+ async def get_industry_sw_margin_trading(
95
+ stock_code: str,
96
+ start_date: str,
97
+ end_date: str | None = None,
98
+ limit: int | None = None,
99
+ ) -> pd.DataFrame:
100
+ """获取申万行业融资融券数据.
101
+
102
+ Args:
103
+ stock_code: 申万行业代码
104
+ start_date: 信息起始时间 (YYYY-MM-DD)
105
+ end_date: 结束信息日期 (YYYY-MM-DD)
106
+ limit: 返回最近数据的数量
107
+
108
+ Returns:
109
+ DataFrame containing sw industry margin trading data
110
+
111
+ Example:
112
+ 获取申万行业融资融券数据::
113
+
114
+ from lixinger import get_industry_sw_margin_trading
115
+
116
+ df = await get_industry_sw_margin_trading(
117
+ stock_code="490000",
118
+ start_date="2025-06-13",
119
+ end_date="2026-06-13",
120
+ )
121
+ print(df)
122
+
123
+ """
124
+ return await _api_instance.get_margin_trading(
125
+ stock_code=stock_code,
126
+ start_date=start_date,
127
+ end_date=end_date,
128
+ limit=limit,
129
+ )