amalgam-lang 22.0.3__tar.gz → 24.0.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.

Potentially problematic release.


This version of amalgam-lang might be problematic. Click here for more details.

Files changed (78) hide show
  1. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/PKG-INFO +1 -1
  2. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/api.py +68 -70
  3. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/amd64/amalgam-mt-noavx.dylib +0 -0
  4. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/amd64/amalgam-mt.dylib +0 -0
  5. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/amd64/amalgam-omp.dylib +0 -0
  6. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/amd64/amalgam-st.dylib +0 -0
  7. amalgam_lang-24.0.0/amalgam/lib/darwin/amd64/docs/version.json +3 -0
  8. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/arm64/amalgam-mt.dylib +0 -0
  9. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/arm64/amalgam-omp.dylib +0 -0
  10. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/darwin/arm64/amalgam-st.dylib +0 -0
  11. amalgam_lang-24.0.0/amalgam/lib/darwin/arm64/docs/version.json +3 -0
  12. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/linux/amd64/amalgam-mt-afmi.so +0 -0
  13. amalgam_lang-24.0.0/amalgam/lib/linux/amd64/amalgam-mt-noavx.so +0 -0
  14. amalgam_lang-24.0.0/amalgam/lib/linux/amd64/amalgam-mt.so +0 -0
  15. amalgam_lang-24.0.0/amalgam/lib/linux/amd64/amalgam-omp.so +0 -0
  16. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/linux/amd64/amalgam-st-afmi.so +0 -0
  17. amalgam_lang-24.0.0/amalgam/lib/linux/amd64/amalgam-st.so +0 -0
  18. amalgam_lang-24.0.0/amalgam/lib/linux/amd64/docs/version.json +3 -0
  19. amalgam_lang-24.0.0/amalgam/lib/linux/arm64/amalgam-mt.so +0 -0
  20. amalgam_lang-24.0.0/amalgam/lib/linux/arm64/amalgam-omp.so +0 -0
  21. amalgam_lang-24.0.0/amalgam/lib/linux/arm64/amalgam-st.so +0 -0
  22. amalgam_lang-24.0.0/amalgam/lib/linux/arm64/docs/version.json +3 -0
  23. amalgam_lang-24.0.0/amalgam/lib/linux/arm64_8a/amalgam-st.so +0 -0
  24. amalgam_lang-24.0.0/amalgam/lib/linux/arm64_8a/docs/version.json +3 -0
  25. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/version.json +3 -3
  26. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/windows/amd64/amalgam-mt-noavx.dll +0 -0
  27. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/windows/amd64/amalgam-mt.dll +0 -0
  28. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/windows/amd64/amalgam-omp.dll +0 -0
  29. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/lib/windows/amd64/amalgam-st.dll +0 -0
  30. amalgam_lang-24.0.0/amalgam/lib/windows/amd64/docs/version.json +3 -0
  31. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam_lang.egg-info/PKG-INFO +1 -1
  32. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/version.json +1 -1
  33. amalgam_lang-22.0.3/amalgam/lib/darwin/amd64/docs/version.json +0 -3
  34. amalgam_lang-22.0.3/amalgam/lib/darwin/arm64/docs/version.json +0 -3
  35. amalgam_lang-22.0.3/amalgam/lib/linux/amd64/amalgam-mt-noavx.so +0 -0
  36. amalgam_lang-22.0.3/amalgam/lib/linux/amd64/amalgam-mt.so +0 -0
  37. amalgam_lang-22.0.3/amalgam/lib/linux/amd64/amalgam-omp.so +0 -0
  38. amalgam_lang-22.0.3/amalgam/lib/linux/amd64/amalgam-st.so +0 -0
  39. amalgam_lang-22.0.3/amalgam/lib/linux/amd64/docs/version.json +0 -3
  40. amalgam_lang-22.0.3/amalgam/lib/linux/arm64/amalgam-mt.so +0 -0
  41. amalgam_lang-22.0.3/amalgam/lib/linux/arm64/amalgam-omp.so +0 -0
  42. amalgam_lang-22.0.3/amalgam/lib/linux/arm64/amalgam-st.so +0 -0
  43. amalgam_lang-22.0.3/amalgam/lib/linux/arm64/docs/version.json +0 -3
  44. amalgam_lang-22.0.3/amalgam/lib/linux/arm64_8a/amalgam-st.so +0 -0
  45. amalgam_lang-22.0.3/amalgam/lib/linux/arm64_8a/docs/version.json +0 -3
  46. amalgam_lang-22.0.3/amalgam/lib/windows/amd64/docs/version.json +0 -3
  47. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.coveragerc +0 -0
  48. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.flake8 +0 -0
  49. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.github/CODEOWNERS +0 -0
  50. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.github/templates/version_summary.md +0 -0
  51. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.github/workflows/build-pr.yml +0 -0
  52. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.github/workflows/build-release.yml +0 -0
  53. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.github/workflows/build.yml +0 -0
  54. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.github/workflows/rebuild-requirements.yml +0 -0
  55. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.gitignore +0 -0
  56. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/.pylintrc +0 -0
  57. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/CONTRIBUTING.md +0 -0
  58. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/LICENSE.txt +0 -0
  59. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/MANIFEST.in +0 -0
  60. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/README.md +0 -0
  61. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam/__init__.py +0 -0
  62. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam_lang.egg-info/SOURCES.txt +0 -0
  63. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam_lang.egg-info/dependency_links.txt +0 -0
  64. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam_lang.egg-info/requires.txt +0 -0
  65. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/amalgam_lang.egg-info/top_level.txt +0 -0
  66. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/bin/build.sh +0 -0
  67. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/config/latest-mt-debug-howso.yml +0 -0
  68. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/config/latest-mt-howso.yml +0 -0
  69. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/config/latest-mt-traces-howso.yml +0 -0
  70. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/config/latest-st-howso.yml +0 -0
  71. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/config/latest-st-traces-howso.yml +0 -0
  72. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/doc/dependency_decisions.yml +0 -0
  73. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/pyproject.toml +0 -0
  74. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/requirements-3.10-dev.txt +0 -0
  75. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/requirements-3.11-dev.txt +0 -0
  76. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/requirements-3.12-dev.txt +0 -0
  77. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/requirements-3.13-dev.txt +0 -0
  78. {amalgam_lang-22.0.3 → amalgam_lang-24.0.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amalgam-lang
3
- Version: 22.0.3
3
+ Version: 24.0.0
4
4
  Summary: A direct interface with Amalgam compiled DLL, dylib, or so.
5
5
  Author: Howso Incorporated
6
6
  Author-email: support@howso.com
@@ -237,8 +237,7 @@ class Amalgam:
237
237
  )
