pynxtools-apm 0.2__tar.gz → 0.2.2__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 (85) hide show
  1. {pynxtools_apm-0.2/pynxtools_apm.egg-info → pynxtools_apm-0.2.2}/PKG-INFO +32 -27
  2. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2}/README.md +12 -19
  3. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2}/dev-requirements.txt +202 -129
  4. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2}/pyproject.toml +30 -9
  5. pynxtools_apm-0.2.2/src/pynxtools_apm/concepts/mapping_functors_pint.py +519 -0
  6. {pynxtools_apm-0.2/pynxtools_apm/config → pynxtools_apm-0.2.2/src/pynxtools_apm/configurations}/eln_cfg.py +104 -57
  7. {pynxtools_apm-0.2/pynxtools_apm/config → pynxtools_apm-0.2.2/src/pynxtools_apm/configurations}/oasis_cfg.py +5 -2
  8. pynxtools_apm-0.2.2/src/pynxtools_apm/nomad/entrypoints.py +41 -0
  9. pynxtools_apm-0.2.2/src/pynxtools_apm/nomad/examples/README.md +55 -0
  10. pynxtools_apm-0.2.2/src/pynxtools_apm/nomad/examples/apm.archive.json +1 -0
  11. pynxtools_apm-0.2.2/src/pynxtools_apm/nomad/examples/downloads.archive.yaml +8 -0
  12. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src/pynxtools_apm/nomad}/examples/eln_data.yaml +9 -1
  13. {pynxtools_apm-0.2/tests/data/nomad_oasis_eln_schema_for_nx_apm → pynxtools_apm-0.2.2/src/pynxtools_apm/nomad/examples}/nxapm.schema.archive.yaml +244 -284
  14. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/reader.py +67 -67
  15. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/create_nx_default_plots.py +4 -4
  16. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/interpret_boolean.py +3 -1
  17. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/io_case_logic.py +29 -33
  18. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/load_ranging.py +3 -3
  19. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/load_reconstruction.py +6 -5
  20. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/oasis_config_reader.py +10 -7
  21. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/oasis_eln_reader.py +69 -108
  22. pynxtools_apm-0.2.2/src/pynxtools_apm/utils/pint_custom_unit_registry.py +43 -0
  23. pynxtools_apm-0.2.2/src/pynxtools_apm.egg-info/SOURCES.txt +33 -0
  24. pynxtools_apm-0.2/.github/workflows/build_docs.yml +0 -27
  25. pynxtools_apm-0.2/.github/workflows/publish.yml +0 -30
  26. pynxtools_apm-0.2/.github/workflows/pylint.yml +0 -33
  27. pynxtools_apm-0.2/.github/workflows/pytest.yml +0 -34
  28. pynxtools_apm-0.2/.gitignore +0 -209
  29. pynxtools_apm-0.2/.precommit-config.yaml +0 -9
  30. pynxtools_apm-0.2/.vscode/settings.json +0 -18
  31. pynxtools_apm-0.2/PKG-INFO +0 -108
  32. pynxtools_apm-0.2/build_docs.yml +0 -27
  33. pynxtools_apm-0.2/docs/explanation/learn.md +0 -11
  34. pynxtools_apm-0.2/docs/explanation/media/workflow.mermaid +0 -8
  35. pynxtools_apm-0.2/docs/explanation/media/workflow.png +0 -0
  36. pynxtools_apm-0.2/docs/explanation/performance.md +0 -41
  37. pynxtools_apm-0.2/docs/how-tos/howto.md +0 -1
  38. pynxtools_apm-0.2/docs/index.md +0 -76
  39. pynxtools_apm-0.2/docs/reference/apt.md +0 -12
  40. pynxtools_apm-0.2/docs/reference/ato.md +0 -18
  41. pynxtools_apm-0.2/docs/reference/atomtypes.md +0 -6
  42. pynxtools_apm-0.2/docs/reference/camecaroot.md +0 -18
  43. pynxtools_apm-0.2/docs/reference/contextualization.md +0 -10
  44. pynxtools_apm-0.2/docs/reference/csv.md +0 -24
  45. pynxtools_apm-0.2/docs/reference/env.md +0 -15
  46. pynxtools_apm-0.2/docs/reference/epos.md +0 -11
  47. pynxtools_apm-0.2/docs/reference/faufig.md +0 -19
  48. pynxtools_apm-0.2/docs/reference/inspico.md +0 -6
  49. pynxtools_apm-0.2/docs/reference/mqanalysis.md +0 -7
  50. pynxtools_apm-0.2/docs/reference/pos.md +0 -9
  51. pynxtools_apm-0.2/docs/reference/pyccapt.md +0 -18
  52. pynxtools_apm-0.2/docs/reference/rng.md +0 -13
  53. pynxtools_apm-0.2/docs/reference/rrng.md +0 -16
  54. pynxtools_apm-0.2/docs/stylesheets/extra.css +0 -69
  55. pynxtools_apm-0.2/docs/tutorial/media/upload-processing.gif +0 -0
  56. pynxtools_apm-0.2/docs/tutorial/nexusio.md +0 -3
  57. pynxtools_apm-0.2/docs/tutorial/oasis.md +0 -7
  58. pynxtools_apm-0.2/docs/tutorial/standalone.md +0 -23
  59. pynxtools_apm-0.2/examples/HowToUseNXapmNeXusFileTutorial.ipynb +0 -214
  60. pynxtools_apm-0.2/examples/HowToUseTutorial.ipynb +0 -277
  61. pynxtools_apm-0.2/examples/apm.batch.sh +0 -6
  62. pynxtools_apm-0.2/mkdocs.yaml +0 -63
  63. pynxtools_apm-0.2/pynxtools_apm/README.md +0 -45
  64. pynxtools_apm-0.2/pynxtools_apm/concepts/mapping_functors.py +0 -345
  65. pynxtools_apm-0.2/pynxtools_apm.egg-info/SOURCES.txt +0 -76
  66. pynxtools_apm-0.2/pynxtools_apm.egg-info/dependency_links.txt +0 -1
  67. pynxtools_apm-0.2/pynxtools_apm.egg-info/entry_points.txt +0 -2
  68. pynxtools_apm-0.2/pynxtools_apm.egg-info/requires.txt +0 -18
  69. pynxtools_apm-0.2/pynxtools_apm.egg-info/top_level.txt +0 -1
  70. pynxtools_apm-0.2/tests/batch_queue.04.sh +0 -11
  71. pynxtools_apm-0.2/tests/data/config_file.json +0 -1
  72. pynxtools_apm-0.2/tests/test_reader.py +0 -59
  73. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2}/LICENSE +0 -0
  74. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2}/setup.cfg +0 -0
  75. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/__init__.py +0 -0
  76. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/concepts/__init__.py +0 -0
  77. /pynxtools_apm-0.2/docs/macros.py → /pynxtools_apm-0.2.2/src/pynxtools_apm/mkdocs.py +0 -0
  78. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src/pynxtools_apm/nomad}/examples/apm.oasis.specific.yaml +0 -0
  79. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/__init__.py +0 -0
  80. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/generate_synthetic_data.py +0 -0
  81. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/get_file_checksum.py +0 -0
  82. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/get_gitrepo_commit.py +0 -0
  83. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/parse_composition_table.py +0 -0
  84. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/string_conversions.py +0 -0
  85. {pynxtools_apm-0.2 → pynxtools_apm-0.2.2/src}/pynxtools_apm/utils/versioning.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pynxtools-apm
