mpcontribs-client 5.9.0__tar.gz → 5.10.1__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.
Files changed (19) hide show
  1. {mpcontribs_client-5.9.0/mpcontribs_client.egg-info → mpcontribs_client-5.10.1}/PKG-INFO +14 -4
  2. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/mpcontribs/client/__init__.py +19 -15
  3. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1/mpcontribs_client.egg-info}/PKG-INFO +14 -4
  4. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/mpcontribs_client.egg-info/requires.txt +2 -2
  5. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/requirements/deployment.txt +59 -49
  6. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/requirements/ubuntu-latest_py3.10.txt +58 -46
  7. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/requirements/ubuntu-latest_py3.10_extras.txt +66 -54
  8. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/requirements/ubuntu-latest_py3.11.txt +58 -46
  9. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/requirements/ubuntu-latest_py3.11_extras.txt +65 -53
  10. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/setup.py +2 -2
  11. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/LICENSE +0 -0
  12. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/README.md +0 -0
  13. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/mpcontribs_client.egg-info/SOURCES.txt +0 -0
  14. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/mpcontribs_client.egg-info/dependency_links.txt +0 -0
  15. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/mpcontribs_client.egg-info/not-zip-safe +0 -0
  16. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/mpcontribs_client.egg-info/top_level.txt +0 -0
  17. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/setup.cfg +0 -0
  18. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/tests/conftest.py +0 -0
  19. {mpcontribs_client-5.9.0 → mpcontribs_client-5.10.1}/tests/test_client.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: mpcontribs-client
3
- Version: 5.9.0
3
+ Version: 5.10.1
4
4
  Summary: client library for MPContribs API
5
5
  Home-page: https://github.com/materialsproject/MPContribs/tree/master/mpcontribs-client
6
6
  Author: Patrick Huck
@@ -9,7 +9,7 @@ License: MIT
9
9
  Requires-Python: >=3.8
10
10
  Description-Content-Type: text/markdown
11
11
  License-File: LICENSE
12
- Requires-Dist: numpy<2
12
+ Requires-Dist: numpy
13
13
  Requires-Dist: boltons
14
14
  Requires-Dist: bravado
15
15
  Requires-Dist: filetype
@@ -17,7 +17,7 @@ Requires-Dist: flatten-dict
17
17
  Requires-Dist: ipython
18
18
  Requires-Dist: json2html
19
19
  Requires-Dist: pandas
20
- Requires-Dist: pint<0.20
20
+ Requires-Dist: pint
21
21
  Requires-Dist: plotly
22
22
  Requires-Dist: pyIsEmail
23
23
  Requires-Dist: pymatgen
@@ -35,6 +35,16 @@ Requires-Dist: pytest-flake8; extra == "dev"
35
35
  Requires-Dist: pytest-pycodestyle; extra == "dev"
36
36
  Requires-Dist: pytest-cov; extra == "dev"
37
37
  Requires-Dist: py; extra == "dev"
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: description
41
+ Dynamic: description-content-type
42
+ Dynamic: home-page
43
+ Dynamic: license
44
+ Dynamic: provides-extra
45
+ Dynamic: requires-dist
46
+ Dynamic: requires-python
47
+ Dynamic: summary
38
48
 
39
49
  ![PyPI](https://img.shields.io/pypi/v/mpcontribs-client?style=flat-square)
40
50
  ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/mpcontribs-client?style=flat-square)
@@ -54,8 +54,6 @@ from urllib3.util.retry import Retry
54
54
  from filetype.types.archive import Gz
55
55
  from filetype.types.image import Jpeg, Png, Gif, Tiff
56
56
  from pint import UnitRegistry
57
- from pint.unit import UnitDefinition
58
- from pint.converters import ScaleConverter
59
57
  from pint.errors import DimensionalityError
60
58
  from tempfile import gettempdir
61
59
  from plotly.express._chart_types import line as line_chart