238
238
  counter += 1
239
239
 
240
- self.trace = open(self.execution_trace_filepath, 'w+',
241
- encoding='utf-8')
240
+ self.trace = self.execution_trace_filepath.open("wb+")
242
241
  _logger.debug("Opening Amalgam trace file: "
243
242
  f"{self.execution_trace_filepath}")
244
243
  else:
@@ -253,7 +252,7 @@ class Amalgam:
253
252
  self.set_max_num_threads(max_num_threads)
254
253
  self.gc_interval = gc_interval
255
254
  self.op_count = 0
256
- self.load_command_log_entry = None
255
+ self.load_command_log_entry: bytes | None = None
257
256
 
258
257
  @classmethod
259
258
  def _get_allowed_postfixes(cls, library_dir: Path) -> list[str]:
@@ -470,7 +469,7 @@ class Amalgam:
470
469
  The maximum number of threads that Amalgam is configured to use.
471
470
  """
472
471
  self.amlg.GetMaxNumThreads.restype = c_size_t
473
- self._log_execution("GET_MAX_NUM_THREADS")
472
+ self._log_execution(b"GET_MAX_NUM_THREADS")
474
473
  result = self.amlg.GetMaxNumThreads()
475
474
  self._log_reply(result)
476
475
 
@@ -492,7 +491,7 @@ class Amalgam:
492
491
  self.amlg.SetMaxNumThreads.argtypes = [c_size_t]
493
492
  self.amlg.SetMaxNumThreads.restype = c_void_p
494
493
 
495
- self._log_execution(f"SET_MAX_NUM_THREADS {max_num_threads}")
494
+ self._log_execution(f"SET_MAX_NUM_THREADS {max_num_threads}".encode())
496
495
  result = self.amlg.SetMaxNumThreads(max_num_threads)
497
496
  self._log_reply(result)
498
497
 
@@ -511,7 +510,7 @@ class Amalgam:
511
510
  _logger.debug(f"Execution trace file being reset: "
512
511
  f"{self.execution_trace_filepath} to be closed ...")
513
512
  # Write exit command.
514
- self.trace.write("EXIT\n")
513
+ self.trace.write(b"EXIT\n")
515
514
  self.trace.close()
516
515
  self.execution_trace_filepath = Path(self.execution_trace_dir, file)
517
516
 
@@ -523,12 +522,12 @@ class Amalgam:
523
522
  self.execution_trace_dir, f'{file}.{counter}')
524
523
  counter += 1
525
524
 
526
- self.trace = open(self.execution_trace_filepath, 'w+')
525
+ self.trace = self.execution_trace_filepath.open("wb+")
527
526
  _logger.debug(f"New trace file: {self.execution_trace_filepath} "
528
527
  f"opened.")
529
528
  # Write load command used to instantiate the amalgam instance.
530
529
  if self.load_command_log_entry is not None:
531
- self.trace.write(self.load_command_log_entry + "\n")
530
+ self.trace.write(self.load_command_log_entry + b"\n")
532
531
  self.trace.flush()
533
532
 
534
533
  def __str__(self) -> str:
@@ -543,7 +542,7 @@ class Amalgam:
543
542
  getattr(self, 'trace', None) is not None
544
543
  ):
545
544
  try:
546
- self.trace.write("EXIT\n")
545
+ self.trace.write(b"EXIT\n")
547
546
  except Exception: # noqa - deliberately broad
548
547
  pass
549
548
 
@@ -559,7 +558,7 @@ class Amalgam:
559
558
  The raw reply string to log.
560
559
  """