3
- Version: 0.2
3
+ Version: 0.2.2
4
4
  Summary: Make atom probe tomography and field-ion microscopy results interoperable via NeXus
5
5
  Author-email: Markus Kühbach <markus.kuehbach@physik.hu-berlin.de>
6
6
  License: Apache-2.0
@@ -16,22 +16,34 @@ Classifier: Operating System :: OS Independent
16
16
  Requires-Python: >=3.8
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
- Requires-Dist: pynxtools>=0.2.1
19
+ Requires-Dist: pint==0.17
20
+ Requires-Dist: pynxtools>=0.9.0
20
21
  Requires-Dist: ifes_apt_tc_data_modeling>=0.2.2
21
- Provides-Extra: docs
22
- Requires-Dist: mkdocs; extra == "docs"
23
- Requires-Dist: mkdocs-material; extra == "docs"
24
- Requires-Dist: mkdocs-material-extensions; extra == "docs"
25
- Requires-Dist: mkdocs-macros-plugin; extra == "docs"
22
+ Requires-Dist: numpy<=1.26.4
26
23
  Provides-Extra: dev
27
24
  Requires-Dist: mypy; extra == "dev"
28
- Requires-Dist: ruff==0.3.4; extra == "dev"
25
+ Requires-Dist: ruff>=0.6.0; extra == "dev"
29
26
  Requires-Dist: pytest; extra == "dev"
27
+ Requires-Dist: pytest-cov; extra == "dev"
28
+ Requires-Dist: pytest-timeout; extra == "dev"
29
+ Requires-Dist: pytest-cov; extra == "dev"
30
+ Requires-Dist: structlog; extra == "dev"
30
31
  Requires-Dist: types-pyyaml; extra == "dev"
32
+ Requires-Dist: types-pytz; extra == "dev"
33
+ Requires-Dist: types-requests; extra == "dev"
31
34
  Requires-Dist: pip-tools; extra == "dev"