@@ -104,13 +102,20 @@ ureg = UnitRegistry(
104
102
  lambda s: s.replace("%", " percent "),
105
103
  ],
106
104
  )
107
- ureg.define(UnitDefinition("percent", "%", (), ScaleConverter(0.01)))
108
- ureg.define(UnitDefinition("permille", "%%", (), ScaleConverter(0.001)))
109
- ureg.define(UnitDefinition("ppm", "ppm", (), ScaleConverter(1e-6)))
110
- ureg.define(UnitDefinition("ppb", "ppb", (), ScaleConverter(1e-9)))
105
+ if "percent" not in ureg:
106
+ # percent is native in pint >= 0.21
107
+ ureg.define("percent = 0.01 = %")
108
+ if "permille" not in ureg:
109
+ # permille is native in pint >= 0.24.2
110
+ ureg.define("permille = 0.001 = ‰ = %%")
111
+ if "ppm" not in ureg:
112
+ # ppm is native in pint >= 0.21
113
+ ureg.define("ppm = 1e-6")
114
+ ureg.define("ppb = 1e-9")
111
115
  ureg.define("atom = 1")
112
116
  ureg.define("bohr_magneton = e * hbar / (2 * m_e) = µᵇ = µ_B = mu_B")
113
117
  ureg.define("electron_mass = 9.1093837015e-31 kg = mₑ = m_e")
118
+ ureg.define("sccm = cm³/min")
114
119
 
115
120
  LOG_LEVEL = os.environ.get("MPCONTRIBS_CLIENT_LOG_LEVEL", "INFO")
116
121
  log_level = getattr(logging, LOG_LEVEL.upper())
@@ -1398,7 +1403,7 @@ class Client(SwaggerClient):
1398
1403
  self.attachments.getAttachmentById(pk=aid, _fields=["_all"]).result()
1399
1404
  )
1400
1405
 
1401
- def init_columns(self, columns: dict = None) -> dict:
1406
+ def init_columns(self, columns: dict = None, name: str = None) -> dict:
1402
1407
  """initialize columns for a project to set their order and desired units
1403
1408
 
1404
1409
  The `columns` field of a project tracks the minima and maxima of each `data` field
@@ -1431,8 +1436,11 @@ class Client(SwaggerClient):
1431
1436
  Args:
1432
1437
  columns (dict): dictionary mapping data column to its unit
1433
1438
  """
1434
- if not self.project:
1435
- raise MPContribsClientError("initialize client with project argument!")
1439
+ name = self.project or name
1440
+ if not name:
1441
+ raise MPContribsClientError(
1442
+ "initialize client with project or set `name` argument!"
1443
+ )
1436
1444
 
1437
1445
  columns = flatten(columns or {}, reducer="dot")
1438
1446
 
@@ -1493,9 +1501,7 @@ class Client(SwaggerClient):
1493
1501
 
1494
1502
  # TODO catch unsupported column renaming or implement solution
1495
1503
  # reconcile with existing columns
1496
- resp = self.projects.getProjectByName(
1497
- pk=self.project, _fields=["columns"]
1498
- ).result()
1504
+ resp = self.projects.getProjectByName(pk=name, _fields=["columns"]).result()
1499
1505
  existing_columns = {}
1500
1506
 
1501
1507
  for col in resp["columns"]:
@@ -1552,9 +1558,7 @@ class Client(SwaggerClient):
1552
1558
  if not valid:
1553
1559
  raise MPContribsClientError(error)
1554
1560
 
1555
- return self.projects.updateProjectByName(
1556
- pk=self.project, project=payload
1557
- ).result()
1561
+ return self.projects.updateProjectByName(pk=name, project=payload).result()
1558
1562
 
1559
1563
  def delete_contributions(self, query: dict = None, timeout: int = -1):
