jupyter-analysis-tools 1.2.2__py3-none-any.whl → 1.3.1__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.
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # __init__.py
3
3
 
4
- __version__ = "1.2.2"
4
+ __version__ = "1.3.1"
5
5
 
6
6
  from .binning import reBin
7
7
  from .git import checkRepo, isNBstripoutActivated, isNBstripoutInstalled, isRepo
@@ -105,6 +105,30 @@ def addEnvScriptsToPATH():
105
105
  os.environ["PATH"] = sep.join(environPATH)
106
106
 
107
107
 
108
+ def networkdriveMapping(cmdOutput: str = None):
109
+ """Returns a dict of mapping drive letters to network paths (on Windows)."""
110
+ if isWindows():
111
+ if cmdOutput is None:
112
+ proc = subprocess.run(["net", "use"], capture_output=True, text=True, encoding="cp850")
113
+ cmdOutput = proc.stdout
114
+ rows = [line.split() for line in cmdOutput.splitlines() if "Windows Network" in line]
115
+ rows = dict(
116
+ [row[1:3] for row in rows if row[1].endswith(":") and row[2].startswith("\\\\")]
117
+ )
118
+ return rows
119
+ return {}
120
+
121
+
122
+ def makeNetworkdriveAbsolute(filepath, cmdOutput: str = None):
123
+ """Replaces the drive letter of the given path by the respective network path, if possible."""
124
+ if isWindows() and not filepath.drive.startswith(r"\\"):
125
+ drivemap = networkdriveMapping(cmdOutput=cmdOutput)
126
+ prefix = drivemap.get(filepath.drive, None)
127
+ if prefix is not None:
128
+ filepath = Path(prefix).joinpath(*filepath.parts[1:])
129
+ return filepath
130
+
131
+
108
132
  def checkWinFor7z():
109
133
  """Extend the PATH environment variable for access to the 7-zip executable."""
110
134
  if not isWindows():
@@ -127,7 +151,7 @@ def extract7z(fn, workdir=None):
127
151
  assert os.path.isfile(os.path.join(workdir, fn)), "Provided 7z archive '{}' not found!".format(
128
152
  fn
129
153
  )