35
+ Requires-Dist: uv; extra == "dev"
36
+ Requires-Dist: pre-commit; extra == "dev"
32
37
  Requires-Dist: jupyter; extra == "dev"
33
38
  Requires-Dist: jupyterlab; extra == "dev"
34
39
  Requires-Dist: jupyterlab-h5web; extra == "dev"
40
+ Provides-Extra: docs
41
+ Requires-Dist: mkdocs; extra == "docs"
42
+ Requires-Dist: mkdocs-material; extra == "docs"
43
+ Requires-Dist: mkdocs-material-extensions; extra == "docs"
44
+ Requires-Dist: mkdocs-macros-plugin; extra == "docs"
45
+ Requires-Dist: mkdocs-click; extra == "docs"
46
+ Requires-Dist: markdown-include; extra == "docs"
35
47
 
36
48
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
37
49
  ![](https://github.com/FAIRmat-NFDI/pynxtools-apm/actions/workflows/pytest.yml/badge.svg)
@@ -42,9 +54,9 @@ Requires-Dist: jupyterlab-h5web; extra == "dev"
42
54
  ![](https://img.shields.io/pypi/v/pynxtools-apm)
43
55
  ![](https://coveralls.io/repos/github/FAIRmat-NFDI/pynxtools-apm/badge.svg?branch=main)
44
56
 
45
- # A parser and normalizer for atom probe tomography and field-ion microscopy data
57
+ # Parse and normalize atom probe tomography and field-ion microscopy data
46
58
 
47
- # Installation
59
+ ## Installation
48
60
  It is recommended to use python 3.11 with a dedicated virtual environment for this package.
49
61
  Learn how to manage [python versions](https://github.com/pyenv/pyenv) and
50
62
  [virtual environments](https://realpython.com/python-virtual-environments-a-primer/).
@@ -54,9 +66,11 @@ This package is a reader plugin for [`pynxtools`](https://github.com/FAIRmat-NFD
54
66
  pip install pynxtools[apm]
55
67
  ```
56
68
 
57
- for the latest development version.
69
+ for the latest release version from [pypi](https://pypi.org/project/pynxtools-em/).
70
+
71
+ If you are interested in the newest version, we recommend to work with a development installation instead.
58
72
 
59
- # Purpose
73
+ ## Purpose
60
74
  This reader plugin for [`pynxtools`](https://github.com/FAIRmat-NFDI/pynxtools) is used to translate diverse file formats from the scientific community and technology partners
61
75
  within the field of atom probe tomography and field-ion microscopy into a standardized representation using the
62
76
  [NeXus](https://www.nexusformat.org/) application definition [NXapm](https://fairmat-nfdi.github.io/nexus_definitions/classes/contributed_definitions/NXapm.html#nxapm).
@@ -65,14 +79,12 @@ within the field of atom probe tomography and field-ion microscopy into a standa
65
79
  This plugin supports the majority of the file formats that are currently used for atom probe.
66
80
  A detailed summary is available in the [reference section of the documentation](https://fairmat-nfdi.github.io/pynxtools-apm).
67
81
 
68
- # Getting started
82
+ ## Getting started
69
83
  [A getting started tutorial](https://github.com/FAIRmat-NFDI/pynxtools-apm/tree/main/examples) is offered that guides you
70
- how to use the apm reader for converting your data to NeXus using a Jupyter notebook. That notebook details also the commands how to convert data via command line calls. Note that not every combination of input from a supported file format and other, typically electronic lab notebook, input for the parser allows filling the required and recommended fields and attributes of the NXapm application definition.
71
- Therefore, you may need to provide an ELN file that contains the missing values in order for the
72
- validation step of the APM reader to pass.
84
+ on how to use the apm reader for converting your data to NeXus using a Jupyter notebook or command line calls. Note that not every combination of input from a supported file format and other input, such as from an electronic lab notebook, allows filling the required and recommended fields and their attributes of the NXapm application definition. Therefore, you may need to provide an ELN file that contains the missing values in order for the validation step of the APM reader to pass.
73
85
 
74
- # Contributing
75
- We are continously working on adding parsers for other data formats, technology partners, and atom probers.
86
+ ## Contributing
87
+ We are continously working on improving the collection of parsers and their functionalities.
76
88
  If you would like to implement a parser for your data, feel free to get in contact.
77
89
 
78
90
  ## Development install
@@ -82,19 +94,12 @@ Install the package with its dependencies:
82
94
  git clone https://github.com/FAIRmat-NFDI/pynxtools-apm.git --branch main --recursive pynxtools_apm
83
95
  cd pynxtools_apm
84
96
  python -m pip install --upgrade pip
85
- python -m pip install -e .
86
97
  python -m pip install -e ".[dev,docs]"
87
- ```
88
-
89
- <!---There is also a [pre-commit hook](https://pre-commit.com/#intro) available
90
- which formats the code and checks the linting before actually commiting.
91
- It can be installed with
92
- ```shell
93
98
  pre-commit install
94
99
  ```
95
- from the root of this repository.
96
100
 
97
- ## Development Notes-->
101
+ The last line installs a [pre-commit hook](https://pre-commit.com/#intro) which
102
+ automatically formats (linting) and type checks the code before committing.
98
103
 
99
104
  ## Test this software
100
105
  Especially relevant for developers, there exists a basic test framework written in
@@ -7,9 +7,9 @@
7
7
  ![](https://img.shields.io/pypi/v/pynxtools-apm)
8
8
  ![](https://coveralls.io/repos/github/FAIRmat-NFDI/pynxtools-apm/badge.svg?branch=main)
9
9
 
10
- # A parser and normalizer for atom probe tomography and field-ion microscopy data
10
+ # Parse and normalize atom probe tomography and field-ion microscopy data
11
11
 
12
- # Installation
12
+ ## Installation
13
13
  It is recommended to use python 3.11 with a dedicated virtual environment for this package.
14
14
  Learn how to manage [python versions](https://github.com/pyenv/pyenv) and
15
15
  [virtual environments](https://realpython.com/python-virtual-environments-a-primer/).
@@ -19,9 +19,11 @@ This package is a reader plugin for [`pynxtools`](https://github.com/FAIRmat-NFD
19
19
  pip install pynxtools[apm]
20
20
  ```
21
21
 
22
- for the latest development version.
22
+ for the latest release version from [pypi](https://pypi.org/project/pynxtools-em/).
23
23
 
24
- # Purpose
24
+ If you are interested in the newest version, we recommend to work with a development installation instead.
25
+
26
+ ## Purpose
25
27
  This reader plugin for [`pynxtools`](https://github.com/FAIRmat-NFDI/pynxtools) is used to translate diverse file formats from the scientific community and technology partners
26
28
  within the field of atom probe tomography and field-ion microscopy into a standardized representation using the
27
29
  [NeXus](https://www.nexusformat.org/) application definition [NXapm](https://fairmat-nfdi.github.io/nexus_definitions/classes/contributed_definitions/NXapm.html#nxapm).
@@ -30,14 +32,12 @@ within the field of atom probe tomography and field-ion microscopy into a standa
30
32
  This plugin supports the majority of the file formats that are currently used for atom probe.
31
33
  A detailed summary is available in the [reference section of the documentation](https://fairmat-nfdi.github.io/pynxtools-apm).
32
34
 
33
- # Getting started
35
+ ## Getting started
34
36
  [A getting started tutorial](https://github.com/FAIRmat-NFDI/pynxtools-apm/tree/main/examples) is offered that guides you
35
- how to use the apm reader for converting your data to NeXus using a Jupyter notebook. That notebook details also the commands how to convert data via command line calls. Note that not every combination of input from a supported file format and other, typically electronic lab notebook, input for the parser allows filling the required and recommended fields and attributes of the NXapm application definition.
36
- Therefore, you may need to provide an ELN file that contains the missing values in order for the
37
- validation step of the APM reader to pass.
37
+ on how to use the apm reader for converting your data to NeXus using a Jupyter notebook or command line calls. Note that not every combination of input from a supported file format and other input, such as from an electronic lab notebook, allows filling the required and recommended fields and their attributes of the NXapm application definition. Therefore, you may need to provide an ELN file that contains the missing values in order for the validation step of the APM reader to pass.
38
38
 
39
- # Contributing
40
- We are continously working on adding parsers for other data formats, technology partners, and atom probers.
39
+ ## Contributing
40
+ We are continously working on improving the collection of parsers and their functionalities.
41
41
  If you would like to implement a parser for your data, feel free to get in contact.
42
42
 
43
43
  ## Development install
@@ -47,19 +47,12 @@ Install the package with its dependencies:
47
47
  git clone https://github.com/FAIRmat-NFDI/pynxtools-apm.git --branch main --recursive pynxtools_apm
48
48
  cd pynxtools_apm
49
49
  python -m pip install --upgrade pip
50
- python -m pip install -e .
51
50
  python -m pip install -e ".[dev,docs]"
52
- ```
53
-
54
- <!---There is also a [pre-commit hook](https://pre-commit.com/#intro) available
55
- which formats the code and checks the linting before actually commiting.
56
- It can be installed with
57
- ```shell
58
51
  pre-commit install
59
52
  ```
60
- from the root of this repository.
61
53
 
62
- ## Development Notes-->
54
+ The last line installs a [pre-commit hook](https://pre-commit.com/#intro) which
55
+ automatically formats (linting) and type checks the code before committing.
63
56
 
64
57
  ## Test this software
65
58
  Especially relevant for developers, there exists a basic test framework written in