jupyter-analysis-tools 1.6.3__tar.gz → 1.7.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 (55) hide show
  1. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/.copier-answers.yml +1 -1
  2. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/CHANGELOG.md +16 -0
  3. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/PKG-INFO +19 -3
  4. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/README.md +2 -2
  5. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/conf.py +1 -1
  6. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/__init__.py +1 -1
  7. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/datastore.py +11 -7
  8. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools.egg-info/PKG-INFO +19 -3
  9. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/.editorconfig +0 -0
  10. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/.pre-commit-config.yaml +0 -0
  11. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/AUTHORS.rst +0 -0
  12. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/CONTRIBUTING.rst +0 -0
  13. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/LICENSE +0 -0
  14. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/MANIFEST.in +0 -0
  15. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/ci/requirements.txt +0 -0
  16. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/_templates/class.rst +0 -0
  17. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/_templates/module.rst +0 -0
  18. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/authors.rst +0 -0
  19. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/changelog.rst +0 -0
  20. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/contributing.rst +0 -0
  21. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/index.rst +0 -0
  22. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/installation.rst +0 -0
  23. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/readme.rst +0 -0
  24. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/reference/index.rst +0 -0
  25. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/requirements.txt +0 -0
  26. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/spelling_wordlist.txt +0 -0
  27. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/docs/usage.rst +0 -0
  28. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/pyproject.toml +0 -0
  29. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/setup.cfg +0 -0
  30. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/analysis.py +0 -0
  31. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/binning.py +0 -0
  32. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/datalocations.py +0 -0
  33. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/distrib.py +0 -0
  34. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/git.py +0 -0
  35. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/plotting.py +0 -0
  36. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/readdata.py +0 -0
  37. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/ssfz2json.py +0 -0
  38. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/ssfz_compare.py +0 -0
  39. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/utils.py +0 -0
  40. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools/widgets.py +0 -0
  41. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools.egg-info/SOURCES.txt +0 -0
  42. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools.egg-info/dependency_links.txt +0 -0
  43. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools.egg-info/entry_points.txt +0 -0
  44. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools.egg-info/requires.txt +0 -0
  45. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/src/jupyter_analysis_tools.egg-info/top_level.txt +0 -0
  46. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/templates/CHANGELOG.md.j2 +0 -0
  47. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/testdata/2015-03-20-Silica.ssf.json +0 -0
  48. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/testdata/2015-03-20-Silica.ssfz +0 -0
  49. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/testdata/S2842 water.json +0 -0
  50. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/testdata/S2842 water.pdh +0 -0
  51. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/testdata/S2843[9].pdh +0 -0
  52. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/tests/readdata.py +0 -0
  53. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/tests/requirements.txt +0 -0
  54. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/tests/utils.py +0 -0
  55. {jupyter_analysis_tools-1.6.3 → jupyter_analysis_tools-1.7.1}/tox.ini +0 -0
@@ -22,4 +22,4 @@ repo_main_branch: main
22
22
  repo_name: jupyter-analysis-tools
23
23
  repo_userorg: BAMresearch
24
24
  sphinx_theme: furo
