synapse 2.232.0__tar.gz → 2.233.0__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 (705) hide show
  1. {synapse-2.232.0/synapse.egg-info → synapse-2.233.0}/PKG-INFO +1 -1
  2. {synapse-2.232.0 → synapse-2.233.0}/pyproject.toml +1 -1
  3. {synapse-2.232.0 → synapse-2.233.0}/synapse/axon.py +3 -3
  4. {synapse-2.232.0 → synapse-2.233.0}/synapse/common.py +0 -1
  5. {synapse-2.232.0 → synapse-2.233.0}/synapse/datamodel.py +10 -0
  6. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/cell.py +2 -1
  7. synapse-2.233.0/synapse/lib/coro.py +219 -0
  8. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/parser.py +3 -4
  9. synapse-2.233.0/synapse/lib/process.py +90 -0
  10. synapse-2.233.0/synapse/lib/processpool.py +122 -0
  11. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/scrape.py +4 -7
  12. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/storm.py +2 -2
  13. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/json.py +3 -3
  14. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/mime.py +2 -2
  15. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/scrape.py +2 -2
  16. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/stix.py +3 -2
  17. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/xml.py +2 -2
  18. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/version.py +2 -2
  19. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/inet.py +20 -22
  20. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/infotech.py +22 -0
  21. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/proj.py +3 -0
  22. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_exc.py +2 -2
  23. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_ast.py +2 -1
  24. synapse-2.233.0/synapse/tests/test_lib_coro.py +113 -0
  25. synapse-2.233.0/synapse/tests/test_lib_process.py +67 -0
  26. synapse-2.233.0/synapse/tests/test_lib_processpool.py +90 -0
  27. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_infotech.py +12 -0
  28. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_proj.py +2 -1
  29. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cortex/csv.py +1 -1
  30. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/autodoc.py +1 -0
  31. {synapse-2.232.0 → synapse-2.233.0/synapse.egg-info}/PKG-INFO +1 -1
  32. {synapse-2.232.0 → synapse-2.233.0}/synapse.egg-info/SOURCES.txt +4 -0
  33. synapse-2.232.0/synapse/lib/coro.py +0 -406
  34. synapse-2.232.0/synapse/tests/test_lib_coro.py +0 -242
  35. {synapse-2.232.0 → synapse-2.233.0}/LICENSE +0 -0
  36. {synapse-2.232.0 → synapse-2.233.0}/README.rst +0 -0
  37. {synapse-2.232.0 → synapse-2.233.0}/setup.cfg +0 -0
  38. {synapse-2.232.0 → synapse-2.233.0}/synapse/__init__.py +0 -0
  39. {synapse-2.232.0 → synapse-2.233.0}/synapse/cells.py +0 -0
  40. {synapse-2.232.0 → synapse-2.233.0}/synapse/cmds/__init__.py +0 -0
  41. {synapse-2.232.0 → synapse-2.233.0}/synapse/cmds/boss.py +0 -0
  42. {synapse-2.232.0 → synapse-2.233.0}/synapse/cmds/cortex.py +0 -0
  43. {synapse-2.232.0 → synapse-2.233.0}/synapse/cmds/hive.py +0 -0
  44. {synapse-2.232.0 → synapse-2.233.0}/synapse/cortex.py +0 -0
  45. {synapse-2.232.0 → synapse-2.233.0}/synapse/cryotank.py +0 -0
  46. {synapse-2.232.0 → synapse-2.233.0}/synapse/daemon.py +0 -0
  47. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/__init__.py +0 -0
  48. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  49. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/attack-flow/README.md +0 -0
  50. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  51. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  52. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  53. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  54. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  55. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/iana.tlds.mpk +0 -0
  56. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/iana.uris.mpk +0 -0
  57. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/README.md +0 -0
  58. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/json-schema.org/draft-07/schema +0 -0
  59. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  60. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  61. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  62. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  63. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  64. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  65. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  66. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  67. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  68. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  69. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  70. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  71. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  72. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  73. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  74. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  75. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  76. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  77. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  78. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  79. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  80. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  81. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  82. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  83. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  84. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  85. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  86. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  87. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  88. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  89. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  90. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  91. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  92. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  93. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  94. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  95. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  96. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  97. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  98. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  99. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  100. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  101. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  102. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  103. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  104. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  105. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  106. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  107. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  108. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  109. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  110. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  111. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  112. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  113. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  114. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  115. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  116. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  117. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/lark/__init__.py +0 -0
  118. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/lark/imap.lark +0 -0
  119. {synapse-2.232.0 → synapse-2.233.0}/synapse/data/lark/storm.lark +0 -0
  120. {synapse-2.232.0 → synapse-2.233.0}/synapse/exc.py +0 -0
  121. {synapse-2.232.0 → synapse-2.233.0}/synapse/glob.py +0 -0
  122. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/__init__.py +0 -0
  123. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/agenda.py +0 -0
  124. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/aha.py +0 -0
  125. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/ast.py +0 -0
  126. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/auth.py +0 -0
  127. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/autodoc.py +0 -0
  128. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/base.py +0 -0
  129. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/boss.py +0 -0
  130. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/cache.py +0 -0
  131. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/certdir.py +0 -0
  132. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/chop.py +0 -0
  133. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/cli.py +0 -0
  134. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/cmd.py +0 -0
  135. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/cmdr.py +0 -0
  136. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/config.py +0 -0
  137. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/const.py +0 -0
  138. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/crypto/__init__.py +0 -0
  139. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/crypto/coin.py +0 -0
  140. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/crypto/ecc.py +0 -0
  141. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/crypto/passwd.py +0 -0
  142. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/crypto/rsa.py +0 -0
  143. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/crypto/tinfoil.py +0 -0
  144. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/datfile.py +0 -0
  145. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/drive.py +0 -0
  146. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/dyndeps.py +0 -0
  147. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/encoding.py +0 -0
  148. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/gis.py +0 -0
  149. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/grammar.py +0 -0
  150. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/hashitem.py +0 -0
  151. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/hashset.py +0 -0
  152. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/health.py +0 -0
  153. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/hive.py +0 -0
  154. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/httpapi.py +0 -0
  155. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/ingest.py +0 -0
  156. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/interval.py +0 -0
  157. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/json.py +0 -0
  158. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/jsonstor.py +0 -0
  159. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/layer.py +0 -0
  160. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/link.py +0 -0
  161. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/lmdbslab.py +0 -0
  162. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/modelrev.py +0 -0
  163. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/module.py +0 -0
  164. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/modules.py +0 -0
  165. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/msgpack.py +0 -0
  166. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/multislabseqn.py +0 -0
  167. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/nexus.py +0 -0
  168. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/node.py +0 -0
  169. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/oauth.py +0 -0
  170. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/output.py +0 -0
  171. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/platforms/__init__.py +0 -0
  172. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/platforms/common.py +0 -0
  173. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/platforms/darwin.py +0 -0
  174. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/platforms/freebsd.py +0 -0
  175. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/platforms/linux.py +0 -0
  176. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/platforms/windows.py +0 -0
  177. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/queue.py +0 -0
  178. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/ratelimit.py +0 -0
  179. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/reflect.py +0 -0
  180. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/rstorm.py +0 -0
  181. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/schemas.py +0 -0
  182. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/scope.py +0 -0
  183. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/share.py +0 -0
  184. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/slaboffs.py +0 -0
  185. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/slabseqn.py +0 -0
  186. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/snap.py +0 -0
  187. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/spooled.py +0 -0
  188. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/storm_format.py +0 -0
  189. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormctrl.py +0 -0
  190. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormhttp.py +0 -0
  191. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/__init__.py +0 -0
  192. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/aha.py +0 -0
  193. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/auth.py +0 -0
  194. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/backup.py +0 -0
  195. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/basex.py +0 -0
  196. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/cache.py +0 -0
  197. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/cell.py +0 -0
  198. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/compression.py +0 -0
  199. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/cortex.py +0 -0
  200. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/easyperm.py +0 -0
  201. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/env.py +0 -0
  202. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/ethereum.py +0 -0
  203. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/gen.py +0 -0
  204. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/gis.py +0 -0
  205. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/graph.py +0 -0
  206. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/hashes.py +0 -0
  207. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/hex.py +0 -0
  208. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/imap.py +0 -0
  209. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/index.py +0 -0
  210. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/infosec.py +0 -0
  211. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/ipv6.py +0 -0
  212. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/iters.py +0 -0
  213. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/log.py +0 -0
  214. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/macro.py +0 -0
  215. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/math.py +0 -0
  216. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/model.py +0 -0
  217. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/modelext.py +0 -0
  218. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/notifications.py +0 -0
  219. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/oauth.py +0 -0
  220. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/pack.py +0 -0
  221. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/pkg.py +0 -0
  222. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/project.py +0 -0
  223. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/quorum.py +0 -0
  224. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/random.py +0 -0
  225. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/smtp.py +0 -0
  226. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/spooled.py +0 -0
  227. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/stats.py +0 -0
  228. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/storm.py +0 -0
  229. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/tabular.py +0 -0
  230. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/task.py +0 -0
  231. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/utils.py +0 -0
  232. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/vault.py +0 -0
  233. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/version.py +0 -0
  234. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormlib/yaml.py +0 -0
  235. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormsvc.py +0 -0
  236. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormtypes.py +0 -0
  237. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/stormwhois.py +0 -0
  238. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/structlog.py +0 -0
  239. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/task.py +0 -0
  240. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/thishost.py +0 -0
  241. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/thisplat.py +0 -0
  242. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/threads.py +0 -0
  243. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/time.py +0 -0
  244. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/trigger.py +0 -0
  245. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/types.py +0 -0
  246. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/urlhelp.py +0 -0
  247. {synapse-2.232.0 → synapse-2.233.0}/synapse/lib/view.py +0 -0
  248. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/__init__.py +0 -0
  249. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/cvss.py +0 -0
  250. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/iana.py +0 -0
  251. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/iso3166.py +0 -0
  252. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/macho.py +0 -0
  253. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/pe.py +0 -0
  254. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/phonenum.py +0 -0
  255. {synapse-2.232.0 → synapse-2.233.0}/synapse/lookup/timezones.py +0 -0
  256. {synapse-2.232.0 → synapse-2.233.0}/synapse/mindmeld.py +0 -0
  257. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/__init__.py +0 -0
  258. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/auth.py +0 -0
  259. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/base.py +0 -0
  260. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/belief.py +0 -0
  261. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/biz.py +0 -0
  262. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/crypto.py +0 -0
  263. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/dns.py +0 -0
  264. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/doc.py +0 -0
  265. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/economic.py +0 -0
  266. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/entity.py +0 -0
  267. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/files.py +0 -0
  268. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/geopol.py +0 -0
  269. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/geospace.py +0 -0
  270. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/gov/__init__.py +0 -0
  271. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/gov/cn.py +0 -0
  272. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/gov/intl.py +0 -0
  273. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/gov/us.py +0 -0
  274. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/language.py +0 -0
  275. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/material.py +0 -0
  276. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/math.py +0 -0
  277. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/media.py +0 -0
  278. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/orgs.py +0 -0
  279. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/person.py +0 -0
  280. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/planning.py +0 -0
  281. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/risk.py +0 -0
  282. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/science.py +0 -0
  283. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/syn.py +0 -0
  284. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/telco.py +0 -0
  285. {synapse-2.232.0 → synapse-2.233.0}/synapse/models/transport.py +0 -0
  286. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/__init__.py +0 -0
  287. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/aha.py +0 -0
  288. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/axon.py +0 -0
  289. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/cell.py +0 -0
  290. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/cortex.py +0 -0
  291. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/cryotank.py +0 -0
  292. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/jsonstor.py +0 -0
  293. {synapse-2.232.0 → synapse-2.233.0}/synapse/servers/stemcell.py +0 -0
  294. {synapse-2.232.0 → synapse-2.233.0}/synapse/telepath.py +0 -0
  295. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/__init__.py +0 -0
  296. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  297. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/__init__.py +0 -0
  298. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  299. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  300. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  301. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  302. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  303. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  304. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  305. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  306. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  307. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  308. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  309. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  310. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  311. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/users/root.key +0 -0
  312. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  313. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/certdir/users/user.key +0 -0
  314. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  315. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  316. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/cpedata.json +0 -0
  317. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  318. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  319. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  320. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  321. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  322. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stix_export/basic.json +0 -0
  323. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  324. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  325. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  326. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  327. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stix_import/scos.json +0 -0
  328. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  329. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  330. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  331. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  332. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  333. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  334. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  335. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormmod/common +0 -0
  336. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  337. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  338. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  339. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
  340. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  341. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badvaultskeys.yaml +0 -0
  342. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/badvaultsschema.yaml +0 -0
  343. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  344. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  345. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  346. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  347. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  348. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/dotstorm_noevents/dotstorm.yaml +0 -0
  349. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/dotstorm_noevents/storm/commands/dotstorm.bar.storm +0 -0
  350. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/dotstorm_noevents/storm/modules/dotstorm.foo.storm +0 -0
  351. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  352. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  353. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  354. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  355. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  356. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  357. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  358. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  359. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  360. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  361. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  362. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  363. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  364. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  365. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  366. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/test.dat +0 -0
  367. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  368. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/docs/bar.rst +0 -0
  369. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/docs/foo.rst +0 -0
  370. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
  371. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
  372. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
  373. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
  374. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
  375. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/nopmod.py +0 -0
  376. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_axon.py +0 -0
  377. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_cmds_boss.py +0 -0
  378. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_cmds_cortex.py +0 -0
  379. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_cmds_hive.py +0 -0
  380. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_common.py +0 -0
  381. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_cortex.py +0 -0
  382. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_cryotank.py +0 -0
  383. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_daemon.py +0 -0
  384. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_data.py +0 -0
  385. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_datamodel.py +0 -0
  386. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_glob.py +0 -0
  387. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_init.py +0 -0
  388. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_agenda.py +0 -0
  389. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_aha.py +0 -0
  390. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_auth.py +0 -0
  391. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_autodoc.py +0 -0
  392. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_base.py +0 -0
  393. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_boss.py +0 -0
  394. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_cache.py +0 -0
  395. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_cell.py +0 -0
  396. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_certdir.py +0 -0
  397. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_chop.py +0 -0
  398. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_cli.py +0 -0
  399. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_config.py +0 -0
  400. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_const.py +0 -0
  401. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  402. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  403. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  404. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  405. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_datfile.py +0 -0
  406. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  407. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_encoding.py +0 -0
  408. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_gis.py +0 -0
  409. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_grammar.py +0 -0
  410. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_hashitem.py +0 -0
  411. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_hashset.py +0 -0
  412. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_health.py +0 -0
  413. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_hive.py +0 -0
  414. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_httpapi.py +0 -0
  415. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_interval.py +0 -0
  416. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_json.py +0 -0
  417. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  418. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_layer.py +0 -0
  419. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_link.py +0 -0
  420. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  421. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_modelrev.py +0 -0
  422. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_module.py +0 -0
  423. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_msgpack.py +0 -0
  424. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  425. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_nexus.py +0 -0
  426. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_node.py +0 -0
  427. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_output.py +0 -0
  428. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  429. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_queue.py +0 -0
  430. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  431. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_reflect.py +0 -0
  432. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_rstorm.py +0 -0
  433. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_scope.py +0 -0
  434. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_scrape.py +0 -0
  435. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  436. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  437. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_snap.py +0 -0
  438. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_spooled.py +0 -0
  439. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_storm.py +0 -0
  440. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_storm_format.py +0 -0
  441. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  442. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  443. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  444. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  445. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  446. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  447. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  448. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  449. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  450. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  451. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  452. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  453. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  454. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  455. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  456. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  457. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  458. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  459. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  460. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  461. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  462. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  463. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  464. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  465. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  466. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  467. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  468. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  469. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  470. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  471. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_pkg.py +0 -0
  472. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_quorum.py +0 -0
  473. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  474. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  475. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  476. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  477. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  478. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  479. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  480. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  481. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_task.py +0 -0
  482. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  483. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  484. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  485. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  486. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  487. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormtypes.py +0 -0
  488. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  489. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_structlog.py +0 -0
  490. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_task.py +0 -0
  491. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_thishost.py +0 -0
  492. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_time.py +0 -0
  493. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_trigger.py +0 -0
  494. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_types.py +0 -0
  495. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  496. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_version.py +0 -0
  497. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lib_view.py +0 -0
  498. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  499. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  500. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_mindmeld.py +0 -0
  501. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_auth.py +0 -0
  502. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_base.py +0 -0
  503. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_belief.py +0 -0
  504. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_biz.py +0 -0
  505. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_crypto.py +0 -0
  506. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_dns.py +0 -0
  507. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_doc.py +0 -0
  508. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_economic.py +0 -0
  509. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_entity.py +0 -0
  510. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_files.py +0 -0
  511. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_geopol.py +0 -0
  512. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_geospace.py +0 -0
  513. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_gov_cn.py +0 -0
  514. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_gov_intl.py +0 -0
  515. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_gov_us.py +0 -0
  516. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_inet.py +0 -0
  517. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_language.py +0 -0
  518. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_material.py +0 -0
  519. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_math.py +0 -0
  520. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_media.py +0 -0
  521. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_orgs.py +0 -0
  522. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_person.py +0 -0
  523. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_planning.py +0 -0
  524. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_risk.py +0 -0
  525. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_science.py +0 -0
  526. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_syn.py +0 -0
  527. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_telco.py +0 -0
  528. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_model_transport.py +0 -0
  529. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_servers_axon.py +0 -0
  530. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_servers_cortex.py +0 -0
  531. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_servers_cryotank.py +0 -0
  532. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_servers_stemcell.py +0 -0
  533. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_servers_univ.py +0 -0
  534. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_telepath.py +0 -0
  535. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_aha.py +0 -0
  536. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_axon_copy.py +0 -0
  537. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_axon_dump_load.py +0 -0
  538. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_axon_get.py +0 -0
  539. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_axon_put.py +0 -0
  540. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_cellauth.py +0 -0
  541. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_cortex_csv.py +0 -0
  542. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_cortex_feed.py +0 -0
  543. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
  544. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  545. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  546. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  547. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_hiveload.py +0 -0
  548. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_hivesave.py +0 -0
  549. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_apikey.py +0 -0
  550. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_backup.py +0 -0
  551. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_demote.py +0 -0
  552. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_healthcheck.py +0 -0
  553. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_livebackup.py +0 -0
  554. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_modrole.py +0 -0
  555. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_moduser.py +0 -0
  556. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_promote.py +0 -0
  557. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_reload.py +0 -0
  558. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_shutdown.py +0 -0
  559. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_service_snapshot.py +0 -0
  560. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_storm_cli.py +0 -0
  561. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_storm_pkg_doc.py +0 -0
  562. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_storm_pkg_gen.py +0 -0
  563. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_utils_autodoc.py +0 -0
  564. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_utils_changelog.py +0 -0
  565. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_utils_easycert.py +0 -0
  566. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_utils_guid.py +0 -0
  567. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_utils_json2mpk.py +0 -0
  568. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_tools_utils_rstorm.py +0 -0
  569. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_utils.py +0 -0
  570. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_utils_getrefs.py +0 -0
  571. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/test_utils_stormcov.py +0 -0
  572. {synapse-2.232.0 → synapse-2.233.0}/synapse/tests/utils.py +0 -0
  573. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/__init__.py +0 -0
  574. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/__init__.py +0 -0
  575. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/clone.py +0 -0
  576. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/easycert.py +0 -0
  577. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/enroll.py +0 -0
  578. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/list.py +0 -0
  579. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/mirror.py +0 -0
  580. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/provision/__init__.py +0 -0
  581. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/provision/service.py +0 -0
  582. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/aha/provision/user.py +0 -0
  583. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/apikey.py +0 -0
  584. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/autodoc.py +0 -0
  585. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon/__init__.py +0 -0
  586. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon/copy.py +0 -0
  587. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon/dump.py +0 -0
  588. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon/get.py +0 -0
  589. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon/load.py +0 -0
  590. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon/put.py +0 -0
  591. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/axon2axon.py +0 -0
  592. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/backup.py +0 -0
  593. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cellauth.py +0 -0
  594. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/changelog.py +0 -0
  595. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cmdr.py +0 -0
  596. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cortex/__init__.py +0 -0
  597. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cortex/feed.py +0 -0
  598. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cortex/layer/__init__.py +0 -0
  599. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cortex/layer/dump.py +0 -0
  600. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cortex/layer/load.py +0 -0
  601. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cryo/__init__.py +0 -0
  602. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cryo/cat.py +0 -0
  603. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/cryo/list.py +0 -0
  604. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/csvtool.py +0 -0
  605. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/demote.py +0 -0
  606. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/docker/__init__.py +0 -0
  607. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/docker/validate.py +0 -0
  608. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/easycert.py +0 -0
  609. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/feed.py +0 -0
  610. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/genpkg.py +0 -0
  611. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/guid.py +0 -0
  612. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/healthcheck.py +0 -0
  613. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/hive/__init__.py +0 -0
  614. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/hive/load.py +0 -0
  615. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/hive/save.py +0 -0
  616. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/json2mpk.py +0 -0
  617. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/livebackup.py +0 -0
  618. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/modrole.py +0 -0
  619. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/moduser.py +0 -0
  620. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/pkgs/gendocs.py +0 -0
  621. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/promote.py +0 -0
  622. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/pullfile.py +0 -0
  623. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/pushfile.py +0 -0
  624. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/reload.py +0 -0
  625. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/rstorm.py +0 -0
  626. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/__init__.py +0 -0
  627. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/apikey.py +0 -0
  628. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/backup.py +0 -0
  629. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/demote.py +0 -0
  630. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/healthcheck.py +0 -0
  631. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/livebackup.py +0 -0
  632. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/modrole.py +0 -0
  633. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/moduser.py +0 -0
  634. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/promote.py +0 -0
  635. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/reload.py +0 -0
  636. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/shutdown.py +0 -0
  637. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/service/snapshot.py +0 -0
  638. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/shutdown.py +0 -0
  639. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/snapshot.py +0 -0
  640. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/__init__.py +0 -0
  641. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/__main__.py +0 -0
  642. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/_cli.py +0 -0
  643. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/pkg/__init__.py +0 -0
  644. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/pkg/_pandoc_filter.py +0 -0
  645. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/pkg/doc.py +0 -0
  646. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/storm/pkg/gen.py +0 -0
  647. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/__init__.py +0 -0
  648. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/changelog.py +0 -0
  649. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/easycert.py +0 -0
  650. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/guid.py +0 -0
  651. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/json2mpk.py +0 -0
  652. {synapse-2.232.0 → synapse-2.233.0}/synapse/tools/utils/rstorm.py +0 -0
  653. {synapse-2.232.0 → synapse-2.233.0}/synapse/utils/__init__.py +0 -0
  654. {synapse-2.232.0 → synapse-2.233.0}/synapse/utils/getrefs.py +0 -0
  655. {synapse-2.232.0 → synapse-2.233.0}/synapse/utils/stormcov/__init__.py +0 -0
  656. {synapse-2.232.0 → synapse-2.233.0}/synapse/utils/stormcov/plugin.py +0 -0
  657. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/__init__.py +0 -0
  658. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  659. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  660. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/base58.py +0 -0
  661. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/convert.py +0 -0
  662. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  663. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  664. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  665. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/LICENSE +0 -0
  666. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/__init__.py +0 -0
  667. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  668. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  669. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  670. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  671. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  672. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  673. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  674. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/json.py +0 -0
  675. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  676. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  677. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  678. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  679. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  680. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  681. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  682. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  683. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  684. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  685. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  686. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  687. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  688. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  689. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/utils.py +0 -0
  690. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/LICENSE +0 -0
  691. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/__init__.py +0 -0
  692. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/constants.py +0 -0
  693. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  694. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  695. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  696. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  697. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  698. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  699. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  700. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  701. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  702. {synapse-2.232.0 → synapse-2.233.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  703. {synapse-2.232.0 → synapse-2.233.0}/synapse.egg-info/dependency_links.txt +0 -0
  704. {synapse-2.232.0 → synapse-2.233.0}/synapse.egg-info/requires.txt +0 -0
  705. {synapse-2.232.0 → synapse-2.233.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse
3
- Version: 2.232.0
3
+ Version: 2.233.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.232.0'
7
+ version = '2.233.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -13,7 +13,6 @@ import synapse.exc as s_exc
13
13
  import synapse.common as s_common
14
14
 
15
15
  import synapse.lib.cell as s_cell
16
- import synapse.lib.coro as s_coro
17
16
  import synapse.lib.base as s_base
18
17
  import synapse.lib.json as s_json
19
18
  import synapse.lib.link as s_link
@@ -25,6 +24,7 @@ import synapse.lib.hashset as s_hashset
25
24
  import synapse.lib.httpapi as s_httpapi
26
25
  import synapse.lib.urlhelp as s_urlhelp
27
26
  import synapse.lib.msgpack as s_msgpack
27
+ import synapse.lib.process as s_process
28
28
  import synapse.lib.lmdbslab as s_lmdbslab
29
29
  import synapse.lib.slabseqn as s_slabseqn
30
30
 
@@ -1447,7 +1447,7 @@ class Axon(s_cell.Cell):
1447
1447
  todo = s_common.todo(_spawn_readlines, sock00, errors=errors)
1448
1448
  async with await s_base.Base.anit() as scope:
1449
1449
 
1450
- scope.schedCoro(s_coro.spawn(todo, log_conf=await self._getSpawnLogConf()))
1450
+ scope.schedCoro(s_process.spawn(todo, log_conf=await self._getSpawnLogConf()))
1451
1451
  feedtask = scope.schedCoro(self._sha256ToLink(sha256, link00))
1452
1452
 
1453
1453
  while not self.isfini:
@@ -1481,7 +1481,7 @@ class Axon(s_cell.Cell):
1481
1481
  todo = s_common.todo(_spawn_readrows, sock00, dialect, fmtparams, errors=errors)
1482
1482
  async with await s_base.Base.anit() as scope:
1483
1483
 
1484
- scope.schedCoro(s_coro.spawn(todo, log_conf=await self._getSpawnLogConf()))
1484
+ scope.schedCoro(s_process.spawn(todo, log_conf=await self._getSpawnLogConf()))
1485
1485
  feedtask = scope.schedCoro(self._sha256ToLink(sha256, link00))
1486
1486
 
1487
1487
  while not self.isfini:
@@ -23,7 +23,6 @@ import tarfile
23
23
  import binascii
24
24
  import builtins
25
25
  import tempfile
26
- import warnings
27
26
  import functools
28
27
  import itertools
29
28
  import threading
@@ -862,6 +862,16 @@ class Model:
862
862
  # now we can load all the forms...
863
863
  for _, mdef in mods:
864
864
 
865
+ # Allow props declared directly on ctors to become forms...
866
+ for name, ctor, opts, info in mdef.get('ctors', ()):
867
+ if (props := info.get('props')) is not None:
868
+ self.addForm(name, {}, props, checks=False)
869
+
870
+ # Allow props declared directly on types to become forms...
871
+ for typename, (basename, typeopts), typeinfo in mdef.get('types', ()):
872
+ if (props := typeinfo.get('props')) is not None:
873
+ self.addForm(typename, {}, props, checks=False)
874
+
865
875
  for formname, forminfo, propdefs in mdef.get('forms', ()):
866
876
  self.addForm(formname, forminfo, propdefs, checks=False)
867
877
 
@@ -55,6 +55,7 @@ import synapse.lib.urlhelp as s_urlhelp
55
55
  import synapse.lib.version as s_version
56
56
  import synapse.lib.lmdbslab as s_lmdbslab
57
57
  import synapse.lib.thisplat as s_thisplat
58
+ import synapse.lib.processpool as s_processpool
58
59
 
59
60
  import synapse.lib.crypto.passwd as s_passwd
60
61
 
@@ -4465,7 +4466,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
4465
4466
  logger.exception(f'Error while bootstrapping cell config.')
4466
4467
  raise
4467
4468
 
4468
- s_coro.set_pool_logging(logger, logconf=conf['_log_conf'])
4469
+ s_processpool.set_pool_logging(logger, logconf=conf['_log_conf'])
4469
4470
 
4470
4471
  try:
4471
4472
  cell = await cls.anit(opts.dirn, conf=conf)
@@ -0,0 +1,219 @@
1
+ '''
2
+ Async/Coroutine related utilities.
3
+ '''
4
+ import asyncio
5
+ import inspect
6
+ import logging
7
+ import functools
8
+ import contextlib
9
+
10
+ logger = logging.getLogger(__name__)
11
+
12
+ import synapse.glob as s_glob
13
+ import synapse.common as s_common
14
+
15
+ def iscoro(item):
16
+ return inspect.iscoroutine(item)
17
+
18
+ async def agen(item):
19
+ '''
20
+ Wrap an async_generator *or* generator in an async_generator.
21
+
22
+ Notes:
23
+ Do not use this for a synchronous generator which would cause
24
+ non-blocking IO; otherwise that IO will block the ioloop.
25
+ '''
26
+ if getattr(item, '__aiter__', None) is not None:
27
+ async with contextlib.aclosing(item) as agen:
28
+ async for x in agen:
29
+ yield x
30
+ return
31
+
32
+ for x in item:
33
+ yield x
34
+
35
+ async def chunks(genr, size=100):
36
+
37
+ retn = []
38
+ async for item in genr:
39
+
40
+ retn.append(item)
41
+
42
+ if len(retn) == size:
43
+ yield retn
44
+ retn = []
45
+
46
+ if retn:
47
+ yield retn
48
+
49
+ async def pause(genr, iterations=10):
50
+ idx = 0
51
+
52
+ async for out in agen(genr):
53
+ yield out
54
+ idx += 1
55
+
56
+ if idx % iterations == 0:
57
+ await asyncio.sleep(0)
58
+
59
+ return
60
+
61
+ def executor(func, *args, **kwargs):
62
+ '''
63
+ Execute a non-coroutine function in the ioloop executor pool.
64
+
65
+ Args:
66
+ func: Function to execute.
67
+ *args: Args for the function.
68
+ **kwargs: Kwargs for the function.
69
+
70
+ Examples:
71
+
72
+ Execute a blocking API call in the executor pool::
73
+
74
+ import requests
75
+
76
+ def block(url, params=None):
77
+ return requests.get(url, params=params).json()
78
+
79
+ fut = s_coro.executor(block, 'http://some.tld/thign')
80
+ resp = await fut
81
+
82
+ Returns:
83
+ asyncio.Future: An asyncio future.
84
+ '''
85
+
86
+ def real():
87
+ return func(*args, **kwargs)
88
+
89
+ return asyncio.get_running_loop().run_in_executor(None, real)
90
+
91
+ class Event(asyncio.Event):
92
+
93
+ async def timewait(self, timeout=None):
94
+
95
+ if timeout is None:
96
+ await self.wait()
97
+ return True
98
+
99
+ try:
100
+ await s_common.wait_for(self.wait(), timeout)
101
+ except asyncio.TimeoutError:
102
+ return False
103
+
104
+ return True
105
+
106
+ async def event_wait(event: asyncio.Event, timeout=None):
107
+ '''
108
+ Wait on an an asyncio event with an optional timeout
109
+
110
+ Returns:
111
+ true if the event got set, False if timed out
112
+ '''
113
+ if timeout is None:
114
+ await event.wait()
115
+ return True
116
+
117
+ try:
118
+ await s_common.wait_for(event.wait(), timeout)
119
+ except asyncio.TimeoutError:
120
+ return False
121
+ return True
122
+
123
+ async def waittask(task, timeout=None):
124
+ '''
125
+ Await a task without cancelling it when you time out.
126
+
127
+ Returns:
128
+ boolean: True if the task completed before the timeout.
129
+ '''
130
+ futu = asyncio.get_running_loop().create_future()
131
+ task.add_done_callback(futu.set_result)
132
+ try:
133
+ await s_common.wait_for(futu, timeout=timeout)
134
+ return True
135
+ except asyncio.TimeoutError:
136
+ return False
137
+ finally:
138
+ task.remove_done_callback(futu.set_result)
139
+
140
+ async def ornot(func, *args, **kwargs):
141
+ '''
142
+ Calls func and awaits it if a returns a coroutine.
143
+
144
+ Note:
145
+ This is useful for implementing a function that might take a telepath proxy object or a local object, and you
146
+ must call a non-async method on that object.
147
+
148
+ This is also useful when calling a callback that might either be a coroutine function or a regular function.
149
+ Usage:
150
+ ok = await s_coro.ornot(maybeproxy.allowed, 'path')
151
+ '''
152
+
153
+ retn = func(*args, **kwargs)
154
+ if iscoro(retn):
155
+ return await retn
156
+ return retn
157
+
158
+ bgtasks = set()
159
+ def create_task(coro):
160
+
161
+ task = asyncio.get_running_loop().create_task(coro)
162
+ bgtasks.add(task)
163
+
164
+ def done(t):
165
+ bgtasks.remove(t)
166
+
167
+ task.add_done_callback(done)
168
+
169
+ return task
170
+
171
+ async def await_bg_tasks(timeout=None):
172
+
173
+ if not bgtasks:
174
+ return []
175
+
176
+ coro = asyncio.gather(*tuple(bgtasks), return_exceptions=True)
177
+ try:
178
+ return await s_common.wait_for(coro, timeout)
179
+ except (asyncio.CancelledError, asyncio.TimeoutError):
180
+ return []
181
+
182
+ class GenrHelp:
183
+
184
+ def __init__(self, genr):
185
+ assert genr is not None
186
+ self.genr = genr
187
+
188
+ def __aiter__(self):
189
+ return self.genr
190
+
191
+ def __iter__(self):
192
+
193
+ try:
194
+
195
+ while True:
196
+ item = s_glob.sync(self.genr.__anext__())
197
+ yield item
198
+
199
+ except StopAsyncIteration:
200
+ return
201
+
202
+ except GeneratorExit:
203
+ # Raised if a synchronous consumer exited an iterator early.
204
+ # Signal the generator to close down.
205
+ s_glob.sync(self.genr.aclose())
206
+ raise
207
+
208
+ async def spin(self):
209
+ async for x in self.genr:
210
+ pass
211
+
212
+ async def list(self):
213
+ return [x async for x in self.genr]
214
+
215
+ def genrhelp(f):
216
+ @functools.wraps(f)
217
+ def func(*args, **kwargs):
218
+ return GenrHelp(f(*args, **kwargs))
219
+ return func
@@ -1,5 +1,4 @@
1
1
  import ast
2
- import hashlib
3
2
  import collections
4
3
 
5
4
  import lark # type: ignore
@@ -10,8 +9,8 @@ import synapse.data as s_data
10
9
  import synapse.common as s_common
11
10
 
12
11
  import synapse.lib.ast as s_ast
13
- import synapse.lib.coro as s_coro
14
12
  import synapse.lib.cache as s_cache
13
+ import synapse.lib.processpool as s_processpool
15
14
 
16
15
  # TL;DR: *rules* are the internal nodes of an abstract syntax tree (AST), *terminals* are the leaves
17
16
 
@@ -628,10 +627,10 @@ def parseEval(text):
628
627
  return Parser(text).eval()
629
628
 
630
629
  async def _forkedParseQuery(args):
631
- return await s_coro._parserforked(parseQuery, args[0], mode=args[1])
630
+ return await s_processpool._parserforked(parseQuery, args[0], mode=args[1])
632
631
 
633
632
  async def _forkedParseEval(text):
634
- return await s_coro._parserforked(parseEval, text)
633
+ return await s_processpool._parserforked(parseEval, text)
635
634
 
636
635
  evalcache = s_cache.FixedCache(_forkedParseEval, size=100)
637
636
  querycache = s_cache.FixedCache(_forkedParseQuery, size=100)
@@ -0,0 +1,90 @@
1
+ '''
2
+ Process spawning utilities.
3
+ '''
4
+ import queue
5
+ import asyncio
6
+ import logging
7
+ import multiprocessing
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+ import synapse.exc as s_exc
12
+ import synapse.common as s_common
13
+
14
+ import synapse.lib.coro as s_coro
15
+
16
+ def _exectodo(que, todo, logconf):
17
+ # This is a new process: configure logging
18
+ s_common.setlogging(logger, **logconf)
19
+ func, args, kwargs = todo
20
+ try:
21
+ ret = func(*args, **kwargs)
22
+ que.put(ret)
23
+ except s_exc.SynErr as e:
24
+ logger.exception(f'Error executing spawn function {func}')
25
+ que.put(e)
26
+ except Exception as e:
27
+ # exceptions could be non-pickleable so wrap in SynErr
28
+ logger.exception(f'Error executing spawn function {func}')
29
+ name, info = s_common.err(e)
30
+ mesg = f'Error executing spawn function: {name}: {info.get("mesg")}'
31
+ exc = s_exc.SynErr(mesg=mesg, name=name, info=info)
32
+ que.put(exc)
33
+
34
+ async def spawn(todo, timeout=None, ctx=None, log_conf=None):
35
+ '''
36
+ Run a todo (func, args, kwargs) tuple in a multiprocessing subprocess.
37
+
38
+ Args:
39
+ todo (tuple): A tuple of function, ``*args``, and ``**kwargs``.
40
+ timeout (int): The timeout to wait for the todo function to finish.
41
+ ctx (multiprocess.Context): A optional multiprocessing context object.
42
+ log_conf (dict): An optional logging configuration for the spawned process.
43
+
44
+ Notes:
45
+ The contents of the todo tuple must be able to be pickled for execution.
46
+ This means that locally bound functions are not eligible targets for spawn.
47
+
48
+ Returns:
49
+ The return value of executing the todo function.
50
+ '''
51
+ if ctx is None:
52
+ ctx = multiprocessing.get_context('spawn')
53
+ if log_conf is None:
54
+ log_conf = {}
55
+
56
+ que = ctx.Queue()
57
+ proc = ctx.Process(target=_exectodo,
58
+ args=(que, todo, log_conf))
59
+
60
+ def execspawn():
61
+
62
+ proc.start()
63
+
64
+ while True:
65
+ try:
66
+ # we have to block/wait on the queue because the sender
67
+ # could need to stream the return value in multiple chunks
68
+ retn = que.get(timeout=1)
69
+ # now that we've retrieved the response, it should have exited.
70
+ proc.join()
71
+ return retn
72
+ except queue.Empty:
73
+ if not proc.is_alive():
74
+ proc.join()
75
+ mesg = f'Spawned process {proc} exited for {todo[0]} without a result.'
76
+ raise s_exc.SpawnExit(mesg=mesg, code=proc.exitcode)
77
+
78
+ try:
79
+
80
+ coro = s_coro.executor(execspawn)
81
+
82
+ retn = await s_common.wait_for(coro, timeout=timeout)
83
+ if isinstance(retn, Exception):
84
+ raise retn
85
+
86
+ return retn
87
+
88
+ except (asyncio.CancelledError, asyncio.TimeoutError):
89
+ proc.terminate()
90
+ raise
@@ -0,0 +1,122 @@
1
+ '''
2
+ Process pool related utilities.
3
+
4
+ Importing this module has the side effect of creating a forkserver and should be done
5
+ early in the creation of a process which needs it.
6
+ '''
7
+ import os
8
+ import atexit
9
+ import asyncio
10
+ import logging
11
+ import multiprocessing
12
+ import concurrent.futures
13
+
14
+ logger = logging.getLogger(__name__)
15
+
16
+ import synapse.exc as s_exc
17
+ import synapse.common as s_common
18
+ import synapse.lib.process as s_process
19
+
20
+ forkpool = None
21
+ forkpool_sema = None
22
+ max_workers = None
23
+ def_max_workers = 8
24
+ reserved_workers = 2
25
+ if multiprocessing.current_process().name == 'MainProcess':
26
+ # only create the forkpools in the MainProcess...
27
+ try:
28
+ mpctx = multiprocessing.get_context('forkserver')
29
+ max_workers = int(os.getenv('SYN_FORKED_WORKERS', 0)) or max(def_max_workers, os.cpu_count() or def_max_workers)
30
+ forkpool = concurrent.futures.ProcessPoolExecutor(mp_context=mpctx, max_workers=max_workers)
31
+ atexit.register(forkpool.shutdown)
32
+ forkpool_sema = asyncio.Semaphore(max(1, max_workers - reserved_workers))
33
+ except OSError as e: # pragma: no cover
34
+ max_workers = None
35
+ logger.warning(f'Failed to init forkserver pool, fallback enabled: {e}', exc_info=True)
36
+
37
+ def _runtodo(todo): # pragma: no cover
38
+ return todo[0](*todo[1], **todo[2])
39
+
40
+ def _init_pool_worker(logger_, logconf): # prama: no cover
41
+ s_common.setlogging(logger_, **logconf)
42
+ p = multiprocessing.current_process()
43
+ logger.debug(f'Initialized new forkserver pool worker: name={p.name} pid={p.ident}')
44
+
45
+ _pool_logconf = None
46
+ def set_pool_logging(logger_, logconf):
47
+ # This must be called before any calls to forked() and _parserforked()
48
+ global _pool_logconf
49
+ _pool_logconf = logconf
50
+ todo = s_common.todo(_init_pool_worker, logger_, logconf)
51
+ if forkpool is not None:
52
+ forkpool._initializer = _runtodo
53
+ forkpool._initargs = (todo,)
54
+
55
+ async def forked(func, *args, **kwargs):
56
+ '''
57
+ Execute a target function in the shared forked process pool
58
+ and fallback to running in a spawned process if the pool is unavailable.
59
+
60
+ Args:
61
+ func: The target function.
62
+ *args: Function positional arguments.
63
+ **kwargs: Function keyword arguments.
64
+
65
+ Returns:
66
+ The target function return.
67
+ '''
68
+ todo = (func, args, kwargs)
69
+
70
+ if forkpool is not None:
71
+ try:
72
+ return await asyncio.get_running_loop().run_in_executor(forkpool, _runtodo, todo)
73
+ except concurrent.futures.process.BrokenProcessPool as e: # pragma: no cover
74
+ logger.exception(f'Shared forkserver pool is broken, fallback enabled: {func}')
75
+
76
+ logger.debug(f'Forkserver pool using spawn fallback: {func}')
77
+ return await s_process.spawn(todo, log_conf=_pool_logconf)
78
+
79
+ async def semafork(func, *args, **kwargs):
80
+ '''
81
+ Execute a target function in the shared forked process pool
82
+ gated by a semaphore to ensure there are workers reserved for the Storm parser.
83
+
84
+ Args:
85
+ func: The target function.
86
+ *args: Function positional arguments.
87
+ **kwargs: Function keyword arguments.
88
+
89
+ Returns:
90
+ The target function return.
91
+ '''
92
+ if forkpool_sema is None:
93
+ return await forked(func, *args, **kwargs)
94
+
95
+ async with forkpool_sema:
96
+ return await forked(func, *args, **kwargs)
97
+
98
+ async def _parserforked(func, *args, **kwargs):
99
+ '''
100
+ Execute a target function in the shared forked process pool
101
+ and fallback to running in the default executor if the pool is unavailable.
102
+
103
+ NOTE: This function is intended to only be used by the Storm parser
104
+
105
+ Args:
106
+ func: The target function.
107
+ *args: Function positional arguments.
108
+ **kwargs: Function keyword arguments.
109
+
110
+ Returns:
111
+ The target function return.
112
+
113
+ Raises:
114
+ The function may raise from the target function, or raise an s_exc.FatalErr in the event of a broken forked
115
+ process pool. The fatalerr represents an unrecoverable application state.
116
+ '''
117
+ todo = (func, args, kwargs)
118
+ try:
119
+ return await asyncio.get_running_loop().run_in_executor(forkpool, _runtodo, todo)
120
+ except concurrent.futures.process.BrokenProcessPool as e: # pragma: no cover
121
+ logger.exception(f'Fatal error executing forked task: {func} {args} {kwargs}')
122
+ raise s_exc.FatalErr(mesg=f'Fatal error encountered: {e}') from None
@@ -1,5 +1,4 @@
1
1
  import string
2
- import asyncio
3
2
  import logging
4
3
  import pathlib
5
4
  import functools
@@ -14,9 +13,7 @@ import synapse.data as s_data
14
13
  import synapse.common as s_common
15
14
 
16
15
  import synapse.lib.chop as s_chop
17
- import synapse.lib.coro as s_coro
18
- import synapse.lib.link as s_link
19
- import synapse.lib.msgpack as s_msgpack
16
+ import synapse.lib.processpool as s_processpool
20
17
 
21
18
  import synapse.lib.crypto.coin as s_coin
22
19
 
@@ -575,7 +572,7 @@ async def genMatchesAsync(text: str, regx: regex.Regex, opts: dict):
575
572
  Yields:
576
573
  dict: A dictionary of match results.
577
574
  '''
578
- matches = await s_coro.semafork(_genMatchList, text, regx, opts)
575
+ matches = await s_processpool.semafork(_genMatchList, text, regx, opts)
579
576
  for info in matches:
580
577
  yield info
581
578
 
@@ -687,7 +684,7 @@ async def contextScrapeAsync(text, form=None, refang=True, first=False):
687
684
  Returns:
688
685
  (dict): Yield info dicts of results.
689
686
  '''
690
- matches = await s_coro.semafork(_contextScrapeList, text, form=form, refang=refang, first=first)
687
+ matches = await s_processpool.semafork(_contextScrapeList, text, form=form, refang=refang, first=first)
691
688
  for info in matches:
692
689
  yield info
693
690
 
@@ -704,6 +701,6 @@ async def scrapeAsync(text, ptype=None, refang=True, first=False):
704
701
  Returns:
705
702
  (str, object): Yield tuples of node ndef values.
706
703
  '''
707
- matches = await s_coro.semafork(_contextScrapeList, text, form=ptype, refang=refang, first=first)
704
+ matches = await s_processpool.semafork(_contextScrapeList, text, form=ptype, refang=refang, first=first)
708
705
  for info in matches:
709
706
  yield info.get('form'), info.get('valu')
@@ -1792,9 +1792,9 @@ class Runtime(s_base.Base):
1792
1792
  async for item in nodegenr:
1793
1793
  yield item
1794
1794
 
1795
- except RecursionError:
1795
+ except RecursionError as e:
1796
1796
  mesg = 'Maximum Storm pipeline depth exceeded.'
1797
- raise s_exc.RecursionLimitHit(mesg=mesg, query=self.query.text) from None
1797
+ raise s_exc.RecursionLimitHit(mesg=mesg, query=self.query.text) from e
1798
1798
 
1799
1799
  async def _snapFromOpts(self, opts):
1800
1800
 
@@ -4,10 +4,10 @@ import logging
4
4
 
5
5
  import synapse.exc as s_exc
6
6
 
7
- import synapse.lib.coro as s_coro
8
7
  import synapse.lib.json as s_json
9
8
  import synapse.lib.config as s_config
10
9
  import synapse.lib.stormtypes as s_stormtypes
10
+ import synapse.lib.processpool as s_processpool
11
11
 
12
12
  logger = logging.getLogger(__name__)
13
13
 
@@ -71,7 +71,7 @@ class JsonSchema(s_stormtypes.StormType):
71
71
  item = await s_stormtypes.toprim(item)
72
72
 
73
73
  try:
74
- result = await s_coro.semafork(runJsSchema, self.schema, item, use_default=self.use_default)
74
+ result = await s_processpool.semafork(runJsSchema, self.schema, item, use_default=self.use_default)
75
75
  except s_exc.SchemaViolation as e:
76
76
  return False, {'mesg': e.get('mesg')}
77
77
  else:
@@ -138,7 +138,7 @@ class JsonLib(s_stormtypes.Lib):
138
138
  use_default = await s_stormtypes.tobool(use_default)
139
139
  # We have to ensure that we have a valid schema for making the object.
140
140
  try:
141
- await s_coro.semafork(compileJsSchema, schema, use_default=use_default)
141
+ await s_processpool.semafork(compileJsSchema, schema, use_default=use_default)
142
142
  except asyncio.CancelledError: # pragma: no cover
143
143
  raise
144
144
  except Exception as e:
@@ -1,7 +1,7 @@
1
1
  import bs4
2
2
 
3
- import synapse.lib.coro as s_coro
4
3
  import synapse.lib.stormtypes as s_stormtypes
4
+ import synapse.lib.processpool as s_processpool
5
5
 
6
6
  def htmlToText(html, separator='\n', strip=True):
7
7
  soup = bs4.BeautifulSoup(html, 'html5lib')
@@ -42,4 +42,4 @@ class LibMimeHtml(s_stormtypes.Lib):
42
42
  if separator is None:
43
43
  separator = ''
44
44
 
45
- return await s_coro.semafork(htmlToText, html, separator, strip)
45
+ return await s_processpool.semafork(htmlToText, html, separator, strip)
@@ -5,10 +5,10 @@ import regex
5
5
 
6
6
  import synapse.common as s_common
7
7
 
8
- import synapse.lib.coro as s_coro
9
8
  import synapse.lib.scrape as s_scrape
10
9
  import synapse.lib.spooled as s_spooled
11
10
  import synapse.lib.stormtypes as s_stormtypes
11
+ import synapse.lib.processpool as s_processpool
12
12
 
13
13
  logger = logging.getLogger(__name__)
14
14
 
@@ -156,7 +156,7 @@ class LibScrape(s_stormtypes.Lib):
156
156
  if fangs:
157
157
  _fangs = {src: dst for (src, dst) in fangs}
158
158
  _fangre = s_scrape.genFangRegex(_fangs)
159
- scrape_text, offsets = await s_coro.semafork(s_scrape.refang_text2, text, re=_fangre, fangs=_fangs)
159
+ scrape_text, offsets = await s_processpool.semafork(s_scrape.refang_text2, text, re=_fangre, fangs=_fangs)
160
160
 
161
161
  async for info in s_scrape.genMatchesAsync(scrape_text, regx, opts=opts):
162
162
  valu = info.pop('valu')