561
560
  if self.trace:
562
- self.trace.write("# NOTE >" + str(comment) + "\n")
561
+ self.trace.write(b"# NOTE >" + comment.encode() + b"\n")
563
562
  self.trace.flush()
564
563
 
565
564
  def _log_reply(self, reply: t.Any):
@@ -574,7 +573,13 @@ class Amalgam:
574
573
  The raw reply string to log.
575
574
  """
576
575
  if self.trace:
577
- self.trace.write("# RESULT >" + str(reply) + "\n")
576
+ if isinstance(reply, ResultWithLog):
577
+ if reply.json:
578
+ self.trace.write(b"# RESULT >" + reply.json + b"\n")
579
+ if reply.log:
580
+ self.trace.write(b"# LOG >" + reply.log + b"\n")
581
+ else:
582
+ self.trace.write(b"# RESULT >" + str(reply).encode() + b"\n")
578
583
  self.trace.flush()
579
584
 
580
585
  def _log_time(self, label: str):
@@ -588,11 +593,11 @@ class Amalgam:
588
593
  """
589
594
  if self.trace:
590
595
  dt = datetime.now()
591
- self.trace.write(f"# TIME {label} {dt:%Y-%m-%d %H:%M:%S},"
592
- f"{f'{dt:%f}'[:3]}\n")
596
+ time_str = f"{label} {dt:%Y-%m-%d %H:%M:%S},{f'{dt:%f}'[:3]}"
597
+ self.trace.write(b"# TIME " + time_str.encode() + b"\n")
593
598
  self.trace.flush()
594
599
 
595
- def _log_execution(self, execution_string: str):
600
+ def _log_execution(self, execution_string: bytes):
596
601
  """
597
602
  Log an execution string.
598
603
 
@@ -601,7 +606,7 @@ class Amalgam:
601
606
 
602
607
  Parameters
603
608
  ----------
604
- execution_string : str
609
+ execution_string : bytes
605
610
  A formatted string that can be piped into an amalgam command line
606
611
  process for use in debugging.
607
612
 
@@ -610,8 +615,34 @@ class Amalgam:
610
615
  string passed is valid.
611
616
  """
612
617
  if self.trace:
613
- self.trace.write(execution_string + "\n")
618
+ self.trace.write(execution_string + b"\n")
614
619
  self.trace.flush()