25
- version: 1.6.3
25
+ version: 1.7.1
@@ -1,5 +1,21 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v1.7.1 (2025-12-11)
4
+
5
+ ### Bug fixes
6
+
7
+ * **DataStore.createObject(**: attempt to create new project/collection only if object was not found; save it finally as well ([`95fa9e0`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/95fa9e042a26b423936caac64d3e8b115790e888))
8
+
9
+ ## v1.7.0 (2025-12-11)
10
+
11
+ ### Code style
12
+
13
+ * **DataStore**: line length ([`8741be2`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/8741be28e86990ec18ec946795f2a6b643dcaac6))
14
+
15
+ ### Enh
16
+
17
+ * **DataStore.init**: remember token and forward how long it should be valid ([`385ecf8`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/385ecf8137bbce46f7ed5266de3596b415e4576c))
18
+
3
19
  ## v1.6.3 (2025-12-04)
4
20
 
5
21
  ### Bug fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupyter-analysis-tools
3
- Version: 1.6.3
3
+ Version: 1.7.1
4
4
  Summary: Yet another Python library with helpers and utilities for data analysis and processing.
5
5
  Author-email: Ingo Breßler <ingo.bressler@bam.de>, "Brian R. Pauw" <brian.pauw@bam.de>
6
6
  License-Expression: MIT
@@ -36,10 +36,10 @@ Requires-Dist: ipywidgets
36
36
  Requires-Dist: pybis
37
37
  Dynamic: license-file
38
38
 
39
- # Jupyter Analysis Tools (v1.6.3)
39
+ # Jupyter Analysis Tools (v1.7.1)
40
40
 
41
41
  [![PyPI Package latest release](https://img.shields.io/pypi/v/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools)
42
- [![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.6.3.svg)](https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.6.3...main)
42
+ [![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.7.1.svg)](https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.7.1...main)
43
43
  [![License](https://img.shields.io/pypi/l/jupyter-analysis-tools.svg)](https://en.wikipedia.org/wiki/MIT_license)
44
44
  [![Supported versions](https://img.shields.io/pypi/pyversions/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools)
45
45
  [![PyPI Wheel](https://img.shields.io/pypi/wheel/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools#files)
@@ -98,6 +98,22 @@ are installed:
98
98
 
99
99
  # CHANGELOG
100
100
 
101
+ ## v1.7.1 (2025-12-11)
102
+
103
+ ### Bug fixes
104
+
105
+ * **DataStore.createObject(**: attempt to create new project/collection only if object was not found; save it finally as well ([`95fa9e0`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/95fa9e042a26b423936caac64d3e8b115790e888))
106
+
107
+ ## v1.7.0 (2025-12-11)
108
+
109
+ ### Code style
110
+
111
+ * **DataStore**: line length ([`8741be2`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/8741be28e86990ec18ec946795f2a6b643dcaac6))
112
+
113
+ ### Enh
114
+
115
+ * **DataStore.init**: remember token and forward how long it should be valid ([`385ecf8`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/385ecf8137bbce46f7ed5266de3596b415e4576c))
116
+
101
117
  ## v1.6.3 (2025-12-04)
102
118
 
103
119
  ### Bug fixes
@@ -1,7 +1,7 @@
1
- # Jupyter Analysis Tools (v1.6.3)
1
+ # Jupyter Analysis Tools (v1.7.1)
2
2
 
3
3
  [![PyPI Package latest release](https://img.shields.io/pypi/v/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools)
4
- [![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.6.3.svg)](https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.6.3...main)
4
+ [![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.7.1.svg)](https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.7.1...main)
5
5
  [![License](https://img.shields.io/pypi/l/jupyter-analysis-tools.svg)](https://en.wikipedia.org/wiki/MIT_license)
6
6
  [![Supported versions](https://img.shields.io/pypi/pyversions/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools)
7
7
  [![PyPI Wheel](https://img.shields.io/pypi/wheel/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools#files)
@@ -32,7 +32,7 @@ project = "Jupyter Analysis Tools"
32
32
  year = "2018-2025"
33
33
  author = "Ingo Breßler and Brian R. Pauw"
34
34
  copyright = "{0}, {1}".format(year, author)
35
- version = "1.6.3"
35
+ version = "1.7.1"
36
36
  release = version
37
37
  commit_id = None
38
38
  try:
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # __init__.py
3
3
 
4
- __version__ = "1.6.3"
4
+ __version__ = "1.7.1"
5
5
 
6
6
  from .binning import reBin
7
7
  from .git import checkRepo, isNBstripoutActivated, isNBstripoutInstalled, isRepo
@@ -12,10 +12,11 @@ from pybis import Openbis
12
12
 
13
13
  class DataStore:
14
14
  url = None
15
+ token = None
15
16
  _availObj = None
16
17
  _userspace = None
17
18
 
18
- def __init__(self, url, username=None):
19
+ def __init__(self, url, username=None, tokenValidTo=None):
19
20
  self.url = url
20
21
  self.username = username
21
22
  if self.username is None:
@@ -30,7 +31,9 @@ class DataStore:
30
31
  save_token=False,
31
32
  )
32
33
  # create the PAT with the given name, don't store it
33
- self.ds.get_or_create_personal_access_token("test-session")
34
+ self.token = self.ds.get_or_create_personal_access_token(
35
+ "test-session", validTo=tokenValidTo
36
+ )
34
37
 
35
38
  @property
36
39
  def userspace(self):
@@ -118,11 +121,9 @@ class DataStore:
118
121
  objType: str = None,
119
122
  props: dict = None,
120
123
  ):
121
- dsProject = self.createProject(projectName, space, spacePrefix=spacePrefix)
122
- dsColl = None
123
- if collectionName is None: # collectionName is required
124
- return None
125
- dsColl = self.createCollection(collectionName, dsProject, defaultObjType=objType)
124
+ assert space and len(space), "space is required!"
125
+ assert projectName and len(projectName), "projectName is required!"
126
+ assert collectionName and len(collectionName), "collectionName is required!"
126
127
  obj = self.ds.get_objects(type=objType, where={"$name": props["$name"]}).objects
127
128
  if len(obj):
128
129
  obj = obj[0]
@@ -132,10 +133,13 @@ class DataStore:
132
133
  )
133
134
  warnings.warn_explicit(msg, UserWarning, prefix, 0)
134
135
  else: # does not exist yet
136
+ dsProject = self.createProject(projectName, space, spacePrefix=spacePrefix)
137
+ dsColl = self.createCollection(collectionName, dsProject, defaultObjType=objType)
135
138
  objName = f" '{props['$name']}'" if len(props.get("$name", "")) else ""
136
139
  print(f"Creating new {objType}{objName} in {dsColl.identifier}")
137
140
  obj = self.ds.new_object(type=objType, props=props, collection=dsColl)
138
141
  obj.set_props(props)
142
+ obj.save()
139
143
  return obj
140
144
 
141
145
  def findObjects(self, *args, **kwargs):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupyter-analysis-tools
3
- Version: 1.6.3
3
+ Version: 1.7.1
4
4
  Summary: Yet another Python library with helpers and utilities for data analysis and processing.
5
5
  Author-email: Ingo Breßler <ingo.bressler@bam.de>, "Brian R. Pauw" <brian.pauw@bam.de>
6
6
  License-Expression: MIT
@@ -36,10 +36,10 @@ Requires-Dist: ipywidgets
36
36
  Requires-Dist: pybis
37
37
  Dynamic: license-file
38
38
 
39
- # Jupyter Analysis Tools (v1.6.3)
39
+ # Jupyter Analysis Tools (v1.7.1)
40
40
 
41
41
  [![PyPI Package latest release](https://img.shields.io/pypi/v/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools)
42
- [![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.6.3.svg)](https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.6.3...main)
42
+ [![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.7.1.svg)](https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.7.1...main)
43
43
  [![License](https://img.shields.io/pypi/l/jupyter-analysis-tools.svg)](https://en.wikipedia.org/wiki/MIT_license)
44
44
  [![Supported versions](https://img.shields.io/pypi/pyversions/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools)
45
45
  [![PyPI Wheel](https://img.shields.io/pypi/wheel/jupyter-analysis-tools.svg)](https://pypi.org/project/jupyter-analysis-tools#files)
@@ -98,6 +98,22 @@ are installed:
98
98
 
99
99
  # CHANGELOG
100
100
 
101
+ ## v1.7.1 (2025-12-11)
102
+
103
+ ### Bug fixes
104
+
105
+ * **DataStore.createObject(**: attempt to create new project/collection only if object was not found; save it finally as well ([`95fa9e0`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/95fa9e042a26b423936caac64d3e8b115790e888))
106
+
107
+ ## v1.7.0 (2025-12-11)
108
+
109
+ ### Code style
110
+
111
+ * **DataStore**: line length ([`8741be2`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/8741be28e86990ec18ec946795f2a6b643dcaac6))
112
+
113
+ ### Enh
114
+
115
+ * **DataStore.init**: remember token and forward how long it should be valid ([`385ecf8`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/385ecf8137bbce46f7ed5266de3596b415e4576c))
116
+
101
117
  ## v1.6.3 (2025-12-04)
102
118
 
103
119
  ### Bug fixes