ararpy 0.2.4__py3-none-any.whl → 0.2.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ararpy/__init__.py CHANGED
@@ -16,10 +16,10 @@ from . import calc, smp, files, thermo, test
16
16
  """ Information """
17
17
 
18
18
  name = 'ararpy'
19
- version = '0.2.4'
19
+ version = '0.2.5'
20
20
  __version__ = version
21
21
  full_version = version
22
- last_update = '2026-01-07'
22
+ last_update = '2026-01-08'
23
23
 
24
24
  """ ArArPy Functions """
25
25
 
ararpy/files/arr_file.py CHANGED
@@ -27,7 +27,7 @@ def save(file_path, sample):
27
27
  str, file name
28
28
  """
29
29
  if not file_path.endswith(".arr"):
30
- file_path = os.path.join(file_path, f"{sample.Info.sample.name}.arr")
30
+ file_path = os.path.join(file_path, f"{sample.Info.experiment.name}.arr")
31
31
  with open(file_path, 'wb') as f:
32
32
  f.write(pickle.dumps(sample))
33
33
  # with open(file_path, 'w') as f:
ararpy/files/raw_file.py CHANGED
@@ -411,39 +411,42 @@ def get_sample_info(file_contents: list, index_list: list, default="", base: Uni
411
411
  """
412
412
  sample_info = DEFAULT_SAMPLE_INFO.copy()
413
413
  sample_info.update({
414
- "ExpName": get_item(file_contents, index_list[0:3], default=default, base=base).strip(),
415
- "StepName": get_item(file_contents, index_list[3:6], default=default, base=base).strip(),
416
- "StepType": get_item(file_contents, index_list[6:9], default=default, base=base).strip(),
417
- "StepLabel": get_item(file_contents, index_list[9:12], default=default, base=base).strip(),
418
- "ZeroYear": get_item(file_contents, index_list[12:15], default=default, base=base).strip(),
419
- "ZeroHour": get_item(file_contents, index_list[15:18], default=default, base=base).strip(),
420
- "ZeroMon": get_item(file_contents, index_list[18:21], default=default, base=base).strip(),
421
- "ZeroMin": get_item(file_contents, index_list[21:24], default=default, base=base).strip(),
422
- "ZeroDay": get_item(file_contents, index_list[24:27], default=default, base=base).strip(),
423
- "ZeroSec": get_item(file_contents, index_list[27:30], default=default, base=base).strip(),
424
- "SmpName": get_item(file_contents, index_list[30:33], default=default, base=base).strip(),
425
- "SmpLoc": get_item(file_contents, index_list[33:36], default=default, base=base).strip(),
426
- "SmpMatr": get_item(file_contents, index_list[36:39], default=default, base=base).strip(),
427
- "ExpType": get_item(file_contents, index_list[39:42], default=default, base=base).strip(),
428
- "SmpWeight": get_item(file_contents, index_list[42:45], default=default, base=base).strip(),
429
- "Stepunit": get_item(file_contents, index_list[45:48], default=default, base=base).strip(),
430
- "HeatingTime": get_item(file_contents, index_list[48:51], default=default, base=base).strip(),
431
- "InstrName": get_item(file_contents, index_list[51:54], default=default, base=base).strip(),
432
- "Researcher": get_item(file_contents, index_list[54:57], default=default, base=base).strip(),
433
- "Analyst": get_item(file_contents, index_list[57:60], default=default, base=base).strip(),
434
- "Lab": get_item(file_contents, index_list[60:63], default=default, base=base).strip(),
435
- "Jv": get_item(file_contents, index_list[63:66], default=default, base=base).strip(),
436
- "Jsig": get_item(file_contents, index_list[66:69], default=default, base=base).strip(),
437
- "MDF": get_item(file_contents, index_list[69:72], default=default, base=base).strip(),
438
- "MDFSig": get_item(file_contents, index_list[72:75], default=default, base=base).strip(),
439
- "CalcName": get_item(file_contents, index_list[75:78], default=default, base=base).strip(),
440
- "IrraName": get_item(file_contents, index_list[78:81], default=default, base=base).strip(),
441
- "IrraLabel": get_item(file_contents, index_list[81:84], default=default, base=base).strip(),
442
- "IrraPosH": get_item(file_contents, index_list[84:87], default=default, base=base).strip(),
443
- "IrraPosX": get_item(file_contents, index_list[87:90], default=default, base=base).strip(),
444
- "IrraPosY": get_item(file_contents, index_list[90:93], default=default, base=base).strip(),
445
- "StdName": get_item(file_contents, index_list[93:96], default=default, base=base).strip(),
446
- "StdAge": get_item(file_contents, index_list[96:99], default=default, base=base).strip(),
447
- "StdAgeSig": get_item(file_contents, index_list[99:102], default=default, base=base).strip(),
414
+ "ExpName": get_item(file_contents, index_list[0:3], default=default, base=base),
415
+ "StepName": get_item(file_contents, index_list[3:6], default=default, base=base),
416
+ "StepType": get_item(file_contents, index_list[6:9], default=default, base=base),
417
+ "StepLabel": get_item(file_contents, index_list[9:12], default=default, base=base),
418
+ "ZeroYear": get_item(file_contents, index_list[12:15], default=default, base=base),
419
+ "ZeroHour": get_item(file_contents, index_list[15:18], default=default, base=base),
420
+ "ZeroMon": get_item(file_contents, index_list[18:21], default=default, base=base),
421
+ "ZeroMin": get_item(file_contents, index_list[21:24], default=default, base=base),
422
+ "ZeroDay": get_item(file_contents, index_list[24:27], default=default, base=base),
423
+ "ZeroSec": get_item(file_contents, index_list[27:30], default=default, base=base),
424
+ "SmpName": get_item(file_contents, index_list[30:33], default=default, base=base),
425
+ "SmpLoc": get_item(file_contents, index_list[33:36], default=default, base=base),
426
+ "SmpMatr": get_item(file_contents, index_list[36:39], default=default, base=base),
427
+ "ExpType": get_item(file_contents, index_list[39:42], default=default, base=base),
428
+ "SmpWeight": get_item(file_contents, index_list[42:45], default=default, base=base),
429
+ "Stepunit": get_item(file_contents, index_list[45:48], default=default, base=base),
430
+ "HeatingTime": get_item(file_contents, index_list[48:51], default=default, base=base),
431
+ "InstrName": get_item(file_contents, index_list[51:54], default=default, base=base),
432
+ "Researcher": get_item(file_contents, index_list[54:57], default=default, base=base),
433
+ "Analyst": get_item(file_contents, index_list[57:60], default=default, base=base),
434
+ "Lab": get_item(file_contents, index_list[60:63], default=default, base=base),
435
+ "Jv": get_item(file_contents, index_list[63:66], default=default, base=base),
436
+ "Jsig": get_item(file_contents, index_list[66:69], default=default, base=base),
437
+ "MDF": get_item(file_contents, index_list[69:72], default=default, base=base),
438
+ "MDFSig": get_item(file_contents, index_list[72:75], default=default, base=base),
439
+ "CalcName": get_item(file_contents, index_list[75:78], default=default, base=base),
440
+ "IrraName": get_item(file_contents, index_list[78:81], default=default, base=base),
441
+ "IrraLabel": get_item(file_contents, index_list[81:84], default=default, base=base),
442
+ "IrraPosH": get_item(file_contents, index_list[84:87], default=default, base=base),
443
+ "IrraPosX": get_item(file_contents, index_list[87:90], default=default, base=base),
444
+ "IrraPosY": get_item(file_contents, index_list[90:93], default=default, base=base),
445
+ "StdName": get_item(file_contents, index_list[93:96], default=default, base=base),
446
+ "StdAge": get_item(file_contents, index_list[96:99], default=default, base=base),
447
+ "StdAgeSig": get_item(file_contents, index_list[99:102], default=default, base=base),
448
448
  })
449
+ for key, val in sample_info.items():
450
+ if isinstance(val, str):
451
+ sample_info[key] = val.strip()
449
452
  return sample_info
ararpy/smp/initial.py CHANGED
@@ -300,14 +300,18 @@ def check_version(smp: Sample):
300
300
  -------
301
301
 
302
302
  """
303
- if smp.version != samples.VERSION:
304
- std = initial(Sample())
305
- basic.get_merged_smp(smp, std)
306
303
 
307
304
  try:
308
305
  version = int(smp.version)
309
306
  except ValueError:
310
307
  return smp
308
+ except AttributeError:
309
+ smp.version = "20240701"
310
+ return check_version(smp)
311
+
312
+ if smp.version != samples.VERSION:
313
+ std = initial(Sample())
314
+ basic.get_merged_smp(smp, std)
311
315
 
312
316
  # 20250328: # Experiment info
313
317
  smp.Info.experiment.name = smp.name()
@@ -328,7 +332,7 @@ def check_version(smp: Sample):
328
332
 
329
333
  # 20250404: # Normalization for steps with different J values
330
334
  # always check
331
- if version < 1120250405:
335
+ if version < 99990101:
332
336
  doNormalize = True
333
337
  v, sv = [], []
334
338
  try:
ararpy/smp/plots.py CHANGED
@@ -129,7 +129,7 @@ def get_iso_init(sample: Sample, figure: Plot):
129
129
  if figure.id != 'figure_7':
130
130
  for point in calc.arr.transpose(data[:5]):
131
131
  if '' not in point and None not in point:
132
- ellipse_data.append(calc.isochron.get_ellipse(*point))
132
+ ellipse_data.append(calc.isochron.get_ellipse(*point, plt_sfactor=sample.Info.preference.confidence_level))
133
133
  return data, ellipse_data
134
134
 
135
135
 
ararpy/smp/sample.py CHANGED
@@ -799,7 +799,7 @@ DEFAULT_PLOT_STYLES = lambda sample_type, age_unit: {
799
799
  },
800
800
  }
801
801
 
802
- VERSION = '20251231'
802
+ VERSION = '20260101'
803
803
 
804
804
  NAMED_DICT = {
805
805
  "unknown": {"header": SAMPLE_INTERCEPT_HEADERS.copy()},
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ararpy
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: A project for Ar-Ar geochronology
5
5
  Home-page: https://github.com/wuyangchn/ararpy.git
6
6
  Author: Yang Wu
@@ -5,7 +5,7 @@ ararpy/Example - Show MDD results.py,sha256=YFkiQual60lyCClsfvivr4REY6waSYuomf0u
5
5
  ararpy/Example - Show all Kfs age spectra.py,sha256=1edPtBpFfS0lC7vLnLu34mDHt_xjbc8ptk6rZ--pf-I,12304
6
6
  ararpy/Example - Show random walk results.py,sha256=8WWvbAI7ySiMR-XwtFe5kTQihW3mcqzL3S7EUZdoxYo,15477
7
7
  ararpy/Example - Tc calculation.py,sha256=sD9pu3IaZ8mBV95rV2wOEhlQUexFNqBUoBqnNMdUBis,19617
8
- ararpy/__init__.py,sha256=H-LaMP-KRGnQMY-ocBUgmRe9vohsJqj9gR-O_DZXSp0,5386
8
+ ararpy/__init__.py,sha256=A0RSHLgX036fFBoFlOp1X6Zycw7J2KU5wmDkYfbM_5s,5386
9
9
  ararpy/test.py,sha256=4F46-JJ1Ge12HGae0qO44Qc6kiEMHBgn2MsY_5LlHDo,3973
10
10
  ararpy/calc/__init__.py,sha256=kUjRuLE8TLuKOv3i976RnGJoEMj23QBZDu37LWs81U4,322
11
11
  ararpy/calc/age.py,sha256=WOZs70zXiBWDIEhXJLIaNiYTOFJNk0NDbH5e5zCbCks,5435
@@ -40,11 +40,11 @@ ararpy/examples/WHA.pdf,sha256=iopbptHkWPmYdgihEVDDfv2nm2XE-Q-e7fFnkR44Xh0,17869
40
40
  ararpy/examples/raw_example.xls,sha256=ftcSiXRx_7nYnbqJVma1Yl3Yr_iuceAWlEjhJwlAvFM,1929895
41
41
  ararpy/examples/sample-default.smp,sha256=YNkoQGgPrsL_fXS7ZHxfRtLQWekCDqT9czS6vBScImk,432
42
42
  ararpy/files/__init__.py,sha256=l5B5ZQ01WdtvjjN0aMkyAFNgpwANdM_1I0tQbqnRuEY,69
43
- ararpy/files/arr_file.py,sha256=pD5MxkAydL7cNq2wmKFUaOU4jHhc3MzTYrwbxZ3f46w,881
43
+ ararpy/files/arr_file.py,sha256=-6FsNz73HOPUEEMGJyoFyDW1N31xGjSy1qz2ROpvq4k,885
44
44
  ararpy/files/basic.py,sha256=k2GXgZjhqSmKvpXQLjsXDksS_ZLvqD7AWW54fXnYvTI,1228
45
45
  ararpy/files/calc_file.py,sha256=-CZXmlHVf65hKMLhwp6eSewbxzxywXcnpycoEeLDhZA,29304
46
46
  ararpy/files/new_file.py,sha256=efblARIBROVLWS2w3-98BxLX5VZ8grRpiTkJFtf_rAk,214
47
- ararpy/files/raw_file.py,sha256=X2_RjlNOUbdkA9MM2ZMNlZmGL7jc1-eV-Wy-bIu2bb0,20592
47
+ ararpy/files/raw_file.py,sha256=IECS9-Oi-GxPoRLOn77Gk20eFbbkY2fDk6dqLlKTafA,20440
48
48
  ararpy/files/xls.py,sha256=DVcZ_yRnc19p-m4leGGjt-YPDpSa2udYKmGyrM0qub0,640
49
49
  ararpy/smp/EXPORT_TO_PDF_DATA_PROPERTIES.py,sha256=baDM437tu6hsPv0uYfod0TREXlPd6kvMBFT1S9ZZlkk,3024
50
50
  ararpy/smp/__init__.py,sha256=k6_fa27UJsQK7K7oC5GYlwMo6l0Xd8af3QtOrZz2XJk,478
@@ -55,19 +55,19 @@ ararpy/smp/corr.py,sha256=uZY3P5TLuXK1kwDXWqF6zWHPiEH0Ovsx9L6xonzDYhY,37844
55
55
  ararpy/smp/diffusion_funcs.py,sha256=X6LC1XY-vub5BpAuZMlyA5k3DQcU8Qqf5uukwGjJOxw,186690
56
56
  ararpy/smp/export.py,sha256=XnLKjWk4LFqtqXdy2qCUkOLy0vkjMq-X-tE9A545BVE,120439
57
57
  ararpy/smp/info.py,sha256=tpEIjrE4nR-GAYTricBk9gq0LuHh6F1Bt7HPo1rS2HM,497
58
- ararpy/smp/initial.py,sha256=o3KcEx9nCIVJtdmy6BX_JZ_SjOmzWjAMffdm8JM01Vo,20119
58
+ ararpy/smp/initial.py,sha256=PVI62cYgfKx3mNGwm-Vfym_XQxksRijzGVnaUxJET0A,20216
59
59
  ararpy/smp/json.py,sha256=zfJCC_2LCDckqC8Fpu10jEA6Knl3UtKO31I5g4fvsBE,2273
60
- ararpy/smp/plots.py,sha256=SrYlTFUzfcKnUnhVf04dyGx0eJmR2mbjG0VRE8LTJnU,34202
60
+ ararpy/smp/plots.py,sha256=EpBE3lVtK7ZMQLEZTB2yvQtRYNSFYW4mBHAyMPA6XJY,34255
61
61
  ararpy/smp/raw.py,sha256=77J1dEYL4ZSeftp4tyog_Cy1Y5bwHNaLqJK4i4KLOSY,6500
62
- ararpy/smp/sample.py,sha256=ICW-Sy1fePQLMJLT8wR4KIK8Ikcc0zzeXBZ55gVxI3s,60478
62
+ ararpy/smp/sample.py,sha256=zLQxPSqss9ucP0LS6Q6l_nRJvj19zlJ9k_ktztCQYh8,60478
63
63
  ararpy/smp/style.py,sha256=P7pAgBVpUzviJWyMiJXRE_NpzDf3ncNtFmUJHQGNFw0,8446
64
64
  ararpy/smp/table.py,sha256=iXJilp0V_kDyuTycjV82fBimuzLmVciAaL_av0zIb5Y,8540
65
65
  ararpy/thermo/__init__.py,sha256=6VBuqTRFl403PVqOuMkVrut0nKaQsAosBmfW91X1dMg,263
66
66
  ararpy/thermo/arrhenius.py,sha256=Ass1ichHfqIAtpv8eLlgrUc1UOb3Urh1qzr1E3gLB4U,233
67
67
  ararpy/thermo/atomic_level_random_walk.py,sha256=ncw9DtxRfS6zlQbLVLNX7WNoO9sX_nSomwAsTH0_O3k,25910
68
68
  ararpy/thermo/basic.py,sha256=JJRZbYmvXlpRAV2FeFPwLhrig4ZhNQmJnWqgOjo-1YQ,11508
69
- ararpy-0.2.4.dist-info/licenses/LICENSE,sha256=cvG5t_C1qY_zUyJI7sNOa7gCArdngNPaOrfujl2LYuc,1085
70
- ararpy-0.2.4.dist-info/METADATA,sha256=KaF8mrbZECHMeFN-h3w2r6YA9g6j04ozGPQ13-CoeRc,24726
71
- ararpy-0.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
72
- ararpy-0.2.4.dist-info/top_level.txt,sha256=9iTpsPCYuRYq09yQTk9d2lqB8JtTEOmbN-IcGB-K3vY,7
73
- ararpy-0.2.4.dist-info/RECORD,,
69
+ ararpy-0.2.5.dist-info/licenses/LICENSE,sha256=cvG5t_C1qY_zUyJI7sNOa7gCArdngNPaOrfujl2LYuc,1085
70
+ ararpy-0.2.5.dist-info/METADATA,sha256=cPOzmJPc9X2V2MEgLf3Pm_kr5eR5gffgiwsKwBGgRBI,24726
71
+ ararpy-0.2.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
72
+ ararpy-0.2.5.dist-info/top_level.txt,sha256=9iTpsPCYuRYq09yQTk9d2lqB8JtTEOmbN-IcGB-K3vY,7
73
+ ararpy-0.2.5.dist-info/RECORD,,
File without changes