620
+
621
+ def _log_execution_std(self, command: bytes, *args: str, suffix: str | bytes | None = None) -> None:
622
+ """
623
+ Log an execution string in a canonical form.
624
+
625
+ This looks like ``COMMAND "arg" "arg" suffix``.
626
+
627
+ Parameters
628
+ ----------
629
+ command : bytes
630
+ The trace file command string.
631
+ args : str
632
+ Arbitrary parameters to the command, will have double quotes escaped.
633
+ suffix : bytes, optional
634
+ Arbitrary binary data to append to the command string unprocessed.
635
+ """
636
+ if not self.trace:
637
+ return
638
+ words = [b"\"" + self.escape_double_quotes(arg).encode() + b"\"" for arg in args]
639
+ words.insert(0, command)
640
+ if isinstance(suffix, str):
641
+ words.append(suffix.encode())
642
+ elif isinstance(suffix, bytes):
643
+ words.append(suffix)
644
+ self.trace.write(b" ".join(words) + b"\n")
645
+ self.trace.flush()
615
646
 
616
647
  def gc(self):
617
648
  """Force garbage collection when called if self.force_gc is set."""
@@ -720,10 +751,7 @@ class Amalgam:
720
751
  handle_buf = self.str_to_char_p(handle)
721
752
  label_buf = self.str_to_char_p(label)
722
753
 
723
- self._log_execution((
724
- f"GET_JSON_FROM_LABEL \"{self.escape_double_quotes(handle)}\" "
725
- f"\"{self.escape_double_quotes(label)}\""
726
- ))
754
+ self._log_execution_std(b"GET_JSON_FROM_LABEL", handle, label)
727
755
  result = self.char_p_to_bytes(self.amlg.GetJSONPtrFromLabel(handle_buf, label_buf))
728
756
  self._log_reply(result)
729
757
 
@@ -757,11 +785,7 @@ class Amalgam:
757
785
  label_buf = self.str_to_char_p(label)
758
786
  json_buf = self.str_to_char_p(json)
759
787
 
760
- self._log_execution((
761
- f"SET_JSON_TO_LABEL \"{self.escape_double_quotes(handle)}\" "
762
- f"\"{self.escape_double_quotes(label)}\" "
763
- f"{json}"
764
- ))
788
+ self._log_execution_std(b"SET_JSON_TO_LABEL", handle, label, suffix=json)
765
789
  self.amlg.SetJSONToLabel(handle_buf, label_buf, json_buf)
766
790
  self._log_reply(None)
767
791
 
@@ -821,14 +845,14 @@ class Amalgam:
821
845
  write_log_buf = self.str_to_char_p(write_log)
822
846
  print_log_buf = self.str_to_char_p(print_log)
823
847
 
824
- load_command_log_entry = (
848
+ self.load_command_log_entry = (
825
849
  f"LOAD_ENTITY \"{self.escape_double_quotes(handle)}\" "
826
850
  f"\"{self.escape_double_quotes(file_path)}\" "
827
851
  f"\"{self.escape_double_quotes(file_type)}\" {str(persist).lower()} "
828
852
  f"{json_lib.dumps(json_file_params)} "
829
853
  f"\"{write_log}\" \"{print_log}\""
830
- )
831
- self._log_execution(load_command_log_entry)
854
+ ).encode()
855
+ self._log_execution(self.load_command_log_entry)
832
856
  result = LoadEntityStatus(self, self.amlg.LoadEntity(
833
857
  handle_buf, file_path_buf, file_type_buf, persist,
834
858
  json_file_params_buf, write_log_buf, print_log_buf))
@@ -865,7 +889,7 @@ class Amalgam:
865
889
  self.amlg.VerifyEntity.restype = _LoadEntityStatus
866
890
  file_path_buf = self.str_to_char_p(file_path)
867
891
 
868
- self._log_execution(f"VERIFY_ENTITY \"{self.escape_double_quotes(file_path)}\"")
892
+ self._log_execution_std(b"VERIFY_ENTITY", file_path)
869
893
  result = LoadEntityStatus(self, self.amlg.VerifyEntity(file_path_buf))
870
894
  self._log_reply(result)
871
895
 
@@ -895,7 +919,7 @@ class Amalgam:
895
919
  self.amlg.GetEntityPermissions.restype = POINTER(c_char)
896
920
  handle_buf = self.str_to_char_p(handle)
897
921
 
