gemd 2.1.9__tar.gz → 2.2.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.
- {gemd-2.1.9 → gemd-2.2.0}/PKG-INFO +3 -8
- gemd-2.2.0/gemd/__version__.py +1 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/base_entity.py +7 -3
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/link_by_uid.py +6 -2
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/empirical_formula.py +15 -9
- {gemd-2.1.9 → gemd-2.2.0}/gemd/units/impl.py +1 -2
- {gemd-2.1.9 → gemd-2.2.0}/gemd.egg-info/PKG-INFO +3 -8
- {gemd-2.1.9 → gemd-2.2.0}/gemd.egg-info/requires.txt +6 -3
- {gemd-2.1.9 → gemd-2.2.0}/setup.py +5 -5
- gemd-2.1.9/gemd/__version__.py +0 -1
- {gemd-2.1.9 → gemd-2.2.0}/LICENSE +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/README.md +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/builders/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/builders/impl.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/cake.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/material_run_example.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/measurement_example.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/strehlow_and_cook.pif +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/strehlow_and_cook.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/strehlow_and_cook_small.pif +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/table_example.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/demo/toothpick.jpg +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/attribute/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/attribute/base_attribute.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/attribute/condition.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/attribute/parameter.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/attribute/property.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/attribute/property_and_conditions.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/base_bounds.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/categorical_bounds.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/composition_bounds.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/integer_bounds.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/molecular_structure_bounds.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds/real_bounds.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/bounds_validation.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/case_insensitive_dict.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/dict_serializable.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/file_link.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/has_dependencies.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/base_object.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_conditions.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_material.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_parameters.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_process.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_properties.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_quantities.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_source.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_spec.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/has_template_check_generator.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/ingredient_run.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/ingredient_spec.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/material_run.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/material_spec.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/measurement_run.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/measurement_spec.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/process_run.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/object/process_spec.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/setters.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/source/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/source/performed_source.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/attribute_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/base_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/condition_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/has_condition_templates.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/has_parameter_templates.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/has_property_templates.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/material_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/measurement_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/parameter_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/process_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/template/property_template.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/util.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/valid_list.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/base_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/categorical_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/composition_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/continuous_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/discrete_categorical.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/inchi_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/integer_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/molecular_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/nominal_categorical.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/nominal_composition.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/nominal_integer.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/nominal_real.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/normal_real.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/smiles_value.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/uniform_integer.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/entity/value/uniform_real.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/enumeration/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/enumeration/base_enumeration.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/enumeration/origin.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/enumeration/sample_type.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/json/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/json/gemd_encoder.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/json/gemd_json.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/units/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/units/citrine_en.txt +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/units/constants_en.txt +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/util/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd/util/impl.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd.egg-info/SOURCES.txt +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd.egg-info/dependency_links.txt +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/gemd.egg-info/top_level.txt +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/setup.cfg +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/tests/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/tests/test_examples.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/tests/units/__init__.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/tests/units/test_parser.py +0 -0
- {gemd-2.1.9 → gemd-2.2.0}/tests/units/test_units.txt +0 -0
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gemd
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: Python binding for Citrine's GEMD data model
|
|
5
5
|
Home-page: http://github.com/CitrineInformatics/gemd-python
|
|
6
6
|
Author: Citrine Informatics
|
|
7
|
-
License: UNKNOWN
|
|
8
|
-
Platform: UNKNOWN
|
|
9
7
|
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
11
8
|
Classifier: Programming Language :: Python :: 3.9
|
|
12
9
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
11
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
-
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Requires-Python: >=3.9
|
|
16
14
|
Provides-Extra: scripts
|
|
17
15
|
Provides-Extra: tests
|
|
18
16
|
Provides-Extra: tests.demo
|
|
19
17
|
Provides-Extra: tests.entity.bounds
|
|
20
18
|
License-File: LICENSE
|
|
21
|
-
|
|
22
|
-
UNKNOWN
|
|
23
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.2.0"
|
|
@@ -207,11 +207,15 @@ class BaseEntity(DictSerializable):
|
|
|
207
207
|
# Note that this could violate transitivity -- Link(scope1) == obj == Link(scope2)
|
|
208
208
|
def __eq__(self, other):
|
|
209
209
|
from gemd.entity.link_by_uid import LinkByUID
|
|
210
|
-
|
|
210
|
+
from gemd.util import cached_isinstance
|
|
211
|
+
|
|
212
|
+
if id(self) == id(other):
|
|
213
|
+
return True
|
|
214
|
+
elif cached_isinstance(other, LinkByUID):
|
|
211
215
|
return self.uids.get(other.scope) == other.id
|
|
212
|
-
elif
|
|
216
|
+
elif cached_isinstance(other, tuple):
|
|
213
217
|
return len(other) == 2 and other[0] in self.uids and self.uids[other[0]] == other[1]
|
|
214
|
-
elif
|
|
218
|
+
elif cached_isinstance(other, BaseEntity):
|
|
215
219
|
# We have to be a little clever for efficiency and to avoid infinite recursion
|
|
216
220
|
return BaseEntity._cached_equals(self, other)
|
|
217
221
|
else:
|
|
@@ -67,12 +67,16 @@ class LinkByUID(DictSerializable, typ="link_by_uid"):
|
|
|
67
67
|
# Note that this could violate transitivity
|
|
68
68
|
def __eq__(self, other):
|
|
69
69
|
from gemd.entity.base_entity import BaseEntity
|
|
70
|
-
|
|
70
|
+
from gemd.util import cached_isinstance
|
|
71
|
+
|
|
72
|
+
if cached_isinstance(other, LinkByUID):
|
|
73
|
+
return self.scope == other.scope and self.id == other.id
|
|
74
|
+
elif cached_isinstance(other, BaseEntity):
|
|
71
75
|
if self.scope in other.uids:
|
|
72
76
|
return other.uids[self.scope] == self.id
|
|
73
77
|
else:
|
|
74
78
|
return False
|
|
75
|
-
elif
|
|
79
|
+
elif cached_isinstance(other, tuple): # Make them interchangeable in a dict
|
|
76
80
|
return len(other) == 2 and (self.scope, self.id) == other
|
|
77
81
|
else:
|
|
78
82
|
return super().__eq__(other)
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
"""An empirical chemical formula."""
|
|
2
|
+
import re
|
|
3
|
+
|
|
2
4
|
from gemd.entity.value.composition_value import CompositionValue
|
|
3
5
|
from gemd.entity.bounds import CompositionBounds
|
|
4
6
|
|
|
5
7
|
__all__ = ["EmpiricalFormula"]
|
|
6
8
|
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
_periodic_table = """
|
|
11
|
+
H D T He
|
|
12
|
+
Li Be B C N O F Ne
|
|
13
|
+
Na Mg Al Si P S Cl Ar
|
|
14
|
+
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
|
|
15
|
+
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
|
|
16
|
+
Cs Ba Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
|
|
17
|
+
Fr Ra Rf Db Sg Bh Hs Mt Ds Rg Cn Nh Fl Mc Lv Ts Og
|
|
18
|
+
|
|
19
|
+
La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu
|
|
20
|
+
Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr
|
|
21
|
+
"""
|
|
22
|
+
_all_elements = re.split(r"\s+", _periodic_table.strip())
|
|
17
23
|
|
|
18
24
|
|
|
19
25
|
class EmpiricalFormula(CompositionValue, typ="empirical_formula"):
|
|
@@ -307,7 +307,7 @@ def _format_clean(unit, registry, **options):
|
|
|
307
307
|
"""
|
|
308
308
|
try: # Informal route changed in 0.22
|
|
309
309
|
from pint.formatting import _FORMATTERS
|
|
310
|
-
formatter = _FORMATTERS["D"]
|
|
310
|
+
formatter = _FORMATTERS["D"] # pragma: no cover
|
|
311
311
|
except ImportError: # pragma: no cover
|
|
312
312
|
from pint import Unit
|
|
313
313
|
formatter_obj = registry.formatter._formatters["D"]
|
|
@@ -317,7 +317,6 @@ def _format_clean(unit, registry, **options):
|
|
|
317
317
|
parsed = Unit(unit)
|
|
318
318
|
return formatter_obj.format_unit(parsed)
|
|
319
319
|
except ValueError:
|
|
320
|
-
parsed = Unit(unit)
|
|
321
320
|
return formatter_obj.format_quantity(unit)
|
|
322
321
|
|
|
323
322
|
formatter = _surrogate_formatter
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gemd
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: Python binding for Citrine's GEMD data model
|
|
5
5
|
Home-page: http://github.com/CitrineInformatics/gemd-python
|
|
6
6
|
Author: Citrine Informatics
|
|
7
|
-
License: UNKNOWN
|
|
8
|
-
Platform: UNKNOWN
|
|
9
7
|
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
11
8
|
Classifier: Programming Language :: Python :: 3.9
|
|
12
9
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
11
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
-
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Requires-Python: >=3.9
|
|
16
14
|
Provides-Extra: scripts
|
|
17
15
|
Provides-Extra: tests
|
|
18
16
|
Provides-Extra: tests.demo
|
|
19
17
|
Provides-Extra: tests.entity.bounds
|
|
20
18
|
License-File: LICENSE
|
|
21
|
-
|
|
22
|
-
UNKNOWN
|
|
23
|
-
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
deprecation<3,>=2.1.0
|
|
2
2
|
importlib-resources<7,>=5.3
|
|
3
|
-
pint
|
|
3
|
+
pint<0.25,>=0.24.4
|
|
4
4
|
typing_extensions<5,>=4.8
|
|
5
5
|
|
|
6
6
|
[scripts]
|
|
7
|
-
|
|
7
|
+
packaging
|
|
8
8
|
sphinx-rtd-theme==1.0.0
|
|
9
|
+
sphinx==5.0.0
|
|
9
10
|
sphinxcontrib-apidoc==0.3.0
|
|
10
11
|
|
|
11
12
|
[tests]
|
|
@@ -15,5 +16,7 @@ pytest<9,>=8.0.0
|
|
|
15
16
|
pandas<3,>=2.0.3
|
|
16
17
|
|
|
17
18
|
[tests.entity.bounds]
|
|
18
|
-
numpy<3,>=1.24.4
|
|
19
19
|
pandas<3,>=2.0.3
|
|
20
|
+
|
|
21
|
+
[tests.entity.bounds:python_version <= "3.10"]
|
|
22
|
+
numpy<2,>=1.24.4
|
|
@@ -15,7 +15,7 @@ else:
|
|
|
15
15
|
setup(name='gemd',
|
|
16
16
|
# Update this in gemd/__version__.py
|
|
17
17
|
version=version,
|
|
18
|
-
python_requires='>=3.
|
|
18
|
+
python_requires='>=3.9',
|
|
19
19
|
url='http://github.com/CitrineInformatics/gemd-python',
|
|
20
20
|
description="Python binding for Citrine's GEMD data model",
|
|
21
21
|
author='Citrine Informatics',
|
|
@@ -33,14 +33,14 @@ setup(name='gemd',
|
|
|
33
33
|
'tests.units': ['test_units.txt']
|
|
34
34
|
},
|
|
35
35
|
install_requires=[
|
|
36
|
-
"pint>=0.
|
|
36
|
+
"pint>=0.24.4,<0.25",
|
|
37
37
|
"deprecation>=2.1.0,<3",
|
|
38
38
|
"typing_extensions>=4.8,<5",
|
|
39
39
|
"importlib-resources>=5.3,<7"
|
|
40
40
|
],
|
|
41
41
|
extras_require={
|
|
42
42
|
"scripts": [
|
|
43
|
-
"packaging"
|
|
43
|
+
"packaging",
|
|
44
44
|
"sphinx==5.0.0",
|
|
45
45
|
"sphinx-rtd-theme==1.0.0",
|
|
46
46
|
"sphinxcontrib-apidoc==0.3.0",
|
|
@@ -52,16 +52,16 @@ setup(name='gemd',
|
|
|
52
52
|
"pandas>=2.0.3,<3"
|
|
53
53
|
],
|
|
54
54
|
"tests.entity.bounds": [
|
|
55
|
-
"numpy>=1.24.4,<3",
|
|
55
|
+
"numpy>=1.24.4,<2; python_version<='3.10'",
|
|
56
56
|
"pandas>=2.0.3,<3"
|
|
57
57
|
]
|
|
58
58
|
},
|
|
59
59
|
classifiers=[
|
|
60
60
|
'Programming Language :: Python :: 3',
|
|
61
|
-
'Programming Language :: Python :: 3.8',
|
|
62
61
|
'Programming Language :: Python :: 3.9',
|
|
63
62
|
'Programming Language :: Python :: 3.10',
|
|
64
63
|
'Programming Language :: Python :: 3.11',
|
|
65
64
|
'Programming Language :: Python :: 3.12',
|
|
65
|
+
'Programming Language :: Python :: 3.13',
|
|
66
66
|
],
|
|
67
67
|
)
|
gemd-2.1.9/gemd/__version__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.1.9"
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|