pybinaryguard 1.0.0__py3-none-any.whl

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 (91) hide show
  1. pybinaryguard/__init__.py +78 -0
  2. pybinaryguard/__main__.py +7 -0
  3. pybinaryguard/_compat/__init__.py +0 -0
  4. pybinaryguard/agent/__init__.py +63 -0
  5. pybinaryguard/agent/guard.py +232 -0
  6. pybinaryguard/agent/recommender.py +283 -0
  7. pybinaryguard/agent/schema.py +200 -0
  8. pybinaryguard/agent/simulator.py +430 -0
  9. pybinaryguard/agent/tool_interface.py +474 -0
  10. pybinaryguard/analyzers/__init__.py +209 -0
  11. pybinaryguard/analyzers/base.py +40 -0
  12. pybinaryguard/analyzers/dependency_analyzer.py +336 -0
  13. pybinaryguard/analyzers/elf_analyzer.py +754 -0
  14. pybinaryguard/analyzers/symbol_analyzer.py +280 -0
  15. pybinaryguard/analyzers/wheel_analyzer.py +308 -0
  16. pybinaryguard/cli/__init__.py +5 -0
  17. pybinaryguard/cli/commands.py +414 -0
  18. pybinaryguard/cli/formatters.py +720 -0
  19. pybinaryguard/cli/main.py +250 -0
  20. pybinaryguard/diagnostics/__init__.py +13 -0
  21. pybinaryguard/diagnostics/explainer.py +356 -0
  22. pybinaryguard/diagnostics/findings.py +146 -0
  23. pybinaryguard/diagnostics/suggestions.py +508 -0
  24. pybinaryguard/frameworks/__init__.py +20 -0
  25. pybinaryguard/frameworks/onnxruntime.py +214 -0
  26. pybinaryguard/frameworks/pytorch.py +223 -0
  27. pybinaryguard/frameworks/tensorflow.py +266 -0
  28. pybinaryguard/frameworks/tensorrt.py +189 -0
  29. pybinaryguard/models/__init__.py +19 -0
  30. pybinaryguard/models/enums.py +102 -0
  31. pybinaryguard/models/finding.py +109 -0
  32. pybinaryguard/models/package.py +121 -0
  33. pybinaryguard/models/system.py +118 -0
  34. pybinaryguard/plugins/__init__.py +19 -0
  35. pybinaryguard/plugins/contrib/__init__.py +7 -0
  36. pybinaryguard/plugins/contrib/gstreamer.py +109 -0
  37. pybinaryguard/plugins/contrib/jetson.py +385 -0
  38. pybinaryguard/plugins/contrib/opencv.py +306 -0
  39. pybinaryguard/plugins/contrib/tensorrt.py +426 -0
  40. pybinaryguard/plugins/hooks.py +273 -0
  41. pybinaryguard/plugins/loader.py +190 -0
  42. pybinaryguard/predictor/__init__.py +23 -0
  43. pybinaryguard/predictor/dependency_graph.py +226 -0
  44. pybinaryguard/predictor/linker_simulator.py +161 -0
  45. pybinaryguard/predictor/predictor.py +144 -0
  46. pybinaryguard/predictor/resolver.py +282 -0
  47. pybinaryguard/probes/__init__.py +73 -0
  48. pybinaryguard/probes/base.py +45 -0
  49. pybinaryguard/probes/board_probe.py +248 -0
  50. pybinaryguard/probes/cpu_probe.py +176 -0
  51. pybinaryguard/probes/glibc_probe.py +215 -0
  52. pybinaryguard/probes/gpu_probe.py +430 -0
  53. pybinaryguard/probes/library_probe.py +132 -0
  54. pybinaryguard/probes/os_probe.py +227 -0
  55. pybinaryguard/probes/python_probe.py +135 -0
  56. pybinaryguard/probes/toolchain_probe.py +89 -0
  57. pybinaryguard/probes/venv_probe.py +111 -0
  58. pybinaryguard/profiles/__init__.py +12 -0
  59. pybinaryguard/profiles/engine.py +343 -0
  60. pybinaryguard/rules/__init__.py +24 -0
  61. pybinaryguard/rules/base.py +57 -0
  62. pybinaryguard/rules/builtin/__init__.py +136 -0
  63. pybinaryguard/rules/builtin/arch_rules.py +86 -0
  64. pybinaryguard/rules/builtin/board_profile_rules.py +282 -0
  65. pybinaryguard/rules/builtin/container_rules.py +170 -0
  66. pybinaryguard/rules/builtin/cpu_rules.py +204 -0
  67. pybinaryguard/rules/builtin/cuda_rules.py +760 -0
  68. pybinaryguard/rules/builtin/dependency_rules.py +278 -0
  69. pybinaryguard/rules/builtin/framework_rules.py +252 -0
  70. pybinaryguard/rules/builtin/glibc_rules.py +320 -0
  71. pybinaryguard/rules/builtin/numpy_rules.py +110 -0
  72. pybinaryguard/rules/builtin/predictive_rules.py +165 -0
  73. pybinaryguard/rules/builtin/python_abi_rules.py +259 -0
  74. pybinaryguard/rules/builtin/source_build_rules.py +150 -0
  75. pybinaryguard/rules/builtin/venv_rules.py +159 -0
  76. pybinaryguard/rules/engine.py +123 -0
  77. pybinaryguard/scanner.py +904 -0
  78. pybinaryguard/scoring/__init__.py +19 -0
  79. pybinaryguard/scoring/engine.py +416 -0
  80. pybinaryguard/snapshot/__init__.py +20 -0
  81. pybinaryguard/snapshot/generator.py +168 -0
  82. pybinaryguard/snapshot/lockfile.py +152 -0
  83. pybinaryguard/snapshot/verifier.py +315 -0
  84. pybinaryguard/validators/__init__.py +7 -0
  85. pybinaryguard/validators/import_validator.py +231 -0
  86. pybinaryguard-1.0.0.dist-info/METADATA +876 -0
  87. pybinaryguard-1.0.0.dist-info/RECORD +91 -0
  88. pybinaryguard-1.0.0.dist-info/WHEEL +5 -0
  89. pybinaryguard-1.0.0.dist-info/entry_points.txt +8 -0
  90. pybinaryguard-1.0.0.dist-info/licenses/LICENSE +21 -0
  91. pybinaryguard-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,91 @@
