pytbox 0.2.1__tar.gz → 0.2.2__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.

Potentially problematic release.


This version of pytbox might be problematic. Click here for more details.

Files changed (84) hide show
  1. {pytbox-0.2.1/src/pytbox.egg-info → pytbox-0.2.2}/PKG-INFO +1 -1
  2. {pytbox-0.2.1 → pytbox-0.2.2}/pyproject.toml +1 -1
  3. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/database/victoriametrics.py +32 -1
  4. {pytbox-0.2.1 → pytbox-0.2.2/src/pytbox.egg-info}/PKG-INFO +1 -1
  5. {pytbox-0.2.1 → pytbox-0.2.2}/MANIFEST.in +0 -0
  6. {pytbox-0.2.1 → pytbox-0.2.2}/README.md +0 -0
  7. {pytbox-0.2.1 → pytbox-0.2.2}/setup.cfg +0 -0
  8. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/alert/alert_handler.py +0 -0
  9. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/alert/ping.py +0 -0
  10. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/alicloud/sls.py +0 -0
  11. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/base.py +0 -0
  12. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/build_config.py +0 -0
  13. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/instances.toml +0 -0
  14. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/__init__.py +0 -0
  15. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.cpu/cpu.toml.j2 +0 -0
  16. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.disk/disk.toml.j2 +0 -0
  17. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.diskio/diskio.toml.j2 +0 -0
  18. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.dns_query/dns_query.toml.j2 +0 -0
  19. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.http_response/http_response.toml.j2 +0 -0
  20. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.mem/mem.toml.j2 +0 -0
  21. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.net/net.toml.j2 +0 -0
  22. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.net_response/net_response.toml.j2 +0 -0
  23. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.ping/ping.toml.j2 +0 -0
  24. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.prometheus/prometheus.toml.j2 +0 -0
  25. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/cisco_interface.toml.j2 +0 -0
  26. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/cisco_system.toml.j2 +0 -0
  27. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/h3c_interface.toml.j2 +0 -0
  28. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/h3c_system.toml.j2 +0 -0
  29. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/huawei_interface.toml.j2 +0 -0
  30. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/huawei_system.toml.j2 +0 -0
  31. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/ruijie_interface.toml.j2 +0 -0
  32. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.snmp/ruijie_system.toml.j2 +0 -0
  33. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/categraf/jinja2/input.vsphere/vsphere.toml.j2 +0 -0
  34. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/__init__.py +0 -0
  35. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/categraf/__init__.py +0 -0
  36. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/categraf/commands.py +0 -0
  37. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/commands/vm.py +0 -0
  38. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/common/__init__.py +0 -0
  39. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/common/options.py +0 -0
  40. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/common/utils.py +0 -0
  41. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/formatters/__init__.py +0 -0
  42. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/formatters/output.py +0 -0
  43. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli/main.py +0 -0
  44. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/cli.py +0 -0
  45. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/common/__init__.py +0 -0
  46. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/database/mongo.py +0 -0
  47. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/dida365.py +0 -0
  48. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/excel.py +0 -0
  49. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/feishu/client.py +0 -0
  50. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/feishu/endpoints.py +0 -0
  51. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/feishu/errors.py +0 -0
  52. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/feishu/helpers.py +0 -0
  53. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/feishu/typing.py +0 -0
  54. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/log/logger.py +0 -0
  55. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/log/victorialog.py +0 -0
  56. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/mail/alimail.py +0 -0
  57. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/mail/client.py +0 -0
  58. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/mail/mail_detail.py +0 -0
  59. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/network/meraki.py +0 -0
  60. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/onepassword_connect.py +0 -0
  61. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/onepassword_sa.py +0 -0
  62. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/pyjira.py +0 -0
  63. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/cronjob.py +0 -0
  64. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/env.py +0 -0
  65. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/load_config.py +0 -0
  66. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/load_vm_devfile.py +0 -0
  67. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/response.py +0 -0
  68. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/richutils.py +0 -0
  69. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/utils/timeutils.py +0 -0
  70. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/vmware.py +0 -0
  71. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox/win/ad.py +0 -0
  72. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox.egg-info/SOURCES.txt +0 -0
  73. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox.egg-info/dependency_links.txt +0 -0
  74. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox.egg-info/entry_points.txt +0 -0
  75. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox.egg-info/requires.txt +0 -0
  76. {pytbox-0.2.1 → pytbox-0.2.2}/src/pytbox.egg-info/top_level.txt +0 -0
  77. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_base.py +0 -0
  78. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_feishu.py +0 -0
  79. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_load_jsonfile.py +0 -0
  80. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_logger.py +0 -0
  81. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_onepassword_connect.py +0 -0
  82. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_onepassword_sa.py +0 -0
  83. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_victoriametrics.py +0 -0
  84. {pytbox-0.2.1 → pytbox-0.2.2}/tests/test_vmware.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytbox
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: A collection of Python integrations and utilities (Feishu, Dida365, VictoriaMetrics, ...)
5
5
  Author-email: mingming hou <houm01@foxmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pytbox"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  description = "A collection of Python integrations and utilities (Feishu, Dida365, VictoriaMetrics, ...)"
