Skip to content

Commit 9515fa9

Browse files
lukaspielukaspie
andauthored
use plugin template with cookiecutter and cruft (#16)
Co-authored-by: lukaspie <lukaspie@github.com>
1 parent 5409bc4 commit 9515fa9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+608
-203
lines changed

.cruft.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"template": "git@github.com:FAIRmat-NFDI/pynxtools-plugin-template.git",
3+
"commit": "fd28d9fbb5463af44d47d8cdee098f854f3751e6",
4+
"context": {
5+
"cookiecutter": {
6+
"reader_name": "igor",
7+
"supported_nxdl": "*",
8+
"short_description": "pynxtools-igor is a pynxtools reader plugin for data stored with Wavemetrics Igor Pro",
9+
"technique": "igor",
10+
"reader_class": "IgorReader",
11+
"author_name": "The NOMAD Authors",
12+
"author_email": "fairmat@physik.hu-berlin.de",
13+
"github_username": "",
14+
"organization_name": "fairmat-nfdi",
15+
"license": "Apache Software License 2.0",
16+
"zenodo_record": "15083998",
17+
"vscode_settings": true,
18+
"include_nomad_app": false,
19+
"include_nomad_example_upload": true,
20+
"include_north_tools": false,
21+
"north_tool_name": "igor",
22+
"__package_name": "pynxtools-igor",
23+
"__module_name": "pynxtools_igor",
24+
"__nomad_example": "igor_example_upload_entry_point",
25+
"__nomad_app": "igor_app_entry_point",
26+
"__north_tool_entry_point": "igor_north_tool_entry_point",
27+
"_copy_without_render": [
28+
"*.html"
29+
],
30+
"_template": "git@github.com:FAIRmat-NFDI/pynxtools-plugin-template.git",
31+
"_commit": "fd28d9fbb5463af44d47d8cdee098f854f3751e6"
32+
}
33+
},
34+
"directory": null,
35+
"checkout": null
36+
}

.cspell/custom-dictionary.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,14 @@ inlinehilite
3838
ipynb
3939
kernelspec
4040
linenums
41+
lukaspie
4142
mainfile
4243
ndarray
4344
nxdl
4445
nxdls
4546
orcid
4647
pymdownx
4748
pynxtools
49+
rettigl
4850
superfences
4951
voigt

.github/workflows/mkdocs-deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: build_and_deploy_mkdocs
33
on:
44
push:
55
branches:
6-
- main # Triggers deployment on push to the main branch
6+
- main
77

88
env:
99
python-version: 3.12
@@ -42,4 +42,4 @@ jobs:
4242
4343
- name: Build and Deploy
4444
run: |
45-
mkdocs gh-deploy --force --remote-branch gh-pages
45+
mkdocs gh-deploy --force --remote-branch gh-pages

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ jobs:
109109
name: dist-artifacts
110110
path: dist/
111111
- name: Publish package distributions to PyPI
112-
uses: pypa/gh-action-pypi-publish@release/v1
112+
uses: pypa/gh-action-pypi-publish@release/v1

.github/workflows/pylint.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ jobs:
1616
python-version: ${{ env.python-version }}
1717
- name: Install package and dev dependencies
1818
run: |
19-
curl -LsSf https://astral.sh/uv/install.sh | sh
2019
uv pip install ".[dev]"
2120
- name: ruff check
2221
run: |

.github/workflows/pytest.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,24 @@ jobs:
2020
uses: astral-sh/setup-uv@v5
2121
with:
2222
python-version: ${{ matrix.python-version }}
23-
- name: Install package and test dependencies
23+
- name: Install nomad
24+
run: |
25+
uv pip install nomad-lab[infrastructure]@git+https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR.git
26+
- name: Install package and pynxtools master branch
2427
run: |
28+
# Editable install is neccessary for coveralls to work
2529
uv pip install -e ".[dev]"
2630
uv pip install coverage coveralls
2731
- name: Install pynxtools master branch
2832
run: |
29-
uv pip install pynxtools@git+https://github.com/FAIRmat-NFDI/pynxtools@master
30-
- name: Install nomad
31-
run: |
32-
uv pip install nomad-lab[infrastructure]@git+https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR.git
33+
uv pip install pynxtools@git+https://github.com/FAIRmat-NFDI/pynxtools
3334
- name: Test with pytest
3435
run: |
3536
coverage run -m pytest -sv --show-capture=no tests
3637
- name: Submit to coveralls
3738
continue-on-error: true
38-
if: "${{ matrix.python-version == '3.12'}}"
39+
if: ${{ matrix.python-version == '3.12' }}
3940
env:
4041
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4142
run: |
42-
coveralls --service=github
43+
coveralls --service=github

.gitignore

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,6 @@ cover/
8888

8989
# Django stuff:
9090
*.log
91-
!tests/data/dataconverter/readers/igor/Ref_nexus_igor.log
92-
!tests/data/nexus/Ref_nexus_test.log
9391
local_settings.py
9492
db.sqlite3
9593
db.sqlite3-journal
@@ -199,11 +197,8 @@ cython_debug/
199197
.pyenv
200198
*.pyc
201199
*.txt
202-
!requirements.txt
203-
!dev-requirements.txt
204200
build/
205-
nexusparser.egg-info/PKG-INFO
206201
.python-version
207-
!tests/data/Ref_nexus_mpes.log
202+
!.cspell/custom-dictionary.txt
208203
*.nxs
209204
*.entry

.pre-commit-config.yaml

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
# Ruff version.
4-
rev: v0.12.0
3+
rev: v0.15.0
54
hooks:
6-
# Run the formatter.
5+
- id: ruff-check
6+
files: ^(src/pynxtools_igor|tests)/.*\.py$
77
- id: ruff-format
8-
# Run the linter.
9-
- id: ruff
8+
files: ^(src/pynxtools_igor|tests)/.*\.py$
9+
1010
- repo: https://github.com/pre-commit/mirrors-mypy
11-
rev: v1.7.1
11+
rev: v1.19.1
1212
hooks:
13-
- id: mypy
13+
- id: mypy # static type checking
14+
1415
- repo: https://github.com/asottile/pyupgrade
15-
rev: v2.37.3
16+
rev: v3.21.1
1617
hooks:
17-
- id: pyupgrade
18-
args: [--py36-plus]
19-
- repo: https://github.com/asottile/add-trailing-comma
20-
rev: v2.2.3
21-
hooks:
22-
- id: add-trailing-comma
23-
args: [--py36-plus]
18+
- id: pyupgrade
19+
args: [--py310-plus] # modernizes syntax for Python 3.6+
20+
2421
- repo: https://github.com/kynan/nbstripout
25-
rev: 0.6.0
22+
rev: 0.9.0
2623
hooks:
27-
- id: nbstripout
24+
- id: nbstripout # removes notebook outputs before committing
25+
2826
- repo: https://github.com/streetsidesoftware/cspell-cli
29-
rev: v6.31.1
27+
rev: v9.6.0
3028
hooks:
31-
- id: cspell
29+
- id: cspell # spellchecking
30+
pass_filenames: false
31+
args:
32+
- --config
33+
- cspell.json
34+
- README.md
35+
- CITATION.cff
36+
- docs/**/*
37+
- src/pynxtools_igor/**/*.py
38+
- tests/**/*.py

CITATION.cff

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,30 @@ authors:
1717
orcid: 'https://orcid.org/0000-0001-9361-8333'
1818

1919
doi: 10.5281/zenodo.15083998
20-
repository-code: 'https://github.com/FAIRmat-NFDI/pynxtools-igor'
20+
repository-code: https://github.com/FAIRmat-NFDI/pynxtools-igor
2121
url: https://zenodo.org/records/15083998
2222
keywords:
23+
- NeXus
24+
- pynxtools
25+
- NOMAD
2326
- Wavemetrics
2427
- Igor Pro
25-
- NOMAD
26-
- pynxtools
27-
- NeXus
2828
abstract:
29-
pynxtools-igor is a free, and open-source data software for converting data stored
29+
pynxtools-igor is a free, and open-source data software for converting data stored
3030
with Wavemetrics [Igor Pro](https://www.wavemetrics.com/) into the [NeXus](https://www.nexusformat.org/)
31-
format. It is implemented as a plugin for [pynxtools](https://github.com/FAIRmat-NFDI/pynxtools) and
32-
allows to read, translate, and standardize data from Igor Pro binary waves and packed experiment files.
33-
Depending on the domain of data, pynxtools allows to ensure compliance with various NeXus application
34-
definitions.
31+
format. pynxtools-igor is a reader plugin for pynxtools (https://github.com/FAIRmat-NFDI/pynxtools)
32+
written in Python. It allows to read, translate, and standardize data from Igor Pro binary waves and
33+
packed experiment files. Depending on the domain of data, pynxtools-igor allows to ensure compliance with
34+
various NeXus application definitions.
3535

3636
pynxtools-igor is developed both as a standalone reader and as a tool within NOMAD, an open-source data
3737
management platform for materials science ((https://nomad-lab.eu/nomad-lab/).
3838

3939
The work is funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - 460197019 (FAIRmat)
4040
(https://gepris.dfg.de/gepris/projekt/460197019?language=en).
41-
license: Apache-2.0
41+
license: Apache Software License 2.0
42+
funding:
43+
- name: Deutsche Forschungsgemeinschaft
44+
award-number: 460197019
45+
title: FAIRmat - FAIR Data Infrastructure for Condensed-Matter Physics and the Chemical Physics of Solids
46+
award-uri: https://gepris.dfg.de/gepris/projekt/460197019?language=en

MANIFEST.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
prune *
22
exclude *
33
recursive-include src/pynxtools_igor *.py
4-
include pyproject.toml README.md dev-requirements.txt
5-
graft src/pynxtools_igor/nomad/examples
4+
include pyproject.toml README.md
5+
graft src/pynxtools_igor/nomad/example_uploads

0 commit comments

Comments
 (0)