130
- print("Extracting archived McDLS results:")
154
+ print(f"Extracting '{fn}':")
131
155
  proc = subprocess.run(
132
156
  ["7z", "x", fn],
133
157
  cwd=workdir,
@@ -1,15 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupyter-analysis-tools
3
- Version: 1.2.2
3
+ Version: 1.3.1
4
4
  Summary: Yet another Python library with helpers and utilities for data analysis and processing.
5
- Author-email: Ingo Breßler <dev@ingobressler.net>
6
- License: MIT license
5
+ Author-email: Ingo Breßler <ingo.bressler@bam.de>, "Brian R. Pauw" <brian.pauw@bam.de>
6
+ License-Expression: MIT
7
7
  Project-URL: homepage, https://BAMresearch.github.io/jupyter-analysis-tools
8
8
  Project-URL: documentation, https://BAMresearch.github.io/jupyter-analysis-tools
9
9
  Project-URL: repository, https://github.com/BAMresearch/jupyter-analysis-tools
10
10
  Project-URL: changelog, https://BAMresearch.github.io/jupyter-analysis-tools/changelog.html
11
11
  Classifier: Development Status :: 4 - Beta
12
- Classifier: License :: OSI Approved :: MIT License
13
12
  Classifier: Operating System :: Unix
14
13
  Classifier: Operating System :: POSIX
15
14
  Classifier: Operating System :: MacOS
@@ -53,8 +52,8 @@ Yet another Python library with helpers and utilities for data analysis and proc
53
52
  :target: https://pypi.org/project/jupyter-analysis-tools
54
53
  :alt: PyPI Package latest release
55
54
 
56
- .. |commits-since| image:: https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.2.2.svg
57
- :target: https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.2.2...main
55
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/BAMresearch/jupyter-analysis-tools/v1.3.1.svg
56
+ :target: https://github.com/BAMresearch/jupyter-analysis-tools/compare/v1.3.1...main
58
57
  :alt: Commits since latest release
59
58
 
60
59
  .. |license| image:: https://img.shields.io/pypi/l/jupyter-analysis-tools.svg
@@ -127,6 +126,60 @@ Note, to combine the coverage data from all the tox environments run:
127
126
 
128
127
  # CHANGELOG
129
128
 
129
+ ## v1.3.1 (2025-07-23)
130
+
131
+ ### Bug fixes
132
+
133
+ * Project: update manifest and flake8 config, reapplied template ([`c98c648`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/c98c6489423a45d8a195fda32396ea9d9d18b9eb))
134
+
135
+ ### Code style
136
+
137
+ * utils: satisfy flake8 ([`2e3dc36`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/2e3dc36ef21e60f4fe7b8caea567411cc69967c0))
138
+
139
+ ### Continuous integration
140
+
141
+ * semantic-release: replace .cookiecutterrc by .copier-answers.yml ([`2030c88`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/2030c88dfb0ca69ac332380e33b3baed9cb6cf44))
142
+
143
+ * coverage: coverage-report fix ([`1bd26b7`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/1bd26b71abcb090ef32cb2fbdd05b978bce5144c))
144
+
145
+ * GitHub Workflows: remove templates, rendered by *copier update* ([`8a637a5`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/8a637a5b34df4a3ec6a4e8cae97a9d3e24ad2e5c))
146
+
147
+ * GitHub Workflow: publish depends on all other job to be successful ([`efc1f22`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/efc1f223aa2da882d43b27406a2f20113c2c8879))
148
+
149
+ * Template: latest GitHub Workflow templates applied ([`7d87906`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/7d87906c852cb2b57704c45db0b19c7a1ae513a2))
150
+
151
+ * coverage: fix path name matching rules ([`37bd2d9`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/37bd2d93a8fe10a3355feee6779f45bd9161a88b))
152
+
153
+ ### Documentation
154
+
155
+ * Copyright years: update ([`cee35e6`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/cee35e6fe92ae27575bd7fb4a7a2638cd1c931b2))
156
+
157
+ * Contributions: Authors update ([`dd5a5c4`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/dd5a5c4d81732821057bcc200f462159cffa760b))
158
+
159
+ ### Refactoring
160
+
161
+ * Project: GitHub Workflow templates fixed ([`b346b28`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/b346b282332f0f7f81b724509a4004e6a69d7791))
162
+
163
+ * Project: GitHub Workflow templates updated ([`235c4d9`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/235c4d9c53997fdf4c08913361fb57167939cd7c))
164
+
165
+ * Project: switching to copier for project template with update mechanism ([`0d3064b`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/0d3064b8cef45667b0964aab248b583424946207))
166
+
167
+ ## v1.3.0 (2025-07-16)
168
+
169
+ ### Bug fixes
170
+
171
+ * utils.extract7z: informative info message ([`80d2f71`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/80d2f7134992d59f0bfd7f5e7bc27772f77cd452))
172
+
173
+ ### Continuous integration
174
+
175
+ * coverage: fix coverage artifact name for multiple matrix.os ([`f471599`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/f471599b8c86e29fd20b78f7cbd9291c3a6dd98a))
176
+
177
+ * testing: test on Windows as well ([`4a83c39`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/4a83c3924bcb820ef0728af40b86a0f6622dfef2))
178
+
179
+ ### Features
180
+
181
+ * utils.makeNetworkdriveAbsolute: new routines for translating a windows drive letter mount to its network location ([`823a6bf`](https://github.com/BAMresearch/jupyter-analysis-tools/commit/823a6bfe126829381bc14d34578f342f4b9d3e8f))
182
+
130
183
  ## v1.2.2 (2025-07-15)
131
184
 
132
185
  ### Bug fixes
@@ -1,4 +1,4 @@
1
- jupyter_analysis_tools/__init__.py,sha256=97TJ2mR74urGEdLA3G-jQqcSh_w-HKzX3XYzBZfez6A,386
1
+ jupyter_analysis_tools/__init__.py,sha256=d2fT11SRY4ZeCv-o95TNGlC1SErU2HHd0KeKlXaNcZQ,386
2
2
  jupyter_analysis_tools/analysis.py,sha256=AiAvUO648f0PYXqLfal1kDH926neasE5c1RYFu9wtYg,1768
3
3
  jupyter_analysis_tools/binning.py,sha256=d6eXRC3IOnnJIF25OfEASyWedT71EX2nF7jAgGJ9suQ,14536
4
4
  jupyter_analysis_tools/datalocations.py,sha256=BakfiZOMcBwp-_DAn7l57lGWZmZGNnk0j73V75nLBUA,4322
@@ -6,11 +6,11 @@ jupyter_analysis_tools/distrib.py,sha256=uyh2jXDdXR6dfd36CAoE5_psoFF0bfA6l1wletP
6
6
  jupyter_analysis_tools/git.py,sha256=mqSk5nnAFrmk1_2KFuKVrDWOkRbGbAQOq2N1DfxhNpg,2216
7
7
  jupyter_analysis_tools/plotting.py,sha256=L2gwSjlBVK8OneAfSuna3vCJIg2rSEdvd9TfEbM2Als,1183
8
8
  jupyter_analysis_tools/readdata.py,sha256=6Tncwo3NSYAnyLQzAhDtiUyp1Xpw3CahqQ_5NeGhJqI,6030
9
- jupyter_analysis_tools/utils.py,sha256=dFE34fYQS7ivCfNy0nwwNPyBdZhIzW9QrxwjvvIHlIQ,5319
9
+ jupyter_analysis_tools/utils.py,sha256=EbRooLCGODH8tjQVE8-OuuPoI4weKLzmxdFY794En_k,6327
10
10
  jupyter_analysis_tools/widgets.py,sha256=rA8qPvY9nS1OtykZwXtCTG29K-N_MYFVb5Aj8yK40_s,2996
11
- jupyter_analysis_tools-1.2.2.dist-info/licenses/AUTHORS.rst,sha256=SUxxgElDBm6WdCbBBFfcr0ZE3SolWL0T0aS5Fym1198,100
12
- jupyter_analysis_tools-1.2.2.dist-info/licenses/LICENSE,sha256=SrbIwXA1ZLTO6uwZneJMpvdgiC-3fhNl0vwb3ALoY4g,1107
13
- jupyter_analysis_tools-1.2.2.dist-info/METADATA,sha256=xNHzAqCaV-gPgp8HB96pEeekWAWWJDeIhmJHDk0vgOA,37932
14
- jupyter_analysis_tools-1.2.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
- jupyter_analysis_tools-1.2.2.dist-info/top_level.txt,sha256=ei_0x-BF85FLoJ_h67ySwDFowtqus_gI4_0GR466PEU,23
16
- jupyter_analysis_tools-1.2.2.dist-info/RECORD,,
11
+ jupyter_analysis_tools-1.3.1.dist-info/licenses/AUTHORS.rst,sha256=-twUESsY0XqFQ0MIC0ylKhglNwL8lyHmGXriM3RF-2s,93
12
+ jupyter_analysis_tools-1.3.1.dist-info/licenses/LICENSE,sha256=jRVl3hmCq0Qv1wifm-EelEKhFWecdoWdhcxSte4a1_c,1125
13
+ jupyter_analysis_tools-1.3.1.dist-info/METADATA,sha256=iEQjE_vlu3WStYGwgA9zRZRATlkowo6VLpS6zVXeTiA,41021
14
+ jupyter_analysis_tools-1.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
+ jupyter_analysis_tools-1.3.1.dist-info/top_level.txt,sha256=ei_0x-BF85FLoJ_h67ySwDFowtqus_gI4_0GR466PEU,23
16
+ jupyter_analysis_tools-1.3.1.dist-info/RECORD,,
@@ -0,0 +1,6 @@
1
+
2
+ Authors
3
+ =======
4
+
5
+ * Ingo Breßler - ingo.bressler@bam.de
6
+ * Brian R. Pauw - brian.pauw@bam.de
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-2023, Ingo Breßler
3
+ Copyright (c) 2018-2025, Ingo Breßler and Brian R. Pauw
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
6
 
@@ -1,6 +0,0 @@
1
-
2
- Authors
3
- =======
4
-
5
- * Ingo Breßler - dev <at> ingobressler.net
6
- * Brian R. Pauw - brian <at> stack.nl