898
- self._log_execution(f"GET_ENTITY_PERMISSIONS \"{self.escape_double_quotes(handle)}\"")
922
+ self._log_execution_std(b"GET_ENTITY_PERMISSIONS", handle)
899
923
  result = self.char_p_to_bytes(self.amlg.GetEntityPermissions(handle_buf))
900
924
  self._log_reply(result)
901
925
 
@@ -931,11 +955,7 @@ class Amalgam:
931
955
  handle_buf = self.str_to_char_p(handle)
932
956
  json_permissions_buf = self.str_to_char_p(json_permissions)
933
957
 
934
- set_permissions_log_entry = (
935
- f"SET_ENTITY_PERMISSIONS \"{self.escape_double_quotes(handle)}\" "
936
- f"{json_permissions}"
937
- )
938
- self._log_execution(set_permissions_log_entry)
958
+ self._log_execution_std(b"SET_ENTITY_PERMISSIONS", handle, suffix=json_permissions)
939
959
  result = self.amlg.SetEntityPermissions(handle_buf, json_permissions_buf)
940
960
  self._log_reply(result)
941
961
 
@@ -999,15 +1019,13 @@ class Amalgam:
999
1019
  write_log_buf = self.str_to_char_p(write_log)
1000
1020
  print_log_buf = self.str_to_char_p(print_log)
1001
1021
 
