md2reflect 3.1.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.
- md2reflect-3.1.1/.gitignore +74 -0
- md2reflect-3.1.1/.pre-commit-config.yaml +39 -0
- md2reflect-3.1.1/AUTHORS.md +7 -0
- md2reflect-3.1.1/CHANGELOG.md +1673 -0
- md2reflect-3.1.1/CITATION.cff +129 -0
- md2reflect-3.1.1/CODE_OF_CONDUCT.md +89 -0
- md2reflect-3.1.1/CONTRIBUTING.md +160 -0
- md2reflect-3.1.1/GOVERNANCE.md +133 -0
- md2reflect-3.1.1/LICENSE.txt +674 -0
- md2reflect-3.1.1/LICENSES/GPL-3.0-or-later.txt +232 -0
- md2reflect-3.1.1/PKG-INFO +299 -0
- md2reflect-3.1.1/README.md +243 -0
- md2reflect-3.1.1/RELEASING.md +411 -0
- md2reflect-3.1.1/REUSE.toml +14 -0
- md2reflect-3.1.1/SECURITY.md +121 -0
- md2reflect-3.1.1/benchmarks/BA_reflecto.py +172 -0
- md2reflect-3.1.1/benchmarks/abeles_numpy_vs_jax.md +59 -0
- md2reflect-3.1.1/benchmarks/bench_abeles.py +200 -0
- md2reflect-3.1.1/benchmarks/bench_abeles_numpy_vs_jax.py +140 -0
- md2reflect-3.1.1/codemeta.json +118 -0
- md2reflect-3.1.1/docs/.gitignore +1 -0
- md2reflect-3.1.1/docs/Makefile +12 -0
- md2reflect-3.1.1/docs/api/abeles_minimal.md +8 -0
- md2reflect-3.1.1/docs/api/api_overview.md +18 -0
- md2reflect-3.1.1/docs/api/core.md +22 -0
- md2reflect-3.1.1/docs/api/erf_profile.md +14 -0
- md2reflect-3.1.1/docs/api/exceptions.md +39 -0
- md2reflect-3.1.1/docs/api/export.md +14 -0
- md2reflect-3.1.1/docs/api/index.md +20 -0
- md2reflect-3.1.1/docs/api/md_reader.md +9 -0
- md2reflect-3.1.1/docs/api/reflectometer.md +18 -0
- md2reflect-3.1.1/docs/api/region.md +66 -0
- md2reflect-3.1.1/docs/api/sample.md +41 -0
- md2reflect-3.1.1/docs/api/state_management.md +26 -0
- md2reflect-3.1.1/docs/api/stepify.md +8 -0
- md2reflect-3.1.1/docs/api/typing_defs.md +8 -0
- md2reflect-3.1.1/docs/api/visualization.md +9 -0
- md2reflect-3.1.1/docs/changelog.md +13 -0
- md2reflect-3.1.1/docs/concepts.md +571 -0
- md2reflect-3.1.1/docs/conf.py +101 -0
- md2reflect-3.1.1/docs/dependencies.md +236 -0
- md2reflect-3.1.1/docs/getting_started.md +177 -0
- md2reflect-3.1.1/docs/index.md +61 -0
- md2reflect-3.1.1/docs/release_notes/2.0.0.md +112 -0
- md2reflect-3.1.1/docs/release_notes/2.2.0.md +95 -0
- md2reflect-3.1.1/docs/release_notes/3.0.0.md +193 -0
- md2reflect-3.1.1/docs/release_notes/3.1.0.md +127 -0
- md2reflect-3.1.1/docs/release_notes/index.md +18 -0
- md2reflect-3.1.1/docs/repository_structure.md +200 -0
- md2reflect-3.1.1/docs/scientific_context.md +292 -0
- md2reflect-3.1.1/docs/standards.md +135 -0
- md2reflect-3.1.1/docs/tutorial.md +39 -0
- md2reflect-3.1.1/examples/Using_Made2Reflect_classes.py +277 -0
- md2reflect-3.1.1/examples/Workflow_00.ipynb +298 -0
- md2reflect-3.1.1/examples/data/NR_DMPC_Crisp_ISIS/DMPC_D2O_c_PLP0016596.dat +137 -0
- md2reflect-3.1.1/examples/data/NR_DMPC_Crisp_ISIS/DMPC_H2O_c_PLP0016607.dat +104 -0
- md2reflect-3.1.1/examples/data/NR_DMPC_Crisp_ISIS/DMPC_SiCM_c_PLP0016601.dat +97 -0
- md2reflect-3.1.1/examples/data/NR_DMPC_Crisp_ISIS/DMPC_crisp.md +2 -0
- md2reflect-3.1.1/examples/data/small_datasets/traj3_3mols_1frame.pdb +83 -0
- md2reflect-3.1.1/examples/data/small_datasets/traj3_3mols_4frames.pdb +329 -0
- md2reflect-3.1.1/examples/data/small_datasets/traj3_5mols_4frames.pdb +345 -0
- md2reflect-3.1.1/examples/demo_MD2Reflect.ipynb +655 -0
- md2reflect-3.1.1/examples/demo_ReferenceCurves.ipynb +194 -0
- md2reflect-3.1.1/examples/demo_SampleWidget_b.ipynb +297 -0
- md2reflect-3.1.1/examples/demo_abeles.py +70 -0
- md2reflect-3.1.1/examples/demo_interactive_sample_marimo.py +355 -0
- md2reflect-3.1.1/examples/demo_interface_shapes.py +283 -0
- md2reflect-3.1.1/examples/demo_jupyter_SampleWidget.ipynb +98 -0
- md2reflect-3.1.1/examples/demo_partial_deuteration.py +234 -0
- md2reflect-3.1.1/examples/demo_simulated_region_marimo.py +119 -0
- md2reflect-3.1.1/examples/demo_stepify_rough.py +347 -0
- md2reflect-3.1.1/examples/fitting_sld_profile_shape_SimulatedRegion.ipynb +280 -0
- md2reflect-3.1.1/examples/layouts/sample_marimo.grid.json +38 -0
- md2reflect-3.1.1/examples/layouts/sample_marimo.slides.json +17 -0
- md2reflect-3.1.1/examples/md2reflect_app_marimo.py +356 -0
- md2reflect-3.1.1/examples/render_notebooks.sh +48 -0
- md2reflect-3.1.1/examples/sample_marimo.py +246 -0
- md2reflect-3.1.1/lint.sh +77 -0
- md2reflect-3.1.1/pyproject.toml +242 -0
- md2reflect-3.1.1/repo_structure.toml +262 -0
- md2reflect-3.1.1/requirements-lock.txt +144 -0
- md2reflect-3.1.1/scripts/check_doc_deps.py +353 -0
- md2reflect-3.1.1/scripts/check_repo_structure.py +235 -0
- md2reflect-3.1.1/scripts/gen_codemeta.py +400 -0
- md2reflect-3.1.1/scripts/jj-precommit.sh +79 -0
- md2reflect-3.1.1/src/md2reflect/__about__.py +4 -0
- md2reflect-3.1.1/src/md2reflect/__init__.py +310 -0
- md2reflect-3.1.1/src/md2reflect/abeles_minimal.py +534 -0
- md2reflect-3.1.1/src/md2reflect/abeles_minimal_numpyro.py +1092 -0
- md2reflect-3.1.1/src/md2reflect/api_overview.py +483 -0
- md2reflect-3.1.1/src/md2reflect/backends.py +89 -0
- md2reflect-3.1.1/src/md2reflect/bornagain_export.py +209 -0
- md2reflect-3.1.1/src/md2reflect/convolution.py +77 -0
- md2reflect-3.1.1/src/md2reflect/core.py +43 -0
- md2reflect-3.1.1/src/md2reflect/erf_profile.py +1004 -0
- md2reflect-3.1.1/src/md2reflect/exceptions.py +57 -0
- md2reflect-3.1.1/src/md2reflect/export.py +346 -0
- md2reflect-3.1.1/src/md2reflect/jupyter_widgets/__init__.py +23 -0
- md2reflect-3.1.1/src/md2reflect/jupyter_widgets/widgets.py +1690 -0
- md2reflect-3.1.1/src/md2reflect/marimo_helpers.py +361 -0
- md2reflect-3.1.1/src/md2reflect/materials.py +219 -0
- md2reflect-3.1.1/src/md2reflect/materials.yml +32 -0
- md2reflect-3.1.1/src/md2reflect/md_reader.py +508 -0
- md2reflect-3.1.1/src/md2reflect/num_utils.py +35 -0
- md2reflect-3.1.1/src/md2reflect/py.typed +0 -0
- md2reflect-3.1.1/src/md2reflect/reference_curves.py +235 -0
- md2reflect-3.1.1/src/md2reflect/reflectometer.py +749 -0
- md2reflect-3.1.1/src/md2reflect/region.py +1590 -0
- md2reflect-3.1.1/src/md2reflect/sample.py +2550 -0
- md2reflect-3.1.1/src/md2reflect/state_management.py +326 -0
- md2reflect-3.1.1/src/md2reflect/stepify.py +760 -0
- md2reflect-3.1.1/src/md2reflect/typing_defs.py +79 -0
- md2reflect-3.1.1/src/md2reflect/visualization.py +789 -0
- md2reflect-3.1.1/tests/__init__.py +3 -0
- md2reflect-3.1.1/tests/physics/__init__.py +3 -0
- md2reflect-3.1.1/tests/physics/conftest.py +176 -0
- md2reflect-3.1.1/tests/physics/data/D2O_Si_n.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/D2O_Si_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/H2O_Si_n.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/H2O_Si_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Q_at_critical_edges.dat +9 -0
- md2reflect-3.1.1/tests/physics/data/Si_D2O_1000A_Vac_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Si_D2O_100A_Vac_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Si_D2O_200A_Vac_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Si_D2O_n.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Si_D2O_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Si_H2O_n.dat +500 -0
- md2reflect-3.1.1/tests/physics/data/Si_H2O_x.dat +500 -0
- md2reflect-3.1.1/tests/physics/test_ba_reference.py +216 -0
- md2reflect-3.1.1/tests/physics/test_interface_shapes.py +185 -0
- md2reflect-3.1.1/tests/physics/test_intrinsic_reflectivity.py +265 -0
- md2reflect-3.1.1/tests/physics/test_roughness_methods_consistency.py +164 -0
- md2reflect-3.1.1/tests/physics/test_sharp_interface.py +394 -0
- md2reflect-3.1.1/tests/physics/test_thin_film.py +349 -0
- md2reflect-3.1.1/tests/physics/test_thin_film_roughness.py +360 -0
- md2reflect-3.1.1/tests/test_abeles.py +494 -0
- md2reflect-3.1.1/tests/test_abeles_numpyro_scan.py +223 -0
- md2reflect-3.1.1/tests/test_api_overview.py +215 -0
- md2reflect-3.1.1/tests/test_backends.py +122 -0
- md2reflect-3.1.1/tests/test_bornagain_export.py +192 -0
- md2reflect-3.1.1/tests/test_check_doc_deps.py +171 -0
- md2reflect-3.1.1/tests/test_core.py +1299 -0
- md2reflect-3.1.1/tests/test_dual_sld.py +374 -0
- md2reflect-3.1.1/tests/test_erf_profile.py +163 -0
- md2reflect-3.1.1/tests/test_export.py +494 -0
- md2reflect-3.1.1/tests/test_gen_codemeta.py +151 -0
- md2reflect-3.1.1/tests/test_interface_shape.py +458 -0
- md2reflect-3.1.1/tests/test_interface_shape_jax.py +289 -0
- md2reflect-3.1.1/tests/test_lazy_package_init.py +206 -0
- md2reflect-3.1.1/tests/test_marimo_helpers.py +417 -0
- md2reflect-3.1.1/tests/test_materials.py +613 -0
- md2reflect-3.1.1/tests/test_md_reader.py +265 -0
- md2reflect-3.1.1/tests/test_measurement_purity.py +375 -0
- md2reflect-3.1.1/tests/test_probe_selection.py +215 -0
- md2reflect-3.1.1/tests/test_reflectometer.py +565 -0
- md2reflect-3.1.1/tests/test_region.py +410 -0
- md2reflect-3.1.1/tests/test_roughness_alignment.py +229 -0
- md2reflect-3.1.1/tests/test_sample.py +786 -0
- md2reflect-3.1.1/tests/test_sample_interface_shape.py +309 -0
- md2reflect-3.1.1/tests/test_sample_stepify_rough.py +339 -0
- md2reflect-3.1.1/tests/test_simulated_region.py +993 -0
- md2reflect-3.1.1/tests/test_sld_display_window.py +222 -0
- md2reflect-3.1.1/tests/test_state_management.py +302 -0
- md2reflect-3.1.1/tests/test_stepified_display.py +394 -0
- md2reflect-3.1.1/tests/test_stepify.py +896 -0
- md2reflect-3.1.1/tests/test_stepify_plan_jax.py +460 -0
- md2reflect-3.1.1/tests/test_stepify_rough_interfaces.py +401 -0
- md2reflect-3.1.1/tests/test_thickness_validation.py +211 -0
- md2reflect-3.1.1/tests/test_visualization.py +517 -0
- md2reflect-3.1.1/tests/test_widgets.py +415 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Python bytecode
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# Distribution / packaging
|
|
7
|
+
build/
|
|
8
|
+
dist/
|
|
9
|
+
*.egg-info/
|
|
10
|
+
*.egg
|
|
11
|
+
|
|
12
|
+
# Virtual environments
|
|
13
|
+
venv/
|
|
14
|
+
.venv/
|
|
15
|
+
pyvenv.cfg
|
|
16
|
+
|
|
17
|
+
# pytest
|
|
18
|
+
.pytest_cache/
|
|
19
|
+
|
|
20
|
+
# mypy
|
|
21
|
+
.mypy_cache/
|
|
22
|
+
|
|
23
|
+
# Coverage
|
|
24
|
+
htmlcov/
|
|
25
|
+
.coverage
|
|
26
|
+
.coverage.*
|
|
27
|
+
coverage.xml
|
|
28
|
+
|
|
29
|
+
# IDE
|
|
30
|
+
.idea/
|
|
31
|
+
.vscode/
|
|
32
|
+
*.swp
|
|
33
|
+
*.swo
|
|
34
|
+
.*.sw[a-z]
|
|
35
|
+
*~
|
|
36
|
+
|
|
37
|
+
# OS
|
|
38
|
+
.DS_Store
|
|
39
|
+
Thumbs.db
|
|
40
|
+
|
|
41
|
+
# Jupyter
|
|
42
|
+
.ipynb_checkpoints/
|
|
43
|
+
|
|
44
|
+
# Docs build output
|
|
45
|
+
docs/_build/
|
|
46
|
+
|
|
47
|
+
# Figures / matplotlib output
|
|
48
|
+
*.png
|
|
49
|
+
*.svg
|
|
50
|
+
*.pdf
|
|
51
|
+
*.eps
|
|
52
|
+
|
|
53
|
+
# pre-commit logs
|
|
54
|
+
pre-commit.log
|
|
55
|
+
#
|
|
56
|
+
TODO.md
|
|
57
|
+
|
|
58
|
+
# marimo session cache (auto-generated, not source)
|
|
59
|
+
__marimo__/
|
|
60
|
+
# large datasets (too big to track; ship separately)
|
|
61
|
+
/examples/data/large_datasets/
|
|
62
|
+
# local HTML renders of the notebooks (see examples/render_notebooks.sh)
|
|
63
|
+
/examples/rendered/
|
|
64
|
+
# my own things I do not want tracked
|
|
65
|
+
private/
|
|
66
|
+
# Atomic-write temp files from the Claude settings writer. .claude/ is
|
|
67
|
+
# tracked, so without this a snapshot taken mid-write sweeps one into a
|
|
68
|
+
# commit (it happened once).
|
|
69
|
+
.claude/*.tmp.*
|
|
70
|
+
# CI pip cache. PIP_CACHE_DIR points inside the project directory
|
|
71
|
+
# because GitLab can only cache paths under it, so the cache lands in
|
|
72
|
+
# the workspace and `reuse lint` would otherwise scan the wheels in it
|
|
73
|
+
# and report their licences as the project's own.
|
|
74
|
+
.cache/
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
exclude: ^tmp/
|
|
2
|
+
|
|
3
|
+
repos:
|
|
4
|
+
- repo: https://github.com/ambv/black
|
|
5
|
+
rev: 26.5.1
|
|
6
|
+
hooks:
|
|
7
|
+
- id: black
|
|
8
|
+
|
|
9
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
10
|
+
rev: v1.18.2
|
|
11
|
+
hooks:
|
|
12
|
+
- id: mypy
|
|
13
|
+
language: system
|
|
14
|
+
# Type-gate the shipped library (src/) only -- this mirrors CI
|
|
15
|
+
# (`mypy src/md2reflect`). Tests are covered by pytest and lean on
|
|
16
|
+
# duck-typed stubs; examples (marimo apps / demo scripts) are
|
|
17
|
+
# untyped by nature. Both would only fight strict mypy.
|
|
18
|
+
exclude: ^(tests|examples)/
|
|
19
|
+
|
|
20
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
21
|
+
rev: v0.15.19
|
|
22
|
+
hooks:
|
|
23
|
+
# Replaces flake8 (E/F rules) and isort (I / import sorting);
|
|
24
|
+
# Black still owns formatting.
|
|
25
|
+
- id: ruff
|
|
26
|
+
args: [--fix]
|
|
27
|
+
|
|
28
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
29
|
+
rev: v6.0.0
|
|
30
|
+
hooks:
|
|
31
|
+
- id: end-of-file-fixer
|
|
32
|
+
- id: trailing-whitespace
|
|
33
|
+
|
|
34
|
+
# Strip notebook outputs / execution counts so committed .ipynb files
|
|
35
|
+
# stay small and diffable (prevents the output noise from creeping back).
|
|
36
|
+
- repo: https://github.com/kynan/nbstripout
|
|
37
|
+
rev: 0.8.1
|
|
38
|
+
hooks:
|
|
39
|
+
- id: nbstripout
|