1
+ pybinaryguard/__init__.py,sha256=ymhb_B8Qr3mocSh3x3j5lOzpdCa1-3q7Yv33Z6FbWVM,1951
2
+ pybinaryguard/__main__.py,sha256=PyN_9Kl0Vzzz6vQhzM0Vff6iarz8RfP3sNXzT05fg6M,118
3
+ pybinaryguard/scanner.py,sha256=paAC5JVyKKyXcJjMdneS2pM5g7hQPeMiXul8P4bsjJc,31942
4
+ pybinaryguard/_compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ pybinaryguard/agent/__init__.py,sha256=YoqaTAVd64p0TAtm5OcMhBGB7a98U8qyYGag85eWKn0,1694
6
+ pybinaryguard/agent/guard.py,sha256=TuaiN6cPgitWGoi2VpC3sp1qOB9q5A6eww7f26SXduc,6615
7
+ pybinaryguard/agent/recommender.py,sha256=4RpjQg3z4h2TveM8Qffj7ipFnXwVxvx7gjwXmO1n2LQ,9850
8
+ pybinaryguard/agent/schema.py,sha256=PpVU-V9u1i-eKVG04_nJR4opnmBu73476iPx9_l4op0,6498
9
+ pybinaryguard/agent/simulator.py,sha256=IArhKYagS5Zka05jyzwuMIlh1AGErZmT62StYqanWRs,13728
10
+ pybinaryguard/agent/tool_interface.py,sha256=FrghniZnIrjYc1rqCrM-YtO0RojTGfJ6auOonXdQB-U,15101
11
+ pybinaryguard/analyzers/__init__.py,sha256=38aiviZMJURCkKWR_tBvfOsTyiH_Z4aXU30Hsc-Ab7c,7070
12
+ pybinaryguard/analyzers/base.py,sha256=2gTWQF3PShHhN21QR0zlHdMrKd7vl8sVAkxt8MrQGTI,1304
13
+ pybinaryguard/analyzers/dependency_analyzer.py,sha256=G8a-wCX3sj-IH36Z8Q3MUUCknu60MQiAezEH2XD_OEs,10846
14
+ pybinaryguard/analyzers/elf_analyzer.py,sha256=QI2OLSA2aii2XSN75GKKcwnpvFBV8Th2MifS9LNJkis,28144
15
+ pybinaryguard/analyzers/symbol_analyzer.py,sha256=gFjUksCZm-4ZuLs1NOqT8ll8OzmsHdtvLwdjopyrLOA,8515
16
+ pybinaryguard/analyzers/wheel_analyzer.py,sha256=3g2Y6MIcdv9cDl9g9sly9n1EMTdK7c6zZgt9Roxqw7w,11120
17
+ pybinaryguard/cli/__init__.py,sha256=OpJWfB8VWd0tuuA3AABTvBy5Hf0DtljZeWLFest-4q0,98
18
+ pybinaryguard/cli/commands.py,sha256=gBrSZloZnpBGFJ1C0ikQxrm8oo8lbJhW_x5beOIiHhw,13551
19
+ pybinaryguard/cli/formatters.py,sha256=pdgX59byw9rKst_4_2nNqraXwipu6atKfPndH5GyY-U,23602
20
+ pybinaryguard/cli/main.py,sha256=coW1s4wO_PwHogiAiDd4dF47PsvF1cKuenQXpdvZVh0,7107
21
+ pybinaryguard/diagnostics/__init__.py,sha256=JPBC0Rc_kNS1ub3Ff9diUiy5QtCElGtvOUKVz9CaJ6Y,426
22
+ pybinaryguard/diagnostics/explainer.py,sha256=gElh2TGdqHjQ21Q4VyNGUeY_3wFbo63RUs8zeX0By5Y,11920
23
+ pybinaryguard/diagnostics/findings.py,sha256=yrTyHhJig1ysm961OYUxVd3SWWjW2_2l1J1eIz-L5Cs,4339
24
+ pybinaryguard/diagnostics/suggestions.py,sha256=zJAbUrokJa8oj2kzPM-R-e9WR3p4kasI6Iraate-tig,18045
25
+ pybinaryguard/frameworks/__init__.py,sha256=0ljoLGH0QlGnxi7r-dtOE4Owfl7jT2vZwVjYzev43JQ,591
26
+ pybinaryguard/frameworks/onnxruntime.py,sha256=VHAINxMlT8quwBUicndSohu4i6wfDrd7UD0Ymj35PqE,6514
27
+ pybinaryguard/frameworks/pytorch.py,sha256=kP4lwIt35mD8ITkQlKRef_Q7a0uAPvwrfZI0w1yNayU,7580
28
+ pybinaryguard/frameworks/tensorflow.py,sha256=WDDTsfBbojGh932Czn0MAdCCFb_VvUI1L92qU-UdinU,7762
29
+ pybinaryguard/frameworks/tensorrt.py,sha256=HO1xJOUFh2HMXvNbLVivTcfH6S1ijQPXaxM5ZKmCoow,5630
30
+ pybinaryguard/models/__init__.py,sha256=J90ZjPKbTjJ0wSh6u3tlv-L_lFYnt4EGS0c_D5NEjyA,465
31
+ pybinaryguard/models/enums.py,sha256=puwZdxIx35QUhTYqKnThA-Xzi5uHgBmWBgw4MvrIylg,2977
32
+ pybinaryguard/models/finding.py,sha256=LNIcb0WvOfxexU6Bi8AiOEe-4LOqP5X4hQ8W_EdTFFo,3583
33
+ pybinaryguard/models/package.py,sha256=D7OPEQMLaqa8vkQyfin0mOmm7buQlY46VowBhCK5_RI,3814
34
+ pybinaryguard/models/system.py,sha256=RkbWBFCxZxUlwzKHz2_iDriaZpl3DvFEEYsPLcjuLPY,4431
35
+ pybinaryguard/plugins/__init__.py,sha256=VmVBZVP6Q3ssl4PeaD6Gi3uYkALMHcN-5fgB3NZZQZM,502
36
+ pybinaryguard/plugins/hooks.py,sha256=enQKnf9hsyqK6_J0qo3c4hPIsUGRME8GxkGqMoCJ9XI,9918
37
+ pybinaryguard/plugins/loader.py,sha256=DX0PngWrsIrKzwzAZioEMkKX0Js_OzZc8S1v7W3f1FM,6359
38
+ pybinaryguard/plugins/contrib/__init__.py,sha256=SB3u5NcaOfjq_cZ-BUJfoghyEhU4yogHoBl9Iw6Hmuc,322
39
+ pybinaryguard/plugins/contrib/gstreamer.py,sha256=JF2FYF7qHBl_dWctJUyNsd-R53IrV6IoCN3U0Kim2Cw,3575
40
+ pybinaryguard/plugins/contrib/jetson.py,sha256=crXzBmMOQiqsk-hAYmR1LDXLbKIqJFCzNU7DxVh5O8Q,13859
41
+ pybinaryguard/plugins/contrib/opencv.py,sha256=fCGJ0OJ1sf1zpZuyhkSFfxErf9akFty6EByoFElAdD0,10718
42
+ pybinaryguard/plugins/contrib/tensorrt.py,sha256=Om9tx1Y0uhWEcWH3STDNDJXJJZZl7eLwgB6t80CJ7eQ,15915
43
+ pybinaryguard/predictor/__init__.py,sha256=7ijQwwrI6wKfWql0bE484YNt1pyAYwBE_w9JTf2DDzc,697
44
+ pybinaryguard/predictor/dependency_graph.py,sha256=1lvqyEjxijl0DVs2k63064brkMURui3sUQ8I5HdTf2w,6796
45
+ pybinaryguard/predictor/linker_simulator.py,sha256=h4E8PuM7X6EiQ62u03s9b1pK57bBL-LYSQvchdARqmQ,5025
46
+ pybinaryguard/predictor/predictor.py,sha256=CNIqhnNk4vE_b4lNBgtdaiQeRNd0IP0FkJ_cfxAUt_o,4482
47
+ pybinaryguard/predictor/resolver.py,sha256=EyHhHOlr9fnMXRYdR-HLtA0sA7QrNbDCLL1j4LaduJ8,9550
48
+ pybinaryguard/probes/__init__.py,sha256=Kh86qL-N0C8zEyaw3k5DI2tBymxmaXPqmvlkScDTGvU,2078
49
+ pybinaryguard/probes/base.py,sha256=HroIO6jqoox8GEjTiSfL0TRG0zDLq0Z4VGOAjo1jZz4,1543
50
+ pybinaryguard/probes/board_probe.py,sha256=VVsAw8rqcCxyy7omZHtkN-0nDIOs2O9NJl4tyo3eGhs,8110
51
+ pybinaryguard/probes/cpu_probe.py,sha256=iZ7gnuokvw0MtaMlhejRdGd1RbwEOlGh4H0eKtY-P14,6357
52
+ pybinaryguard/probes/glibc_probe.py,sha256=esCtSEd9sfA2vgEAYTslKgHz1ElT4N-rW1FZxQoV5yA,7495
53
+ pybinaryguard/probes/gpu_probe.py,sha256=rVOw2VLcRLEMfBU2DV2i3a3emj0BUuteCgKQiyb5uCg,14744
54
+ pybinaryguard/probes/library_probe.py,sha256=2zFZ1w4FLh7Js_VoReXovDVJci9EssBCGZuvtO-Hkr4,4475
55
+ pybinaryguard/probes/os_probe.py,sha256=qNhswCcGf7Zx163jTQiE-JLEPWxl2w5swqY7nRNKVz0,7792
56
+ pybinaryguard/probes/python_probe.py,sha256=kfkrj1rkwNlC85WAKPREtaffc-8UTv34B7RZ_iHbK5E,4445
57
+ pybinaryguard/probes/toolchain_probe.py,sha256=KCufLlfPx6fwo8Yhz0ki_yuw6_1yz7uMy3WHbHxJH_s,2932
58
+ pybinaryguard/probes/venv_probe.py,sha256=PxQJvYu5hsIz1dY6L7V1Ovc-aYKIWCKqKlyhIKLRioM,3636
59
+ pybinaryguard/profiles/__init__.py,sha256=cw2iYGYh3JRu572BKY34rdho2pvip6KHClFM7aD4FFA,284
60
+ pybinaryguard/profiles/engine.py,sha256=jfEteoj1_eoob0pBSs7Ub4DvZX8933ckJxtTVv2r-TM,12641
61
+ pybinaryguard/rules/__init__.py,sha256=IpvmbcAxjuGkoCDAIZ6vIeiPOuHOIZe_eHOWeE7wwCg,609
62
+ pybinaryguard/rules/base.py,sha256=sKgYQa51VIW96w32i_S0WeThJj7K1-KgvjnuM6eYXG0,1776
63
+ pybinaryguard/rules/engine.py,sha256=1hx4KcIPcuZXFpKC9b86UzB22IY5oFGslQ74BJfcn68,3989
64
+ pybinaryguard/rules/builtin/__init__.py,sha256=Vqn3PjH9c4ueT2AnuFjW24fWDV2JDY0W4UuXIxA9WYo,4479
65
+ pybinaryguard/rules/builtin/arch_rules.py,sha256=63sMFaQiMsZJKPy9sdniZ77iyLEQpLM6pVxAZAUi-GA,3597
66
+ pybinaryguard/rules/builtin/board_profile_rules.py,sha256=_IL30-xqqUicmZlpydQFvNv3m_xJ7L2pbhoASyzXlwc,10901
67
+ pybinaryguard/rules/builtin/container_rules.py,sha256=-fptS1jzErnkyK-hnueEhK7aqTnIrbHmIEkNbNJEdGs,6438
68
+ pybinaryguard/rules/builtin/cpu_rules.py,sha256=Hcen-0WBObXT1po6MMDJt-0nImtjgU0DTQFe0w1Qbbg,8106
69
+ pybinaryguard/rules/builtin/cuda_rules.py,sha256=aFUe8EVGXT0-tU5FGXDQVnKc6oz5xCqtjBmysaaq73g,28779
70
+ pybinaryguard/rules/builtin/dependency_rules.py,sha256=KNTTeLb8P2UmffEQIH8KwdI3eVJk4G2TFUceIg4Yw4w,9682
71
+ pybinaryguard/rules/builtin/framework_rules.py,sha256=wk3r3B9euZDSzVGbVZ0QvknAol8Mszv139pmWA9DDLk,8974
72
+ pybinaryguard/rules/builtin/glibc_rules.py,sha256=ZGle9O46OKz2hLehQFsqmomfQdv9KgGWKUHYu1TlnHc,13843
73
+ pybinaryguard/rules/builtin/numpy_rules.py,sha256=5HWAhnFTqdXwJMgZWTcC_zhXIhJiewdt7iX_KveKA1w,4581
74
+ pybinaryguard/rules/builtin/predictive_rules.py,sha256=pDaRc56-M6n0sx7DHAoaK1hmzoJ0QZYEsxhgcgdbw50,6567
75
+ pybinaryguard/rules/builtin/python_abi_rules.py,sha256=VsPUQjgSQiu38Kj72h47OLFIJyAOP-3Exo-IA0EFzM0,11115
76
+ pybinaryguard/rules/builtin/source_build_rules.py,sha256=x6HnUeQeCAVwkWpN3AOzbrkpnbK_UzTHLBghxub7Dlk,5689
77
+ pybinaryguard/rules/builtin/venv_rules.py,sha256=43fzJdoCeVmX0VnPS1xRML8FXcxvyyrKIbPcIVqQRY0,6106
78
+ pybinaryguard/scoring/__init__.py,sha256=Pj_fI28DRLaGabWOGgrNDOdGM_TTV_DbkfRmfjbV-Hk,616
79
+ pybinaryguard/scoring/engine.py,sha256=K6dhR1xh5wR3P370G9r-dJ1p0rTUYwIYc2uqG0c6IpI,13343
80
+ pybinaryguard/snapshot/__init__.py,sha256=zuM9xKFFWH4LBgWF4fvdyQbH6MCmof2zZwMVr5Bq4Qk,551
81
+ pybinaryguard/snapshot/generator.py,sha256=asF8akdIxK0JjFWxmPoWXwXohpsV4NcgISbB9lnWAMQ,5839
82
+ pybinaryguard/snapshot/lockfile.py,sha256=S72gt7esIhEFm0D_rSJU9EZdPkMORevkwY_tYCqw5NU,5731
83
+ pybinaryguard/snapshot/verifier.py,sha256=hAavOxpHR1kP8iL8DdYvvpuVAHf6q3uWePntTEOJJnI,11073
84
+ pybinaryguard/validators/__init__.py,sha256=nUCHaeKplaut0vUd1hexH-hBrklT46PTdd3VzZHznAc,240
85
+ pybinaryguard/validators/import_validator.py,sha256=dqYRqnRHY8m9UDzlqSyqbRK0r5hz2qXvh0LpYPWNTeE,8760
86
+ pybinaryguard-1.0.0.dist-info/licenses/LICENSE,sha256=WJPBCyvIN81fZ5GQYEG9QWoxLEmPa26PEuIeKvN5xNc,1103
87
+ pybinaryguard-1.0.0.dist-info/METADATA,sha256=jCqzJnHfjPTvYBwWBlxrrmYMGkTgfDtE0TWpT4Zzvzs,28075
88
+ pybinaryguard-1.0.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
89
+ pybinaryguard-1.0.0.dist-info/entry_points.txt,sha256=9YsyhAQnJ_bd6VqEhcvZlxtrgKJjQuYxsQUcrV0ATZs,317
90
+ pybinaryguard-1.0.0.dist-info/top_level.txt,sha256=fYapP_IiNIDEy7BRV4ovPoc-ybo6VWVS-udTdv2m3h0,14
91
+ pybinaryguard-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (83.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,8 @@
1
+ [console_scripts]
2
+ pybinaryguard = pybinaryguard.cli.main:main
3
+
4
+ [pybinaryguard.plugins]
5
+ gstreamer = pybinaryguard.plugins.contrib.gstreamer:register
6
+ jetson = pybinaryguard.plugins.contrib.jetson:register
7
+ opencv = pybinaryguard.plugins.contrib.opencv:register
8
+ tensorrt = pybinaryguard.plugins.contrib.tensorrt:register
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 S P Pothihai Selvan, Nuvai AI Solution Pvt Ltd
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ pybinaryguard