1002
- clone_command_log_entry = (
1003
- f'CLONE_ENTITY "{self.escape_double_quotes(handle)}" '
1004
- f'"{self.escape_double_quotes(clone_handle)}" '
1005
- f"\"{self.escape_double_quotes(file_path)}\" "
1006
- f"\"{self.escape_double_quotes(file_type)}\" {str(persist).lower()} "
1007
- f"{json_lib.dumps(json_file_params)} "
1008
- f"\"{write_log}\" \"{print_log}\""
1022
+ self._log_execution_std(b"CLONE_ENTITY", handle, clone_handle, file_path, file_type,
1023
+ suffix=(
1024
+ f"{str(persist).lower()} "
1025
+ f"{json_lib.dumps(json_file_params)} "
1026
+ f"\"{write_log}\" \"{print_log}\""
1027
+ )
1009
1028
  )
1010
- self._log_execution(clone_command_log_entry)
1011
1029
  result = self.amlg.CloneEntity(
1012
1030
  handle_buf, clone_handle_buf, file_path_buf, file_type_buf, persist,
1013
1031
  json_file_params_buf, write_log_buf, print_log_buf)
@@ -1059,13 +1077,8 @@ class Amalgam:
1059
1077
  file_type_buf = self.str_to_char_p(file_type)
1060
1078
  json_file_params_buf = self.str_to_char_p(json_file_params)
1061
1079
 
1062
- store_command_log_entry = (
1063
- f"STORE_ENTITY \"{self.escape_double_quotes(handle)}\" "
1064
- f"\"{self.escape_double_quotes(file_path)}\" "
1065
- f"\"{self.escape_double_quotes(file_type)}\" {str(persist).lower()} "
1066
- f"{json_lib.dumps(json_file_params)} "
1067
- )
1068
- self._log_execution(store_command_log_entry)
1080
+ self._log_execution_std(b"STORE_ENTITY", handle, file_path, file_type,
1081
+ suffix=f"{str(persist).lower()} {json_lib.dumps(json_file_params)}")
1069
1082
  self.amlg.StoreEntity(
1070
1083
  handle_buf, file_path_buf, file_type_buf, persist, json_file_params_buf)
1071
1084
  self._log_reply(None)
@@ -1091,7 +1104,7 @@ class Amalgam:
1091
1104
  self.amlg.DestroyEntity.argtypes = [c_char_p]
1092
1105
  handle_buf = self.str_to_char_p(handle)
1093
1106
 
1094
- self._log_execution(f"DESTROY_ENTITY \"{self.escape_double_quotes(handle)}\"")
1107
+ self._log_execution_std(b"DESTROY_ENTITY", handle)
1095
1108
  self.amlg.DestroyEntity(handle_buf)
1096
1109
  self._log_reply(None)
1097
1110
 
@@ -1124,8 +1137,7 @@ class Amalgam:
1124
1137
  handle_buf = self.str_to_char_p(handle)
1125
1138
  rand_seed_buf = self.str_to_char_p(rand_seed)
1126
1139
 
1127
- self._log_execution(f'SET_RANDOM_SEED "{self.escape_double_quotes(handle)}" '
1128
- f'"{self.escape_double_quotes(rand_seed)}"')
1140
+ self._log_execution_std(b"SET_RANDOM_SEED", handle, rand_seed)
1129
1141
  result = self.amlg.SetRandomSeed(handle_buf, rand_seed_buf)
1130
1142
  self._log_reply(None)
1131
1143
 
@@ -1186,12 +1198,7 @@ class Amalgam:
1186
1198
  json_buf = self.str_to_char_p(json)
1187
1199
 
1188
1200
  self._log_time("EXECUTION START")
1189
- self._log_execution((
1190
- "EXECUTE_ENTITY_JSON "
1191
- f"\"{self.escape_double_quotes(handle)}\" "
1192
- f"\"{self.escape_double_quotes(label)}\" "
1193
- f"{json}"
1194
- ))
1201
+ self._log_execution_std(b"EXECUTE_ENTITY_JSON", handle, label, suffix=json)
1195
1202
  result = self.char_p_to_bytes(self.amlg.ExecuteEntityJsonPtr(
1196
1203
  handle_buf, label_buf, json_buf))
1197
1204
  self._log_time("EXECUTION STOP")
@@ -1236,12 +1243,7 @@ class Amalgam:
1236
1243
  json_buf = self.str_to_char_p(json)
1237
1244
 
1238
1245
  self._log_time("EXECUTION START")
1239
- self._log_execution((
1240
- "EXECUTE_ENTITY_JSON_LOGGED "
1241
- f"\"{self.escape_double_quotes(handle)}\" "
1242
- f"\"{self.escape_double_quotes(label)}\" "
1243
- f"{json}"
1244
- ))
1246
+ self._log_execution_std(b"EXECUTE_ENTITY_JSON_LOGGED", handle, label, suffix=json)
1245
1247
  result = ResultWithLog.from_c_result(self, self.amlg.ExecuteEntityJsonPtrLogged(
1246
1248
  handle_buf, label_buf, json_buf))
1247
1249
  self._log_time("EXECUTION STOP")
@@ -1281,11 +1283,7 @@ class Amalgam:
1281
1283
  amlg_buf = self.str_to_char_p(amlg)
1282
1284
 
1283
1285
  self._log_time("EXECUTION START")
1284
- self._log_execution((
1285
- "EVAL_ON_ENTITY "
1286
- f"\"{self.escape_double_quotes(handle)}\" "
1287
- f"\"{self.escape_double_quotes(str(amlg))}\""
1288
- ))
1286
+ self._log_execution_std(b"EVAL_ON_ENTITY", handle, str(amlg))
1289
1287
  result = self.char_p_to_bytes(self.amlg.EvalOnEntity(
1290
1288
  handle_buf, amlg_buf))
1291
1289
  self._log_time("EXECUTION STOP")
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "67.0.0"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "67.0.0"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "67.0.0"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "67.0.0"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "67.0.0"
3
+ }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": {
3
- "amalgam": "65.0.3",
4
- "amalgam_sha": "6cb99adc6b44d002ff18ed93d8f3175de9b593aa",
5
- "amalgam_url": "https://github.com/howsoai/amalgam/releases/tag/65.0.3",
3
+ "amalgam": "67.0.0",
4
+ "amalgam_sha": "0354a858c0acd93fd1b2ebcee8f0c5efd283e231",
5
+ "amalgam_url": "https://github.com/howsoai/amalgam/releases/tag/67.0.0",
6
6
  "amalgam_build_date": "",
7
7
  "amalgam_display_title": ""
8
8
  }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "67.0.0"
3
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amalgam-lang
3
- Version: 22.0.3
3
+ Version: 24.0.0
4
4
  Summary: A direct interface with Amalgam compiled DLL, dylib, or so.
5
5
  Author: Howso Incorporated
6
6
  Author-email: support@howso.com
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "amalgam": "65.0.3"
3
+ "amalgam": "67.0.0"
4
4
  }
5
5
  }
@@ -1,3 +0,0 @@
1
- {
2
- "version": "65.0.3"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "version": "65.0.3"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "version": "65.0.3"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "version": "65.0.3"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "version": "65.0.3"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "version": "65.0.3"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes