ararpy 0.1.12__py3-none-any.whl → 0.1.14__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/smp/json.py CHANGED
@@ -14,6 +14,7 @@ import json
14
14
  import numpy as np
15
15
  import pandas as pd
16
16
  from .sample import Sample, Table, Plot, RawData, Sequence, ArArBasic
17
+ from django.db.models import QuerySet
17
18
 
18
19
 
19
20
  def dumps(a):
@@ -31,6 +32,9 @@ class MyEncoder(json.JSONEncoder):
31
32
  # np.array
32
33
  if isinstance(obj, np.ndarray):
33
34
  return obj.tolist()
35
+ # np.array
36
+ if isinstance(obj, QuerySet):
37
+ return list(obj)
34
38
  # pd.DataFrame
35
39
  if isinstance(obj, pd.DataFrame):
36
40
  print(obj)
@@ -49,6 +53,9 @@ class MyEncoder(json.JSONEncoder):
49
53
  'is_blank': obj.is_blank(), 'is_unknown': obj.is_unknown(),
50
54
  'is_air': obj.is_air()})
51
55
  return obj.__dict__
56
+ # Error
57
+ if isinstance(obj, BaseException):
58
+ return obj.args[0]
52
59
  if not isinstance(obj, (int, str, list, dict, tuple, float)):
53
60
  print(f"Special type, {type(obj) = }, {obj = }")
54
61
  return super(MyEncoder, self).default(obj)
ararpy/smp/plots.py CHANGED
@@ -59,7 +59,7 @@ def set_plot_data(sample: Sample, isInit: bool = True, isIsochron: bool = True,
59
59
  # Initialization, apply age spectra data and isochron plot data
60
60
  if isInit:
61
61
  try:
62
- initial_plot_data(sample)
62
+ initial_plot_data(sample, **kwargs)
63
63
  except (Exception, BaseException):
64
64
  # print(traceback.format_exc())
65
65
  pass
@@ -80,7 +80,7 @@ def set_plot_data(sample: Sample, isInit: bool = True, isIsochron: bool = True,
80
80
  # Recalculate plateaus
81
81
  if isPlateau:
82
82
  try:
83
- recalc_plateaus(sample)
83
+ recalc_plateaus(sample, **kwargs)
84
84
  except (Exception, BaseException):
85
85
  # print(traceback.format_exc())
86
86
  pass
@@ -89,7 +89,7 @@ def set_plot_data(sample: Sample, isInit: bool = True, isIsochron: bool = True,
89
89
  # =======================
90
90
  # Initialize plot data
91
91
  # =======================
92
- def initial_plot_data(sample: Sample):
92
+ def initial_plot_data(sample: Sample, **kwargs):
93
93
  """
94
94
  Assign initial data for plots
95
95
  Parameters
@@ -136,7 +136,7 @@ def initial_plot_data(sample: Sample):
136
136
  )
137
137
  try:
138
138
  sample.AgeSpectraPlot.data = calc.spectra.get_data(
139
- *sample.ApparentAgeValues[2:4], sample.ApparentAgeValues[7])
139
+ *sample.ApparentAgeValues[2:4], sample.ApparentAgeValues[7], **kwargs)
140
140
  sample.AgeSpectraPlot.data = calc.arr.transpose(sample.AgeSpectraPlot.data)
141
141
  except (Exception, BaseException):
142
142
  print(traceback.format_exc())
@@ -434,8 +434,9 @@ def recalc_age_plateaus(sample: Sample, **kwargs):
434
434
  # Get ages and line data points for each set
435
435
  try:
436
436
  set1_res, set1_age, set1_data = \
437
- get_plateau_results(sample, sample.SelectedSequence1, calc_ar40ar39(*ratio_set1, smp=sample))
437
+ get_plateau_results(sample, sample.SelectedSequence1, calc_ar40ar39(*ratio_set1, smp=sample), **kwargs)
438
438
  except ValueError:
439
+ # print(traceback.format_exc())
439
440
  pass
440
441
  # raise ValueError(f"Set 1 Plateau results calculation error.")
441
442
  else:
@@ -444,8 +445,9 @@ def recalc_age_plateaus(sample: Sample, **kwargs):
444
445
  sample.AgeSpectraPlot.text1.text = "" # 注意和js的配合,js那边根据text是否为空判断是否重新生成文字
445
446
  try:
446
447
  set2_res, set2_age, set2_data = \
447
- get_plateau_results(sample, sample.SelectedSequence2, calc_ar40ar39(*ratio_set2, smp=sample))
448
+ get_plateau_results(sample, sample.SelectedSequence2, calc_ar40ar39(*ratio_set2, smp=sample), **kwargs)
448
449
  except ValueError:
450
+ # print(traceback.format_exc())
449
451
  pass
450
452
  # raise ValueError(f"Set 2 Plateau results calculation error.")
451
453
  else:
@@ -579,7 +581,7 @@ def calc_ar40ar39(r, sr, smp):
579
581
 
580
582
 
581
583
  def get_plateau_results(sample: Sample, sequence: list, ar40rar39k: list = None,
582
- ar39k_percentage: list = None):
584
+ ar39k_percentage: list = None, **kwargs):
583
585
  """
584
586
  Get initial ratio re-corrected plateau results
585
587
  Parameters
@@ -613,7 +615,7 @@ def get_plateau_results(sample: Sample, sequence: list, ar40rar39k: list = None,
613
615
  ar39k_percentage = sample.ApparentAgeValues[7]
614
616
 
615
617
  age = basic.calc_age(ar40ar39=ar40rar39k, smp=sample)[0:2]
616
- plot_data = calc.spectra.get_data(*age, ar39k_percentage, indices=sequence)
618
+ plot_data = calc.spectra.get_data(*age, ar39k_percentage, indices=sequence, **kwargs)
617
619
  f_values = _get_partial(sequence, *ar40rar39k)
618
620
  age = _get_partial(sequence, *age)
619
621
  sum_ar39k = sum(_get_partial(sequence, ar39k_percentage)[0])
ararpy/smp/raw.py CHANGED
@@ -50,8 +50,15 @@ def to_raw(file_path: Union[str, List[str]], input_filter_path: Union[str, List[
50
50
  data = res.get('data', None)
51
51
  sequences = res.get('sequences', None)
52
52
  sequence_num = len(data) if data is not None else len(sequences)
53
- raw = RawData(name=file_name, data=data, isotopic_num=10, sequence_num=sequence_num,
54
- source=[file_path], sequence=sequences, unit=str(input_filter[30]))
53
+ # default fitting method, all exponential
54
+ # <option value=0>Linear</option>
55
+ # <option value=1>Quadratic</option>
56
+ # <option value=2>Exponential</option>
57
+ # <option value=3>Power</option>
58
+ # <option value=4>Average</option>
59
+ fitting_method = [2, 0, 2, 2, 2]
60
+ raw = RawData(name=file_name, data=data, isotopic_num=10, sequence_num=sequence_num, source=[file_path],
61
+ sequence=sequences, unit=str(input_filter[30]), fitting_method=[*fitting_method])
55
62
  else:
56
63
  raise ValueError("File path and input filter should be both string or list with a same length.")
57
64
  return raw
ararpy/smp/sample.py CHANGED
@@ -122,9 +122,10 @@ TOTAL_PARAMS_HEADERS = [
122
122
  'Not Zero', 'Corr Blank', 'Corr Discr', 'Corr \u00B3\u2077Ar Decay', # 103-106
123
123
  'Corr \u00B3\u2079Ar Decay', # 107
124
124
  'Ca Degassing', 'K Degassing', 'Cl Degassing', 'Trap Degassing', # 108-111
125
- 'Using Min Equation',
125
+ 'Using Min Equation', # 112
126
126
  # 'Recalibration', 'Using Std Age', 'Use Std Ratio', # 112-115 to be completed
127
- '', '', '', # 112-115
127
+ 'Apply Gain Corr to Blanks', # 113
128
+ '', '', # 114-115
128
129
  'Auto Plateau Method', # 116 the index includes sequence name and unit
129
130
  'Initial Ratio Model', # 117
130
131
  'Set1 initial Ratio', # 118
@@ -137,11 +138,11 @@ TOTAL_PARAMS_HEADERS = [
137
138
  'Heating Time (s)', # 125
138
139
  'Heating Actual Temp (C)', # 126
139
140
  'Heating AT 1\u03C3', # 127
140
- '36Ar Gain', '1\u03C3', # 128-129
141
- '37Ar Gain', '1\u03C3', # 130-131
142
- '38Ar Gain', '1\u03C3', # 132-133
143
- '39Ar Gain', '1\u03C3', # 134-135
144
- '40Ar Gain', '1\u03C3', # 136-137
141
+ '36Ar Gain', '%1\u03C3', # 128-129
142
+ '37Ar Gain', '%1\u03C3', # 130-131
143
+ '38Ar Gain', '%1\u03C3', # 132-133
144
+ '39Ar Gain', '%1\u03C3', # 134-135
145
+ '40Ar Gain', '%1\u03C3', # 136-137
145
146
  ]
146
147
 
147
148
  SAMPLE_INTERCEPT_SHORT_HEADERS = [
@@ -235,9 +236,10 @@ TOTAL_PARAMS_SHORT_HEADERS = [
235
236
  'NotZero', 'CorrBlank', 'CorrDiscr', 'CorrAr37Decay',
236
237
  'CorrAr39Decay', # 103-107
237
238
  'CaDegassing', 'KDegassing', 'ClDegassing', 'TrapDegassing', # 108-111
238
- 'UsingMin',
239
+ 'UsingMin', # 112
239
240
  # 'Recalibration', 'Using Std Age', 'Use Std Ratio', # 112-115 to be completed
240
- '', '', '', # 112-115
241
+ 'BlankGainCorr', # 113
242
+ '', '', # 114-115
241
243
  'AutoPlateauMethod', # 116 the index includes sequence name and unit
242
244
  'InitialRatioModel', # 117
243
245
  'Set1InitialRatio', # 118
@@ -250,11 +252,11 @@ TOTAL_PARAMS_SHORT_HEADERS = [
250
252
  'HeatingTime', # 125
251
253
  'HeatingActualTemp', # 126
252
254
  'HeatingActualTempError', # 127
253
- '36Gain', '1s', # 128-129
254
- '37Gain', '1s', # 130-131
255
- '38Gain', '1s', # 132-133
256
- '39Gain', '1s', # 134-135
257
- '40Gain', '1s', # 136-137
255
+ '36Gain', '%1s', # 128-129
256
+ '37Gain', '%1s', # 130-131
257
+ '38Gain', '%1s', # 132-133
258
+ '39Gain', '%1s', # 134-135
259
+ '40Gain', '%1s', # 136-137
258
260
  ]
259
261
 
260
262
  DEFAULT_PLOT_STYLES = {
@@ -741,7 +743,7 @@ DEFAULT_PLOT_STYLES = {
741
743
  },
742
744
  }
743
745
 
744
- VERSION = '20240930'
746
+ VERSION = '20250102'
745
747
 
746
748
  NAMED_DICT = {
747
749
  "unknown": {"header": SAMPLE_INTERCEPT_HEADERS.copy()},
@@ -842,7 +844,9 @@ class Sample:
842
844
  # self.__version = '20230730' # delete calcparams attribute
843
845
  # self.__version = '20230827' # using merge smp to update arr version
844
846
  # self.__version = '20231116' # change smp parameters
845
- self.__version = '20240730' # change parameter table for thermo calculation
847
+ # self.__version = '20240730' # change parameter table for thermo calculation
848
+ # self.__version = '20241028' # gain correction
849
+ self.__version = '20250102' # gain correction to blanks
846
850
 
847
851
  @property
848
852
  def version(self):
@@ -1154,16 +1158,21 @@ class RawData:
1154
1158
  self.isotopic_num = isotopic_num
1155
1159
  self.sequence_num = sequence_num
1156
1160
  self.interpolated_blank = None
1157
- if data is not None:
1161
+ if sequence is not None:
1162
+ self.sequence = sequence
1163
+ elif data is not None:
1158
1164
  self.sequence: List[Sequence] = [
1159
- Sequence(index=index, name=item[0][0] if isinstance(item[0][0], str) and item[0][
1160
- 0] != '' else f"{self.name}-{index + 1:02d}", data=item[1:], datetime=item[0][1], type_str=item[0][2],
1161
- fitting_method=[0] * 5, options=item[0][3])
1162
- for index, item in enumerate(data)]
1165
+ Sequence(
1166
+ index=index,
1167
+ name=item[0][0] if isinstance(item[0][0], str) and item[0][0] != '' else f"{self.name}-{index + 1:02d}",
1168
+ data=item[1:],
1169
+ datetime=item[0][1],
1170
+ type_str=item[0][2],
1171
+ fitting_method=[*kwargs.get("fitting_method", [0] * 5)],
1172
+ options=item[0][3]
1173
+ ) for index, item in enumerate(data)]
1163
1174
  else:
1164
1175
  self.sequence: List[Sequence] = []
1165
- if sequence is not None:
1166
- self.sequence = sequence
1167
1176
  for k, v in kwargs.items():
1168
1177
  if hasattr(self, k) and type(getattr(self, k)) is MethodType:
1169
1178
  continue
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: ararpy
3
- Version: 0.1.12
3
+ Version: 0.1.14
4
4
  Summary: A project for Ar-Ar geochronology
5
5
  Home-page: https://github.com/wuyangchn/ararpy.git
6
6
  Author: Yang Wu
@@ -12,6 +12,14 @@ Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.5
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
+ Dynamic: author
16
+ Dynamic: author-email
17
+ Dynamic: classifier
18
+ Dynamic: description
19
+ Dynamic: description-content-type
20
+ Dynamic: home-page
21
+ Dynamic: requires-python
22
+ Dynamic: summary
15
23
 
16
24
  # ArArPy
17
25
 
@@ -1,18 +1,20 @@
1
1
  ararpy/__init__.py,sha256=XKlsgklkzGfvqQkt59y-UST9aVhgCf-eXpEDiaZaynQ,6725
2
2
  ararpy/test.py,sha256=4F46-JJ1Ge12HGae0qO44Qc6kiEMHBgn2MsY_5LlHDo,3973
3
+ ararpy/argon_diffusion_simulator/__init__.py,sha256=8VEdUP7sh17lNg6FcRVVK0JynthEsSk_qcTQtwisqU8,229
4
+ ararpy/argon_diffusion_simulator/main.py,sha256=TaULfYZCKkbotIxt0wMuRlSCg0OuG0sy1V4fdzY8VMk,21920
3
5
  ararpy/calc/__init__.py,sha256=kUjRuLE8TLuKOv3i976RnGJoEMj23QBZDu37LWs81U4,322
4
6
  ararpy/calc/age.py,sha256=CUex9UxZbYinl9ypd7o86R3VRQFzahku3gW__fBeoss,5811
5
- ararpy/calc/arr.py,sha256=P0DdYMXXnN69tNGL9NpB0hftNN03EEB_KFmfmZdIy-A,14922
6
- ararpy/calc/basic.py,sha256=wPzUXmrHAXdFkvd53JsH9Vae-o7O3LxYWztGQ5OpDhw,2871
7
- ararpy/calc/corr.py,sha256=mQd5_CfDP2aBQrkQHKTV5R-zKbNOjXh8a21zHNrRNmU,19102
7
+ ararpy/calc/arr.py,sha256=w31bn6MXF8I8qPXYo5kI-TfMKCYspx1rZ5g_UpwwSd8,14939
8
+ ararpy/calc/basic.py,sha256=0K0rbm9GpDpEZjQ1r7N-6w-dU-S3UzByOTrefLmjT0c,3231
9
+ ararpy/calc/corr.py,sha256=mFo_j2YGUS4U3dwIkcYO6QrffcODvnzS_IgB6m2qeK4,17979
8
10
  ararpy/calc/err.py,sha256=63LtprqjemlIb1QGDst4Ggcv5KMSDHdlAIL-nyQs1eA,2691
9
11
  ararpy/calc/histogram.py,sha256=0GVbDdsjd91KQ1sa2B7NtZ4KGo0XpRIJapgIrzAwQUo,5777
10
12
  ararpy/calc/isochron.py,sha256=ej9G2e68k6yszonWHsLcEubh3TA7eh1upTJP_X0ttAA,5726
11
13
  ararpy/calc/jvalue.py,sha256=zHUhJ1iYe5mPrY95mGYxoUPAp7hwu4coUgiHKiruKfM,1138
12
- ararpy/calc/plot.py,sha256=v-vJwciJIhKrdXKWAUZbYslez0zBrIa6awI-DopmRZg,1956
13
- ararpy/calc/raw_funcs.py,sha256=fhAmqpvTvWUegbLi2PNbFRIbKgbDmycDIWNic3z25hU,2536
14
- ararpy/calc/regression.py,sha256=UQ7e6_u_FUpIllKTUgPa6-HqFvRBI7qDqyKli7fFInE,40172
15
- ararpy/calc/spectra.py,sha256=iBhuQ03PyIKHbAQSexx3fZ6ZYaxM6P_uMyWdUeeMck4,1936
14
+ ararpy/calc/plot.py,sha256=iWxPYIaT0OmJBiho7X9wFY7m-QrvYexu6nWHp24T_VY,1962
15
+ ararpy/calc/raw_funcs.py,sha256=UC01lvA6GyZ5FJv43jgoUULAFoLnZJMxeSa0BeVFCAM,2637
16
+ ararpy/calc/regression.py,sha256=Xes0rvIX5a9e_gje3n6iTXYbNtRuZZMKRcADp2b-5Dw,40091
17
+ ararpy/calc/spectra.py,sha256=_Q23eP9necHlaCoHf3_UfW1N3JmVZj5rcWFro8GS-CA,1995
16
18
  ararpy/examples/022_VU124-M11a.ahd,sha256=3m0Gd-ZObou3KsnRNFMf77QwzT1Uz3nu3vA33Sqeyng,5414
17
19
  ararpy/examples/20WHA0103.age,sha256=cT-a4d7Wt77aotx6v0G47vulY_TZIcZUcaVHB3pqTPM,380416
18
20
  ararpy/examples/22WHA0078.xls,sha256=1XAAHmIhuswwZ3toCT-qTLrYzqXNDYWGjDyCTI3xaMY,2611729
@@ -35,27 +37,28 @@ ararpy/examples/sample-default.smp,sha256=YNkoQGgPrsL_fXS7ZHxfRtLQWekCDqT9czS6vB
35
37
  ararpy/files/__init__.py,sha256=l5B5ZQ01WdtvjjN0aMkyAFNgpwANdM_1I0tQbqnRuEY,69
36
38
  ararpy/files/arr_file.py,sha256=KqksGlEA6nmMQofTgi7v45flscQZVtefxaNCKrV3Am4,837
37
39
  ararpy/files/basic.py,sha256=nc7Hgo_qLSkdmtKzZmd5SQ8Jy0dhW46ly4gh-oisUDs,2095
38
- ararpy/files/calc_file.py,sha256=b4bzPsoVD9y5wDqFw-2HmhK6Rd7qwufnEjaYz_FLxos,27865
40
+ ararpy/files/calc_file.py,sha256=fYPwJxazhxxHS1BCI9q7CJW-VIyJZ8UAh6Z8bO9DmLY,27864
39
41
  ararpy/files/new_file.py,sha256=efblARIBROVLWS2w3-98BxLX5VZ8grRpiTkJFtf_rAk,214
40
- ararpy/files/raw_file.py,sha256=B2k4RjAp4EViwHKv6CbI5400Liaa7OW_eBjGSPlN9Ek,22768
42
+ ararpy/files/raw_file.py,sha256=aVHlebiGpxHGj_z9mrTR-Y2JEivxa4k1MJZ1TFXyMnA,22319
41
43
  ararpy/files/xls.py,sha256=8ibT4ZRY2grK34ikKm1pDmlWFlVTgDL7vSMO6mphzrY,702
44
+ ararpy/smp/EXPORT_TO_PDF_DATA_PROPERTIES.py,sha256=baDM437tu6hsPv0uYfod0TREXlPd6kvMBFT1S9ZZlkk,3024
42
45
  ararpy/smp/__init__.py,sha256=k6_fa27UJsQK7K7oC5GYlwMo6l0Xd8af3QtOrZz2XJk,478
43
- ararpy/smp/basic.py,sha256=DrwU4ApXOkxYNMwax7B-ErBndJnUwG5n64fLU6zR63Y,21506
44
- ararpy/smp/calculation.py,sha256=1dUKYbq83j0YpZ9Nbb5rM0wbaEXezDKqcbUCc9TRKng,2919
46
+ ararpy/smp/basic.py,sha256=Jufv_4zXO1-XbmwM4UUrvZsp4tRGD05ec-035u8CiEs,21533
47
+ ararpy/smp/calculation.py,sha256=LCFJWjLVLEKEQ5b7RFUIxsMahEzgLdodW4kCYXV5Z34,2919
45
48
  ararpy/smp/consts.py,sha256=XIdjdz8cYxspG2jMnoItdlUsxr3hKbNFJjMZJh1bpzw,393
46
- ararpy/smp/corr.py,sha256=MXF04dLYGcZN7JHFq8OJqawkZ-yUjN45qG0NJX_kBB0,24528
47
- ararpy/smp/diffusion_funcs.py,sha256=5yDlyVVcaKQDMPLd7ZvyCetyiQNBR57XtrJkLT_Hsww,168544
48
- ararpy/smp/export.py,sha256=SEUySwBnDm6ao0Ujc93y98FamUx_UmEsqnd3cmFgKPA,80817
49
+ ararpy/smp/corr.py,sha256=ga3OsRSwPeLd4VV7DbOjZ3T4qlOYweUZhFfAM9MkM5s,25484
50
+ ararpy/smp/diffusion_funcs.py,sha256=_8SchTD27CAS8SmQVDoXJscTRB7M-BqtpASEgg_izBM,175748
51
+ ararpy/smp/export.py,sha256=4RtoDvItQ2ysWXY78gS_tDocTgSY9ftP9Vb-YKrOGQI,107646
49
52
  ararpy/smp/info.py,sha256=iKUELm-BuUduDlJKC1d8tKKNHbwwbNmhUg2pi6bcBvA,489
50
53
  ararpy/smp/initial.py,sha256=nZNrV4fv_PlNXYfqqIOOOkcQjnSOTLymVpJyJ9d_QtM,15359
51
- ararpy/smp/json.py,sha256=Y7xoTZczSTrvVHlhfLmpu-zoxgLw9MFn2lgRYkjgHTY,2079
52
- ararpy/smp/plots.py,sha256=bM4ofS12NedBUXXleEy7-xcK9C8svVuSrTXYmeiMY3k,31495
53
- ararpy/smp/raw.py,sha256=KtAmzTAwCDK4x1dRgvwj2TbOzHRv7LFwaU2hHCknF3c,6173
54
- ararpy/smp/sample.py,sha256=KPysezU7avqUBu6ykIEtP3_2wa5a16n0gC0iF_kqSoU,54988
54
+ ararpy/smp/json.py,sha256=BTZCjVN0aj9epc700nwkYEYMKN2lHBYo-pLmtnz5oHY,2300
55
+ ararpy/smp/plots.py,sha256=AuL-cUU9hdzTOGsf764c-nCyhnq0k8Mv4MTGs2Eb0IU,31657
56
+ ararpy/smp/raw.py,sha256=51n-rrbW2FqeZHQyevuG7iObPLGvIBzTe414QDVM1FE,6523
57
+ ararpy/smp/sample.py,sha256=w_ev8lXgpU7A7dIH-uVhteuL6UG4GXJZNp6LdB8yR-Y,55336
55
58
  ararpy/smp/style.py,sha256=NZwTeodhtHBBdCyjvupF64nh2B5EDdMHzlT8oE360zg,6746
56
59
  ararpy/smp/table.py,sha256=yNr4PLxbH4ezeUXpKBxLjRfq4RuYiW-G3sMWFDtjlVM,6802
57
- ararpy-0.1.12.dist-info/LICENSE,sha256=cvG5t_C1qY_zUyJI7sNOa7gCArdngNPaOrfujl2LYuc,1085
58
- ararpy-0.1.12.dist-info/METADATA,sha256=BiPSBAkyiLpDd-5VsJm14TqeH58VkFf1G1mpQh3Xx4E,24331
59
- ararpy-0.1.12.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
60
- ararpy-0.1.12.dist-info/top_level.txt,sha256=9iTpsPCYuRYq09yQTk9d2lqB8JtTEOmbN-IcGB-K3vY,7
61
- ararpy-0.1.12.dist-info/RECORD,,
60
+ ararpy-0.1.14.dist-info/LICENSE,sha256=cvG5t_C1qY_zUyJI7sNOa7gCArdngNPaOrfujl2LYuc,1085
61
+ ararpy-0.1.14.dist-info/METADATA,sha256=ei5CYPYIF-nGHQrn3BvfqpzDcGy79ekVX2N1Ra9dcjM,24513
62
+ ararpy-0.1.14.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
63
+ ararpy-0.1.14.dist-info/top_level.txt,sha256=9iTpsPCYuRYq09yQTk9d2lqB8JtTEOmbN-IcGB-K3vY,7
64
+ ararpy-0.1.14.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5