1560
1564
  """Remove all contributions for a query
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: mpcontribs-client
3
- Version: 5.9.0
3
+ Version: 5.10.1
4
4
  Summary: client library for MPContribs API
5
5
  Home-page: https://github.com/materialsproject/MPContribs/tree/master/mpcontribs-client
6
6
  Author: Patrick Huck
@@ -9,7 +9,7 @@ License: MIT
9
9
  Requires-Python: >=3.8
10
10
  Description-Content-Type: text/markdown
11
11
  License-File: LICENSE
12
- Requires-Dist: numpy<2
12
+ Requires-Dist: numpy
13
13
  Requires-Dist: boltons
14
14
  Requires-Dist: bravado
15
15
  Requires-Dist: filetype
@@ -17,7 +17,7 @@ Requires-Dist: flatten-dict
17
17
  Requires-Dist: ipython
18
18
  Requires-Dist: json2html
19
19
  Requires-Dist: pandas
20
- Requires-Dist: pint<0.20
20
+ Requires-Dist: pint
21
21
  Requires-Dist: plotly
22
22
  Requires-Dist: pyIsEmail
23
23
  Requires-Dist: pymatgen
@@ -35,6 +35,16 @@ Requires-Dist: pytest-flake8; extra == "dev"
35
35
  Requires-Dist: pytest-pycodestyle; extra == "dev"
36
36
  Requires-Dist: pytest-cov; extra == "dev"
37
37
  Requires-Dist: py; extra == "dev"
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: description
41
+ Dynamic: description-content-type
42
+ Dynamic: home-page
43
+ Dynamic: license
44
+ Dynamic: provides-extra
45
+ Dynamic: requires-dist
46
+ Dynamic: requires-python
47
+ Dynamic: summary
38
48
 
39
49
  ![PyPI](https://img.shields.io/pypi/v/mpcontribs-client?style=flat-square)
40
50
  ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/mpcontribs-client?style=flat-square)
@@ -1,4 +1,4 @@
1
- numpy<2
1
+ numpy
2
2
  boltons
3
3
  bravado
4
4
  filetype
@@ -6,7 +6,7 @@ flatten-dict
6
6
  ipython
7
7
  json2html
8
8
  pandas
9
- pint<0.20
9
+ pint
10
10
  plotly
11
11
  pyIsEmail
12
12
  pymatgen
@@ -1,48 +1,50 @@
1
1
  #
2
- # This file is autogenerated by pip-compile with Python 3.10
2
+ # This file is autogenerated by pip-compile with Python 3.11
3
3
  # by the following command:
4
4
  #
5
5
  # pip-compile --output-file=MPContribs/mpcontribs-client/requirements/deployment.txt MPContribs/mpcontribs-client/setup.py python/requirements.txt
6
6
  #
7
7
  arrow==1.3.0
8
8
  # via isoduration
9
- asttokens==2.4.1
9
+ asttokens==3.0.0
10
10
  # via stack-data
11
- attrs==24.2.0
11
+ attrs==25.1.0
12
12
  # via
13
13
  # jsonschema
14
14
  # referencing
15
- boltons==24.0.0
15
+ boltons==25.0.0
16
16
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
17
- bravado==11.0.3
17
+ bravado==11.1.0
18
18
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
19
19
  bravado-core==6.1.1
20
20
  # via bravado
21
- cachetools==5.5.0
21
+ cachetools==5.5.2
22
22
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
23
- certifi==2024.8.30
23
+ certifi==2025.1.31
24
24
  # via requests
25
- charset-normalizer==3.3.2
25
+ charset-normalizer==3.4.1
26
26
  # via requests
27
- contourpy==1.3.0
27
+ contourpy==1.3.1
28
28
  # via matplotlib
29
29
  cycler==0.12.1
30
30
  # via matplotlib
31
- decorator==5.1.1
31
+ decorator==5.2.1
32
32
  # via ipython
33
33
  dnspython==2.7.0
34
34
  # via
35
35
  # pyisemail
36
36
  # pymongo
37
- exceptiongroup==1.2.2
38
- # via ipython
39
- executing==2.1.0
37
+ executing==2.2.0
40
38
  # via stack-data
41
39
  filetype==1.2.0
42
40
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
43
41
  flatten-dict==0.4.2
44
42
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
45
- fonttools==4.54.1
43
+ flexcache==0.3
44
+ # via pint
45
+ flexparser==0.4
46
+ # via pint
47
+ fonttools==4.56.0
46
48
  # via matplotlib
47
49
  fqdn==1.5.1
48
50
  # via jsonschema
@@ -50,13 +52,13 @@ idna==3.10
50
52
  # via
51
53
  # jsonschema
52
54
  # requests
53
- importlib-resources==6.4.5
55
+ importlib-resources==6.5.2
54
56
  # via swagger-spec-validator
55
- ipython==8.28.0
57
+ ipython==8.32.0
56
58
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
57
59
  isoduration==20.11.0
58
60
  # via jsonschema
59
- jedi==0.19.1
61
+ jedi==0.19.2
60
62
  # via ipython
61
63
  joblib==1.4.2
62
64
  # via pymatgen
@@ -70,13 +72,13 @@ jsonschema[format-nongpl]==4.23.0
70
72
  # via
71
73
  # bravado-core
72
74
  # swagger-spec-validator
73
- jsonschema-specifications==2023.12.1
75
+ jsonschema-specifications==2024.10.1
74
76
  # via jsonschema
75
- kiwisolver==1.4.7
77
+ kiwisolver==1.4.8
76
78
  # via matplotlib
77
79
  latexcodec==3.0.0
78
80
  # via pybtex
79
- matplotlib==3.9.2
81
+ matplotlib==3.10.0
80
82
  # via
81
83
  # -r python/requirements.txt
82
84
  # pymatgen
@@ -84,7 +86,7 @@ matplotlib-inline==0.1.7
84
86
  # via ipython
85
87
  monotonic==1.6
86
88
  # via bravado
87
- monty==2024.7.30
89
+ monty==2025.1.9
88
90
  # via pymatgen
89
91
  mpmath==1.3.0
90
92
  # via sympy
@@ -92,19 +94,22 @@ msgpack==1.1.0
92
94
  # via
93
95
  # bravado
94
96
  # bravado-core
95
- networkx==3.3
97
+ narwhals==1.28.0
98
+ # via plotly
99
+ networkx==3.4.2
96
100
  # via pymatgen
97
101
  numpy==1.26.4
98
102
  # via
99
103
  # -r python/requirements.txt
100
104
  # contourpy
101
105
  # matplotlib
106
+ # monty
102
107
  # mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
103
108
  # pandas
104
109
  # pymatgen
105
110
  # scipy
106
111
  # spglib
107
- packaging==24.1
112
+ packaging==24.2
108
113
  # via
109
114
  # matplotlib
110
115
  # plotly
@@ -119,15 +124,17 @@ parso==0.8.4
119
124
  # via jedi
120
125
  pexpect==4.9.0
121
126
  # via ipython
122
- pillow==10.4.0
127
+ pillow==11.1.0
123
128
  # via matplotlib
124
- pint==0.19.2
129
+ pint==0.24.4
125
130
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
126
- plotly==5.24.1
131
+ platformdirs==4.3.6
132
+ # via pint
133
+ plotly==6.0.0
127
134
  # via
128
135
  # mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
129
136
  # pymatgen
130
- prompt-toolkit==3.0.48
137
+ prompt-toolkit==3.0.50
131
138
  # via ipython
132
139
  ptyprocess==0.7.0
133
140
  # via pexpect
@@ -135,15 +142,15 @@ pure-eval==0.2.3
135
142
  # via stack-data
136
143
  pybtex==0.24.0
137
144
  # via pymatgen
138
- pygments==2.18.0
145
+ pygments==2.19.1
139
146
  # via ipython
140
147
  pyisemail==2.0.1
141
148
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
142
- pymatgen==2024.10.3
149
+ pymatgen==2025.2.18
143
150
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
144
- pymongo==4.10.1
151
+ pymongo==4.11.1
145
152
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
146
- pyparsing==3.1.4
153
+ pyparsing==3.2.1
147
154
  # via matplotlib
148
155
  python-dateutil==2.9.0.post0
149
156
  # via
@@ -152,7 +159,7 @@ python-dateutil==2.9.0.post0
152
159
  # bravado-core
153
160
  # matplotlib
154
161
  # pandas
155
- pytz==2024.2
162
+ pytz==2025.1
156
163
  # via
157
164
  # bravado-core
158
165
  # pandas
@@ -162,7 +169,7 @@ pyyaml==6.0.2
162
169
  # bravado-core
163
170
  # pybtex
164
171
  # swagger-spec-validator
165
- referencing==0.35.1
172
+ referencing==0.36.2
166
173
  # via
167
174
  # jsonschema
168
175
  # jsonschema-specifications
@@ -172,33 +179,34 @@ requests==2.32.3
172
179
  # bravado-core
173
180
  # pymatgen
174
181
  # requests-futures
175
- requests-futures==1.0.1
182
+ requests-futures==1.0.2
176
183
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
177
184
  rfc3339-validator==0.1.4
178
185
  # via jsonschema
179
186
  rfc3986-validator==0.1.1
180
187
  # via jsonschema
181
- rpds-py==0.20.0
188
+ rpds-py==0.23.1
182
189
  # via
183
190
  # jsonschema
184
191
  # referencing
185
- ruamel-yaml==0.18.6
186
- # via pymatgen
187
- ruamel-yaml-clib==0.2.8
192
+ ruamel-yaml==0.18.10
193
+ # via
194
+ # monty
195
+ # pymatgen
196
+ ruamel-yaml-clib==0.2.12
188
197
  # via ruamel-yaml
189
- scipy==1.14.1
198
+ scipy==1.15.2
190
199
  # via
191
200
  # -r python/requirements.txt
192
201
  # pymatgen
193
202
  semantic-version==2.10.0
194
203
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
195
- simplejson==3.19.3
204
+ simplejson==3.20.1
196
205
  # via
197
206
  # bravado
198
207
  # bravado-core
199
- six==1.16.0
208
+ six==1.17.0
200
209
  # via
201
- # asttokens
202
210
  # bravado
203
211
  # bravado-core
204
212
  # flatten-dict
@@ -217,9 +225,7 @@ sympy==1.13.3
217
225
  # via pymatgen
218
226
  tabulate==0.9.0
219
227
  # via pymatgen
220
- tenacity==9.0.0
221
- # via plotly
222
- tqdm==4.66.5
228
+ tqdm==4.67.1
223
229
  # via
224
230
  # mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
225
231
  # pymatgen
@@ -227,14 +233,18 @@ traitlets==5.14.3
227
233
  # via
228
234
  # ipython
229
235
  # matplotlib-inline
230
- types-python-dateutil==2.9.0.20241003
236
+ types-python-dateutil==2.9.0.20241206
231
237
  # via arrow
232
238
  typing-extensions==4.12.2
233
239
  # via
234
240
  # bravado
241
+ # flexcache
242
+ # flexparser
235
243
  # ipython
244
+ # pint
245
+ # referencing
236
246
  # swagger-spec-validator
237
- tzdata==2024.2
247
+ tzdata==2025.1
238
248
  # via pandas
239
249
  ujson==5.10.0
240
250
  # via mpcontribs-client (MPContribs/mpcontribs-client/setup.py)
@@ -242,9 +252,9 @@ uncertainties==3.2.2
242
252
  # via pymatgen
243
253
  uri-template==1.3.0
244
254
  # via jsonschema
245
- urllib3==2.2.3
255
+ urllib3==2.3.0
246
256
  # via requests
247
257
  wcwidth==0.2.13
248
258
  # via prompt-toolkit
249
- webcolors==24.8.0
259
+ webcolors==24.11.1
250
260
  # via jsonschema