9
9
  authors = [{ name = "mingming hou", email = "houm01@foxmail.com" }]
10
10
  license = "MIT"
@@ -260,7 +260,38 @@ class VictoriaMetrics:
260
260
  return ReturnResponse(code=0, msg=f"查询 {sysname} {ifname} 最近 {last_hours} 小时平均速率为 {round(float(rate), 2)} Mbit/s", data=round(float(rate), 2))
261
261
  except KeyError:
262
262
  return ReturnResponse(code=1, msg=f"查询 {sysname} {ifname} 最近 {last_hours} 小时平均速率为 0 Mbit/s")
263
-
263
+
264
+ def check_interface_max_rate(self,
265
+ direction: Literal['in', 'out'],
266
+ sysname: str,
267
+ ifname:str,
268
+ last_hours: Optional[int] = 24,
269
+ last_minutes: Optional[int] = 5,
270
+ ) -> ReturnResponse:
271
+ '''
272
+ _summary_
273
+
274
+ Args:
275
+ direction (Literal[&#39;in&#39;, &#39;out&#39;]): _description_
276
+ sysname (str): _description_
277
+ ifname (str): _description_
278
+ last_hours (Optional[int], optional): _description_. Defaults to 24.
279
+ last_minutes (Optional[int], optional): _description_. Defaults to 5.
280
+
281
+ Returns:
282
+ ReturnResponse: _description_
283
+ '''
284
+ if direction == 'in':
285
+ query = f'max_over_time(rate(snmp_interface_ifHCInOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8 [{last_hours}h:]) / 1e6'
286
+ else:
287
+ query = f'max_over_time(rate(snmp_interface_ifHCOutOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8 [{last_hours}h:]) / 1e6'
288
+ r = self.query(query)
289
+ try:
290
+ rate = r.data[0]['value'][1]
291
+ return ReturnResponse(code=0, msg=f"查询 {sysname} {ifname} 最近 {last_hours} 小时最大速率为 {round(float(rate), 2)} Mbit/s", data=round(float(rate), 2))
292
+ except KeyError:
293
+ return ReturnResponse(code=1, msg=f"查询 {sysname} {ifname} 最近 {last_hours} 小时最大速率为 0 Mbit/s")
294
+
264
295
  def check_snmp_port_status(self, sysname: str=None, if_name: str=None, last_minute: int=5, dev_file: str=None) -> ReturnResponse:
265
296
  '''
266
297
  查询端口状态
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytbox
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: A collection of Python integrations and utilities (Feishu, Dida365, VictoriaMetrics, ...)
5
5
  Author-email: mingming hou <houm01@foxmail.com>
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes