stix2arango 1.0.1__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (105) hide show
  1. {stix2arango-1.0.1 → stix2arango-1.0.2}/PKG-INFO +1 -1
  2. {stix2arango-1.0.1 → stix2arango-1.0.2}/pyproject.toml +1 -1
  3. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/stix2arango/stix2arango.py +13 -8
  4. {stix2arango-1.0.1 → stix2arango-1.0.2}/.env.example +0 -0
  5. {stix2arango-1.0.1 → stix2arango-1.0.2}/.env.markdown +0 -0
  6. {stix2arango-1.0.1 → stix2arango-1.0.2}/.github/workflows/create-release.yml +0 -0
  7. {stix2arango-1.0.1 → stix2arango-1.0.2}/.github/workflows/run-tests.yml +0 -0
  8. {stix2arango-1.0.1 → stix2arango-1.0.2}/.gitignore +0 -0
  9. {stix2arango-1.0.1 → stix2arango-1.0.2}/LICENSE +0 -0
  10. {stix2arango-1.0.1 → stix2arango-1.0.2}/README.md +0 -0
  11. {stix2arango-1.0.1 → stix2arango-1.0.2}/docs/README.md +0 -0
  12. {stix2arango-1.0.1 → stix2arango-1.0.2}/docs/stix2arango.png +0 -0
  13. {stix2arango-1.0.1 → stix2arango-1.0.2}/requirements.txt +0 -0
  14. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/__init__.py +0 -0
  15. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/__main__.py +0 -0
  16. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/config.py +0 -0
  17. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/services/__init__.py +0 -0
  18. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/services/arangodb_service.py +0 -0
  19. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/services/version_annotator.py +0 -0
  20. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/stix2arango/__init__.py +0 -0
  21. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/stix2arango/bundle_loader.py +0 -0
  22. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/templates/marking-definition.json +0 -0
  23. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango/utils.py +0 -0
  24. {stix2arango-1.0.1 → stix2arango-1.0.2}/stix2arango.py +0 -0
  25. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/README.md +0 -0
  26. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/custom-sco-original.json +0 -0
  27. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/custom-sco-updated.json +0 -0
  28. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/custom-sdo-original.json +0 -0
  29. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/custom-sdo-updated.json +0 -0
  30. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/duplicate-objects-all-properties-same.json +0 -0
  31. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/duplicate-objects-properties-different.json +0 -0
  32. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/embedded-ref-object-removed.json +0 -0
  33. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/embedded-ref-object-updated.json +0 -0
  34. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/embedded-ref-object.json +0 -0
  35. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/embedded-ref-sdo-sco-sro-smo.json +0 -0
  36. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/nested-embedded-ref.json +0 -0
  37. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/non-standard-embedded-relationship.json +0 -0
  38. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sco-original.json +0 -0
  39. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sco-updated.json +0 -0
  40. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sigma-rule-bundle-another.json +0 -0
  41. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sigma-rule-bundle-condensed-original.json +0 -0
  42. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sigma-rule-bundle-condensed-update-1.json +0 -0
  43. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sigma-rule-bundle-condensed-update-2.json +0 -0
  44. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sigma-rule-bundle-yet-another.json +0 -0
  45. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sigma-rule-bundle.json +0 -0
  46. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/smo-embedded-ref-1.json +0 -0
  47. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/smo-embedded-ref-2.json +0 -0
  48. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/smo-original.json +0 -0
  49. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/smo-updated-2.json +0 -0
  50. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/smo-updated.json +0 -0
  51. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/source-object-does-not-exist.json +0 -0
  52. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sro-original.json +0 -0
  53. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/sro-updated.json +0 -0
  54. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/target-object-does-not-exist.json +0 -0
  55. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/update_with_diff_modified_times_1.json +0 -0
  56. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/files/stix2arango/update_with_diff_modified_times_2.json +0 -0
  57. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/requirements.txt +0 -0
  58. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/__init__.py +0 -0
  59. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/base_test.py +0 -0
  60. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_00-basic-import-logic-with-embedded.py +0 -0
  61. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_01-basic-import-no-embedded.py +0 -0
  62. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_02-basic-import-no-stix2arango_note.py +0 -0
  63. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_03-import-with-no-update-detected.py +0 -0
  64. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_04-update-detected-because-of-stix2arango-note.py +0 -0
  65. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_05-update-detected-because-of-modified-time-change.py +0 -0
  66. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_06-update-detected-because-of-modified-time-change-not-in-order.py +0 -0
  67. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_07-test-default-imported-objects.py +0 -0
  68. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_08-duplicate-objects-in-bundle-all-identical.py +0 -0
  69. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_09-duplicate-objects-but-diff-times-in-bundle.py +0 -0
  70. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_10-updating-object-no-modified-time.py +0 -0
  71. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_11-custom-sdos.py +0 -0
  72. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_12-custom-scos.py +0 -0
  73. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_13-updating-smos.py +0 -0
  74. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_14-non-standard-embedded-relationship.py +0 -0
  75. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_15-testing-when-sro-target-not-in-collection.py +0 -0
  76. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_16-testing-when-sro-source-not-in-collection.py +0 -0
  77. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_17-testing-update-of-embedded-refs.py +0 -0
  78. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_18-testing-nested-embedded-ref.py +0 -0
  79. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_19_update_with_diff_created_times.py +0 -0
  80. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_20-embedded-sro-update-for-sdo.py +0 -0
  81. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_21-embedded-sro-update-for-sco.py +0 -0
  82. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_22-embedded-sro-update-for-smo.py +0 -0
  83. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_23-embedded-sro-removed.py +0 -0
  84. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_24-test-hidden-properties.py +0 -0
  85. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_25-ignore-embedded-rels-smo.py +0 -0
  86. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/full_tests/test_26-ignore-embedded-rels-sro.py +0 -0
  87. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/test_bundle_loader.py +0 -0
  88. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/src/test_stix2arango.py +0 -0
  89. {stix2arango-1.0.1 → stix2arango-1.0.2}/tests/tests.env +0 -0
  90. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/README.md +0 -0
  91. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_atlas.py +0 -0
  92. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_attack_enterprise.py +0 -0
  93. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_attack_ics.py +0 -0
  94. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_attack_mobile.py +0 -0
  95. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_capec.py +0 -0
  96. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_cwe.py +0 -0
  97. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_disarm.py +0 -0
  98. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_locations.py +0 -0
  99. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_sigma_rules.py +0 -0
  100. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_tlp.py +0 -0
  101. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cti_processor/insert_archive_yara_rules.py +0 -0
  102. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cve_processor/README.md +0 -0
  103. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cve_processor/insert_archive_cve.py +0 -0
  104. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/arango_cve_processor/manager.py +0 -0
  105. {stix2arango-1.0.1 → stix2arango-1.0.2}/utilities/stix2arango/add_ref_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stix2arango
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: stix2arango is a command line tool that takes a group of STIX 2.1 objects in a bundle and inserts them into ArangoDB. It can also handle updates to existing objects in ArangoDB imported in a bundle.
5
5
  Project-URL: Homepage, https://github.com/muchdogesec/stix2arango
6
6
  Project-URL: Issues, https://github.com/muchdogesec/stix2arango/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "stix2arango"
7
- version = "1.0.1"
7
+ version = "1.0.2"
8
8
  authors = [
9
9
  { name = "dogesec" }
10
10
  ]
@@ -451,15 +451,20 @@ class Stix2Arango:
451
451
  )
452
452
 
453
453
  self.alter_objects(objects)
454
- with self.arango.transactional(exclusive=[self.core_collection_edge, self.core_collection_vertex]):
455
- inserted_object_ids, existing_objects = (
456
- self.arango.insert_relationships_chunked(
457
- objects, self.object_key_mapping, self.core_collection_edge
454
+ inserted_object_ids = []
455
+ existing_objects = {}
456
+ for chunk in utils.chunked(objects, 20_000):
457
+ with self.arango.transactional(exclusive=[self.core_collection_edge, self.core_collection_vertex]):
458
+ inserted, existing = (
459
+ self.arango.insert_relationships_chunked(
460
+ chunk, self.object_key_mapping, self.core_collection_edge
461
+ )
458
462
  )
459
- )
460
- self.arango.update_is_latest_several_chunked(
461
- inserted_object_ids, self.core_collection_edge, self.core_collection_edge
462
- )
463
+ inserted_object_ids.extend(inserted)
464
+ existing_objects.update(existing)
465
+ self.arango.update_is_latest_several_chunked(
466
+ inserted_object_ids, self.core_collection_edge, self.core_collection_edge
467
+ )
463
468
  return inserted_object_ids, existing_objects
464
469
 
465
470
  def import_default_objects(self):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes