scitex-dataset 0.1.0__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 (42) hide show
  1. scitex_dataset-0.1.0/.env.example +11 -0
  2. scitex_dataset-0.1.0/.github/workflows/test.yml +47 -0
  3. scitex_dataset-0.1.0/.gitignore +687 -0
  4. scitex_dataset-0.1.0/CHANGELOG.md +29 -0
  5. scitex_dataset-0.1.0/LICENSE +661 -0
  6. scitex_dataset-0.1.0/Makefile +40 -0
  7. scitex_dataset-0.1.0/PKG-INFO +153 -0
  8. scitex_dataset-0.1.0/README.md +113 -0
  9. scitex_dataset-0.1.0/docs/to_claude/examples/example-python-project-scitex/data/.gitkeep +0 -0
  10. scitex_dataset-0.1.0/examples/00_run_all.sh +24 -0
  11. scitex_dataset-0.1.0/examples/01_fetch_openneuro.py +45 -0
  12. scitex_dataset-0.1.0/examples/01_fetch_openneuro_out/.gitkeep +0 -0
  13. scitex_dataset-0.1.0/examples/02_search_datasets.py +67 -0
  14. scitex_dataset-0.1.0/examples/02_search_datasets_out/.gitkeep +0 -0
  15. scitex_dataset-0.1.0/examples/03_cli_usage.sh +29 -0
  16. scitex_dataset-0.1.0/examples/03_cli_usage_out/.gitkeep +0 -0
  17. scitex_dataset-0.1.0/pyproject.toml +100 -0
  18. scitex_dataset-0.1.0/src/scitex_dataset/__init__.py +57 -0
  19. scitex_dataset-0.1.0/src/scitex_dataset/_branding.py +93 -0
  20. scitex_dataset-0.1.0/src/scitex_dataset/_cli/__init__.py +354 -0
  21. scitex_dataset-0.1.0/src/scitex_dataset/_cli/_introspect.py +199 -0
  22. scitex_dataset-0.1.0/src/scitex_dataset/_cli/_mcp_commands.py +331 -0
  23. scitex_dataset-0.1.0/src/scitex_dataset/_mcp/__init__.py +5 -0
  24. scitex_dataset-0.1.0/src/scitex_dataset/_mcp/server.py +361 -0
  25. scitex_dataset-0.1.0/src/scitex_dataset/_mcp/tools.py +170 -0
  26. scitex_dataset-0.1.0/src/scitex_dataset/database.py +413 -0
  27. scitex_dataset-0.1.0/src/scitex_dataset/general/__init__.py +30 -0
  28. scitex_dataset-0.1.0/src/scitex_dataset/general/zenodo.py +216 -0
  29. scitex_dataset-0.1.0/src/scitex_dataset/neuroscience/__init__.py +35 -0
  30. scitex_dataset-0.1.0/src/scitex_dataset/neuroscience/dandi.py +121 -0
  31. scitex_dataset-0.1.0/src/scitex_dataset/neuroscience/openneuro.py +176 -0
  32. scitex_dataset-0.1.0/src/scitex_dataset/neuroscience/physionet.py +120 -0
  33. scitex_dataset-0.1.0/src/scitex_dataset/search.py +123 -0
  34. scitex_dataset-0.1.0/tests/__init__.py +1 -0
  35. scitex_dataset-0.1.0/tests/conftest.py +164 -0
  36. scitex_dataset-0.1.0/tests/test_cli.py +242 -0
  37. scitex_dataset-0.1.0/tests/test_dandi.py +124 -0
  38. scitex_dataset-0.1.0/tests/test_database.py +275 -0
  39. scitex_dataset-0.1.0/tests/test_mcp_tools.py +198 -0
  40. scitex_dataset-0.1.0/tests/test_openneuro.py +82 -0
  41. scitex_dataset-0.1.0/tests/test_physionet.py +151 -0
  42. scitex_dataset-0.1.0/tests/test_search.py +103 -0
@@ -0,0 +1,11 @@
1
+ # scitex-dataset environment variables
2
+ # Copy to .env and modify as needed
3
+
4
+ # Cache directory for local database (default: ~/.cache/scitex-dataset/)
5
+ # SCITEX_DATASET_CACHE_DIR=/path/to/cache
6
+
7
+ # Debug mode (set to 1 to enable verbose logging)
8
+ # SCITEX_DATASET_DEBUG=0
9
+
10
+ # API timeout in seconds (default: 30)
11
+ # SCITEX_DATASET_TIMEOUT=30
@@ -0,0 +1,47 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main, develop]
6
+ pull_request:
7
+ branches: [main, develop]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.10", "3.11", "3.12"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Python ${{ matrix.python-version }}
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: ${{ matrix.python-version }}
23
+
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install -e ".[dev,mcp]"
28
+
29
+ - name: Run linter
30
+ run: |
31
+ ruff check src/
32
+
33
+ - name: Run tests
34
+ run: |
35
+ pytest tests/ -v --tb=short
36
+
37
+ - name: Run tests with coverage
38
+ if: matrix.python-version == '3.11'
39
+ run: |
40
+ pytest tests/ --cov=src/scitex_dataset --cov-report=xml
41
+
42
+ - name: Upload coverage
43
+ if: matrix.python-version == '3.11'
44
+ uses: codecov/codecov-action@v4
45
+ with:
46
+ file: ./coverage.xml
47
+ fail_ci_if_error: false
@@ -0,0 +1,687 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ dist/
8
+ build/
9
+ *.egg-info/
10
+ *.egg
11
+
12
+ # Virtual environments
13
+ .venv/
14
+ venv/
15
+ ENV/
16
+
17
+ # IDE
18
+ .idea/
19
+ .vscode/
20
+ *.swp
21
+ *.swo
22
+
23
+ # Testing
24
+ .pytest_cache/
25
+ .coverage
26
+ htmlcov/
27
+
28
+ # Session outputs
29
+ *_out/
30
+
31
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/Specific.gitignore ###
32
+ # Please add files here
33
+
34
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/Claude.gitignore ###
35
+ docs/to_claude
36
+ docs/from_agents
37
+ docs/from_user
38
+ CLAUDE.md
39
+ .claude
40
+ mgmt
41
+ .mcp.json
42
+
43
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/Secrets.gitignore ###
44
+ .git-crypt/keys
45
+ **/*secret*
46
+
47
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/Development.gitignore ###
48
+ # old directories as trash bin
49
+ *old*
50
+ **/*old*
51
+ .old
52
+ **/.old
53
+ .dev
54
+ **/.dev
55
+ .playground
56
+ **/.playground
57
+ **/.dev
58
+ .dev
59
+ **/.legacy
60
+ .legacy
61
+
62
+ # Backup
63
+ **/*_back
64
+ **/*_backup
65
+ **/*_backups
66
+
67
+ # Renaming
68
+ **/.rename_backups
69
+ **/.rename_backups
70
+
71
+ # Logs
72
+ *.log
73
+ **/*.log
74
+ **RUNNING**
75
+ **FINISHED**
76
+ **/RUNNING
77
+ **/FINISHED
78
+ **/202?Y-*
79
+
80
+ # TODO
81
+ **/TODO.md
82
+
83
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/MyEmacs.gitignore ###
84
+ **/*~undo-tree~
85
+ **/undohist/*
86
+
87
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/Apptainer.gitignore ###
88
+ **/*.log
89
+ **/*.sandbox/*
90
+ **/*.sif
91
+ **/build-temp-*
92
+
93
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/Django.gitignore ###
94
+ ./staticfiles*
95
+ ./static/bootstrap*
96
+
97
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/LargeFiles.gitignore ###
98
+ data/*
99
+
100
+ **/*.csv
101
+ **/*.mat
102
+ **/*.mp4
103
+ **/*.npy
104
+ **/*.pdf
105
+ **/*.pkl
106
+ **/*.png
107
+ **/*.pth
108
+ **/*.pt
109
+ **/*.chk
110
+ **/*.model
111
+ **/*.tiff
112
+ **/*.wav
113
+ **/*.jpg
114
+ **/*.jpeg
115
+ **/*.h5
116
+ **/*.zip
117
+ **/*.tar
118
+ **/*.gz
119
+ **/*.rar
120
+ **/*.7z
121
+ **/*.hdf5
122
+ **/*.npz
123
+ **/*.fits
124
+ **/*.avi
125
+ **/*.mov
126
+ **/*.mkv
127
+ **/*.gif
128
+ **/*.bmp
129
+ **/*.svg
130
+ **/*.psd
131
+ **/*.tif
132
+ **/*.raw
133
+ **/*.nii
134
+ **/*.dicom
135
+ **/*.xls
136
+ **/*.xlsx
137
+ **/*.doc
138
+ **/*.docx
139
+ **/*.ppt
140
+ **/*.pptx
141
+ **/*.txt
142
+ **/*.log
143
+ **/*.db
144
+ **/*.sqlite
145
+ **/*.xml
146
+ **/*.JNB
147
+ **/*.jnb
148
+
149
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Python.gitignore ###
150
+ # Byte-compiled / optimized / DLL files
151
+ __pycache__/
152
+ *.py[cod]
153
+ *$py.class
154
+
155
+ # C extensions
156
+ *.so
157
+
158
+ # Distribution / packaging
159
+ .Python
160
+ build/
161
+ develop-eggs/
162
+ dist/
163
+ downloads/
164
+ eggs/
165
+ .eggs/
166
+ lib/
167
+ lib64/
168
+ parts/
169
+ sdist/
170
+ var/
171
+ wheels/
172
+ share/python-wheels/
173
+ *.egg-info/
174
+ .installed.cfg
175
+ *.egg
176
+ MANIFEST
177
+
178
+ # PyInstaller
179
+ # Usually these files are written by a python script from a template
180
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
181
+ *.manifest
182
+ *.spec
183
+
184
+ # Installer logs
185
+ pip-log.txt
186
+ pip-delete-this-directory.txt
187
+
188
+ # Unit test / coverage reports
189
+ htmlcov/
190
+ .tox/
191
+ .nox/
192
+ .coverage
193
+ .coverage.*
194
+ .cache
195
+ nosetests.xml
196
+ coverage.xml
197
+ *.cover
198
+ *.py,cover
199
+ .hypothesis/
200
+ .pytest_cache/
201
+ cover/
202
+
203
+ # Translations
204
+ *.mo
205
+ *.pot
206
+
207
+ # Django stuff:
208
+ *.log
209
+ local_settings.py
210
+ db.sqlite3
211
+ db.sqlite3-journal
212
+
213
+ # Flask stuff:
214
+ instance/
215
+ .webassets-cache
216
+
217
+ # Scrapy stuff:
218
+ .scrapy
219
+
220
+ # Sphinx documentation
221
+ docs/_build/
222
+
223
+ # PyBuilder
224
+ .pybuilder/
225
+ target/
226
+
227
+ # Jupyter Notebook
228
+ .ipynb_checkpoints
229
+
230
+ # IPython
231
+ profile_default/
232
+ ipython_config.py
233
+
234
+ # pyenv
235
+ # For a library or package, you might want to ignore these files since the code is
236
+ # intended to run in multiple environments; otherwise, check them in:
237
+ # .python-version
238
+
239
+ # pipenv
240
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
241
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
242
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
243
+ # install all needed dependencies.
244
+ #Pipfile.lock
245
+
246
+ # poetry
247
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
248
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
249
+ # commonly ignored for libraries.
250
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
251
+ #poetry.lock
252
+
253
+ # pdm
254
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
255
+ #pdm.lock
256
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
257
+ # in version control.
258
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
259
+ .pdm.toml
260
+ .pdm-python
261
+ .pdm-build/
262
+
263
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
264
+ __pypackages__/
265
+
266
+ # Celery stuff
267
+ celerybeat-schedule
268
+ celerybeat.pid
269
+
270
+ # SageMath parsed files
271
+ *.sage.py
272
+
273
+ # Environments
274
+ .env
275
+ .venv
276
+ env/
277
+ venv/
278
+ ENV/
279
+ env.bak/
280
+ venv.bak/
281
+
282
+ # Spyder project settings
283
+ .spyderproject
284
+ .spyproject
285
+
286
+ # Rope project settings
287
+ .ropeproject
288
+
289
+ # mkdocs documentation
290
+ /site
291
+
292
+ # mypy
293
+ .mypy_cache/
294
+ .dmypy.json
295
+ dmypy.json
296
+
297
+ # Pyre type checker
298
+ .pyre/
299
+
300
+ # pytype static type analyzer
301
+ .pytype/
302
+
303
+ # Cython debug symbols
304
+ cython_debug/
305
+
306
+ # PyCharm
307
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
308
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
309
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
310
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
311
+ #.idea/
312
+
313
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Django.gitignore ###
314
+
315
+
316
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/TeX.gitignore ###
317
+ ## Core latex/pdflatex auxiliary files:
318
+ *.aux
319
+ *.lof
320
+ *.log
321
+ *.lot
322
+ *.fls
323
+ *.out
324
+ *.toc
325
+ *.fmt
326
+ *.fot
327
+ *.cb
328
+ *.cb2
329
+ .*.lb
330
+
331
+ ## Intermediate documents:
332
+ *.dvi
333
+ *.xdv
334
+ *-converted-to.*
335
+ # these rules might exclude image files for figures etc.
336
+ # *.ps
337
+ # *.eps
338
+ # *.pdf
339
+
340
+ ## Generated if empty string is given at "Please type another file name for output:"
341
+ .pdf
342
+
343
+ ## Bibliography auxiliary files (bibtex/biblatex/biber):
344
+ *.bbl
345
+ *.bcf
346
+ *.blg
347
+ *-blx.aux
348
+ *-blx.bib
349
+ *.run.xml
350
+
351
+ ## Build tool auxiliary files:
352
+ *.fdb_latexmk
353
+ *.synctex
354
+ *.synctex(busy)
355
+ *.synctex.gz
356
+ *.synctex.gz(busy)
357
+ *.pdfsync
358
+ *.rubbercache
359
+ rubber.cache
360
+
361
+ ## Build tool directories for auxiliary files
362
+ # latexrun
363
+ latex.out/
364
+
365
+ ## Auxiliary and intermediate files from other packages:
366
+ # algorithms
367
+ *.alg
368
+ *.loa
369
+
370
+ # achemso
371
+ acs-*.bib
372
+
373
+ # amsthm
374
+ *.thm
375
+
376
+ # beamer
377
+ *.nav
378
+ *.pre
379
+ *.snm
380
+ *.vrb
381
+
382
+ # changes
383
+ *.soc
384
+
385
+ # comment
386
+ *.cut
387
+
388
+ # cprotect
389
+ *.cpt
390
+
391
+ # elsarticle (documentclass of Elsevier journals)
392
+ *.spl
393
+
394
+ # endnotes
395
+ *.ent
396
+
397
+ # fixme
398
+ *.lox
399
+
400
+ # feynmf/feynmp
401
+ *.mf
402
+ *.mp
403
+ *.t[1-9]
404
+ *.t[1-9][0-9]
405
+ *.tfm
406
+
407
+ #(r)(e)ledmac/(r)(e)ledpar
408
+ *.end
409
+ *.?end
410
+ *.[1-9]
411
+ *.[1-9][0-9]
412
+ *.[1-9][0-9][0-9]
413
+ *.[1-9]R
414
+ *.[1-9][0-9]R
415
+ *.[1-9][0-9][0-9]R
416
+ *.eledsec[1-9]
417
+ *.eledsec[1-9]R
418
+ *.eledsec[1-9][0-9]
419
+ *.eledsec[1-9][0-9]R
420
+ *.eledsec[1-9][0-9][0-9]
421
+ *.eledsec[1-9][0-9][0-9]R
422
+
423
+ # glossaries
424
+ *.acn
425
+ *.acr
426
+ *.glg
427
+ *.glo
428
+ *.gls
429
+ *.glsdefs
430
+ *.lzo
431
+ *.lzs
432
+ *.slg
433
+ *.slo
434
+ *.sls
435
+
436
+ # uncomment this for glossaries-extra (will ignore makeindex's style files!)
437
+ # *.ist
438
+
439
+ # gnuplot
440
+ *.gnuplot
441
+ *.table
442
+
443
+ # gnuplottex
444
+ *-gnuplottex-*
445
+
446
+ # gregoriotex
447
+ *.gaux
448
+ *.glog
449
+ *.gtex
450
+
451
+ # htlatex
452
+ *.4ct
453
+ *.4tc
454
+ *.idv
455
+ *.lg
456
+ *.trc
457
+ *.xref
458
+
459
+ # hypdoc
460
+ *.hd
461
+
462
+ # hyperref
463
+ *.brf
464
+
465
+ # knitr
466
+ *-concordance.tex
467
+ # TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
468
+ # *.tikz
469
+ *-tikzDictionary
470
+
471
+ # listings
472
+ *.lol
473
+
474
+ # luatexja-ruby
475
+ *.ltjruby
476
+
477
+ # makeidx
478
+ *.idx
479
+ *.ilg
480
+ *.ind
481
+
482
+ # minitoc
483
+ *.maf
484
+ *.mlf
485
+ *.mlt
486
+ *.mtc[0-9]*
487
+ *.slf[0-9]*
488
+ *.slt[0-9]*
489
+ *.stc[0-9]*
490
+
491
+ # minted
492
+ _minted*
493
+ *.pyg
494
+
495
+ # morewrites
496
+ *.mw
497
+
498
+ # newpax
499
+ *.newpax
500
+
501
+ # nomencl
502
+ *.nlg
503
+ *.nlo
504
+ *.nls
505
+
506
+ # pax
507
+ *.pax
508
+
509
+ # pdfpcnotes
510
+ *.pdfpc
511
+
512
+ # sagetex
513
+ *.sagetex.sage
514
+ *.sagetex.py
515
+ *.sagetex.scmd
516
+
517
+ # scrwfile
518
+ *.wrt
519
+
520
+ # svg
521
+ svg-inkscape/
522
+
523
+ # sympy
524
+ *.sout
525
+ *.sympy
526
+ sympy-plots-for-*.tex/
527
+
528
+ # pdfcomment
529
+ *.upa
530
+ *.upb
531
+
532
+ # pythontex
533
+ *.pytxcode
534
+ pythontex-files-*/
535
+
536
+ # tcolorbox
537
+ *.listing
538
+
539
+ # thmtools
540
+ *.loe
541
+
542
+ # TikZ & PGF
543
+ *.dpth
544
+ *.md5
545
+ *.auxlock
546
+
547
+ # titletoc
548
+ *.ptc
549
+
550
+ # todonotes
551
+ *.tdo
552
+
553
+ # vhistory
554
+ *.hst
555
+ *.ver
556
+
557
+ # easy-todo
558
+ *.lod
559
+
560
+ # xcolor
561
+ *.xcp
562
+
563
+ # xmpincl
564
+ *.xmpi
565
+
566
+ # xindy
567
+ *.xdy
568
+
569
+ # xypic precompiled matrices and outlines
570
+ *.xyc
571
+ *.xyd
572
+
573
+ # endfloat
574
+ *.ttt
575
+ *.fff
576
+
577
+ # Latexian
578
+ TSWLatexianTemp*
579
+
580
+ ## Editors:
581
+ # WinEdt
582
+ *.bak
583
+ *.sav
584
+
585
+ # Texpad
586
+ .texpadtmp
587
+
588
+ # LyX
589
+ *.lyx~
590
+
591
+ # Kile
592
+ *.backup
593
+
594
+ # gummi
595
+ .*.swp
596
+
597
+ # KBibTeX
598
+ *~[0-9]*
599
+
600
+ # TeXnicCenter
601
+ *.tps
602
+
603
+ # auto folder when using emacs and auctex
604
+ ./auto/*
605
+ *.el
606
+
607
+ # expex forward references with \gathertags
608
+ *-tags.tex
609
+
610
+ # standalone packages
611
+ *.sta
612
+
613
+ # Makeindex log files
614
+ *.lpz
615
+
616
+ # xwatermark package
617
+ *.xwm
618
+
619
+ # REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
620
+ # option is specified. Footnotes are the stored in a file with suffix Notes.bib.
621
+ # Uncomment the next line to have this generated file ignored.
622
+ #*Notes.bib
623
+
624
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Global/Emacs.gitignore ###
625
+ # -*- mode: gitignore; -*-
626
+ *~
627
+ \#*\#
628
+ /.emacs.desktop
629
+ /.emacs.desktop.lock
630
+ *.elc
631
+ auto-save-list
632
+ tramp
633
+ .\#*
634
+
635
+ # Org-mode
636
+ .org-id-locations
637
+ *_archive
638
+
639
+ # flymake-mode
640
+ *_flymake.*
641
+
642
+ # eshell files
643
+ /eshell/history
644
+ /eshell/lastdir
645
+
646
+ # elpa packages
647
+ /elpa/
648
+
649
+ # reftex files
650
+ *.rel
651
+
652
+ # AUCTeX auto folder
653
+ /auto/
654
+
655
+ # cask packages
656
+ .cask/
657
+ dist/
658
+
659
+ # Flycheck
660
+ flycheck_*.el
661
+
662
+ # server auth directory
663
+ /server/
664
+
665
+ # projectiles files
666
+ .projectile
667
+
668
+ # directory configuration
669
+ .dir-locals.el
670
+
671
+ # network security
672
+ /network-security.data
673
+
674
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/SQL.gitignore ###
675
+ **/*.db
676
+ **/*.sqlite3
677
+ *.db-shm
678
+ *.db-wal
679
+
680
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/GitKeep.gitignore ###
681
+ !.gitkeep
682
+ !**/.gitkeep
683
+
684
+ ### Source: /home/ywatanabe/.git-templates/.gitignore-templates/Custom/SLURM.gitignore ###
685
+ slurm_logs
686
+ /.coverage
687
+ /dataset