PyMieSimX 0.4.6__tar.gz → 0.4.7__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.
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PKG-INFO +5 -3
- pymiesimx-0.4.7/PyMieSimX/_version.py +4 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX.egg-info/PKG-INFO +5 -3
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX.egg-info/SOURCES.txt +2 -48
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX.egg-info/requires.txt +5 -2
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/pyproject.toml +10 -7
- pymiesimx-0.4.6/.coveragerc +0 -26
- pymiesimx-0.4.6/.flake8 +0 -11
- pymiesimx-0.4.6/.github/dependabot.yml +0 -10
- pymiesimx-0.4.6/.github/workflows/deploy_coverage.yml +0 -49
- pymiesimx-0.4.6/.github/workflows/deploy_documentation.yml +0 -20
- pymiesimx-0.4.6/.github/workflows/deploy_release.yml +0 -34
- pymiesimx-0.4.6/.github/workflows/quality.yml +0 -47
- pymiesimx-0.4.6/.github/workflows/tests.yml +0 -27
- pymiesimx-0.4.6/.gitignore +0 -21
- pymiesimx-0.4.6/.pre-commit-config.yaml +0 -23
- pymiesimx-0.4.6/AGENTS.md +0 -81
- pymiesimx-0.4.6/CONTRIBUTING.md +0 -7
- pymiesimx-0.4.6/Dockerfile +0 -13
- pymiesimx-0.4.6/PyMieSimX.egg-info/scm_file_list.json +0 -111
- pymiesimx-0.4.6/PyMieSimX.egg-info/scm_version.json +0 -8
- pymiesimx-0.4.6/conda.recipe/meta.yaml +0 -63
- pymiesimx-0.4.6/docs/redirect.html +0 -13
- pymiesimx-0.4.6/docs/source/_static/favicon.svg +0 -6
- pymiesimx-0.4.6/docs/source/_static/logo.svg +0 -39
- pymiesimx-0.4.6/docs/source/api.rst +0 -25
- pymiesimx-0.4.6/docs/source/conf.py +0 -49
- pymiesimx-0.4.6/docs/source/contributing.rst +0 -16
- pymiesimx-0.4.6/docs/source/getting_started.rst +0 -60
- pymiesimx-0.4.6/docs/source/gui.rst +0 -18
- pymiesimx-0.4.6/docs/source/how_it_works.rst +0 -36
- pymiesimx-0.4.6/docs/source/index.rst +0 -35
- pymiesimx-0.4.6/docs/source/project.rst +0 -9
- pymiesimx-0.4.6/docs/source/reference.rst +0 -10
- pymiesimx-0.4.6/docs/source/sharing.rst +0 -12
- pymiesimx-0.4.6/makefile +0 -47
- pymiesimx-0.4.6/pytest.ini +0 -19
- pymiesimx-0.4.6/tests/browser/test_dashboard.py +0 -711
- pymiesimx-0.4.6/tests/gui/cli.py +0 -57
- pymiesimx-0.4.6/tests/gui/test_admin.py +0 -77
- pymiesimx-0.4.6/tests/gui/test_api.py +0 -59
- pymiesimx-0.4.6/tests/gui/test_dash_callbacks.py +0 -343
- pymiesimx-0.4.6/tests/gui/test_examples.py +0 -78
- pymiesimx-0.4.6/tests/gui/test_home.py +0 -41
- pymiesimx-0.4.6/tests/gui/test_population.py +0 -226
- pymiesimx-0.4.6/tests/gui/test_seo.py +0 -67
- pymiesimx-0.4.6/tests/gui/test_services.py +0 -360
- pymiesimx-0.4.6/tests/gui/test_sharing.py +0 -165
- pymiesimx-0.4.6/tests/gui/test_usage_metrics.py +0 -31
- pymiesimx-0.4.6/tools/generate_home_spf.py +0 -100
- pymiesimx-0.4.6/tools/next_release_version.py +0 -24
- pymiesimx-0.4.6/tools/release_tag.py +0 -27
- pymiesimx-0.4.6/tools/verify_conda_artifact.py +0 -28
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/LICENSE +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/__main__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/api.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/application/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/application/wsgi.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/admin.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/card-state.js +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/dashboard.css +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/default-settings.json +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/home-spf-radial.gif +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/home-spf-radial.png +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/logo.png +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/materials-stock.json +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/pymiesim-favicon.svg +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/pymiesim-logo-dark.svg +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/pymiesim-logo.svg +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/assets/simulation-sharing.js +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/callback_helpers.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/callbacks.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/components/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/components/cards.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/computation.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/defaults.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/experiment_service.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/interface.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/jobs.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/layout.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/material_catalog.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/models.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/citation.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/documentation.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/examples.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/experiment/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/experiment/page.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/experiment/sections/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/experiment/sections/configuration.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/field_syntax.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/home.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/install_local.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/population.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/sellmeier.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/settings.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/single/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/single/page.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/single/sections/__init__.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/single/sections/representations.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/pages/single/sections/setup.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/parsing.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/plotting.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/population_service.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/schemas.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/seo.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/services.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/sharing.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/single_service.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/usage_metrics.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX/gui/validation.py +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX.egg-info/dependency_links.txt +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX.egg-info/entry_points.txt +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/PyMieSimX.egg-info/top_level.txt +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/README.rst +0 -0
- {pymiesimx-0.4.6 → pymiesimx-0.4.7}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyMieSimX
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.7
|
|
4
4
|
Summary: Graphical Dash interface for PyMieSim.
|
|
5
5
|
Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -21,6 +21,8 @@ Requires-Dist: pandas<3,>=2.2
|
|
|
21
21
|
Requires-Dist: pint<0.26,>=0.24
|
|
22
22
|
Requires-Dist: plotly<7,>=5.24
|
|
23
23
|
Requires-Dist: psycopg[binary]<4,>=3.2.9
|
|
24
|
+
Provides-Extra: release
|
|
25
|
+
Requires-Dist: martinpdes-maintenance==0.2.2; extra == "release"
|
|
24
26
|
Provides-Extra: testing
|
|
25
27
|
Requires-Dist: pytest>=8.0; extra == "testing"
|
|
26
28
|
Requires-Dist: pytest-cov>=5.0; extra == "testing"
|
|
@@ -32,9 +34,9 @@ Requires-Dist: build>=1.2; extra == "dev"
|
|
|
32
34
|
Requires-Dist: mypy==1.15.0; extra == "dev"
|
|
33
35
|
Requires-Dist: ruff==0.11.2; extra == "dev"
|
|
34
36
|
Provides-Extra: docs
|
|
35
|
-
Requires-Dist: MartinPdeS-docs<0.
|
|
37
|
+
Requires-Dist: MartinPdeS-docs<0.5,>=0.4.0; extra == "docs"
|
|
36
38
|
Provides-Extra: documentation
|
|
37
|
-
Requires-Dist: MartinPdeS-docs<0.
|
|
39
|
+
Requires-Dist: MartinPdeS-docs<0.5,>=0.4.0; extra == "documentation"
|
|
38
40
|
Dynamic: license-file
|
|
39
41
|
|
|
40
42
|
PyMieSimX
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyMieSimX
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.7
|
|
4
4
|
Summary: Graphical Dash interface for PyMieSim.
|
|
5
5
|
Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -21,6 +21,8 @@ Requires-Dist: pandas<3,>=2.2
|
|
|
21
21
|
Requires-Dist: pint<0.26,>=0.24
|
|
22
22
|
Requires-Dist: plotly<7,>=5.24
|
|
23
23
|
Requires-Dist: psycopg[binary]<4,>=3.2.9
|
|
24
|
+
Provides-Extra: release
|
|
25
|
+
Requires-Dist: martinpdes-maintenance==0.2.2; extra == "release"
|
|
24
26
|
Provides-Extra: testing
|
|
25
27
|
Requires-Dist: pytest>=8.0; extra == "testing"
|
|
26
28
|
Requires-Dist: pytest-cov>=5.0; extra == "testing"
|
|
@@ -32,9 +34,9 @@ Requires-Dist: build>=1.2; extra == "dev"
|
|
|
32
34
|
Requires-Dist: mypy==1.15.0; extra == "dev"
|
|
33
35
|
Requires-Dist: ruff==0.11.2; extra == "dev"
|
|
34
36
|
Provides-Extra: docs
|
|
35
|
-
Requires-Dist: MartinPdeS-docs<0.
|
|
37
|
+
Requires-Dist: MartinPdeS-docs<0.5,>=0.4.0; extra == "docs"
|
|
36
38
|
Provides-Extra: documentation
|
|
37
|
-
Requires-Dist: MartinPdeS-docs<0.
|
|
39
|
+
Requires-Dist: MartinPdeS-docs<0.5,>=0.4.0; extra == "documentation"
|
|
38
40
|
Dynamic: license-file
|
|
39
41
|
|
|
40
42
|
PyMieSimX
|
|
@@ -1,31 +1,15 @@
|
|
|
1
|
-
.coveragerc
|
|
2
|
-
.flake8
|
|
3
|
-
.gitignore
|
|
4
|
-
.pre-commit-config.yaml
|
|
5
|
-
AGENTS.md
|
|
6
|
-
CONTRIBUTING.md
|
|
7
|
-
Dockerfile
|
|
8
1
|
LICENSE
|
|
9
2
|
README.rst
|
|
10
|
-
makefile
|
|
11
3
|
pyproject.toml
|
|
12
|
-
pytest.ini
|
|
13
|
-
.github/dependabot.yml
|
|
14
|
-
.github/workflows/deploy_coverage.yml
|
|
15
|
-
.github/workflows/deploy_documentation.yml
|
|
16
|
-
.github/workflows/deploy_release.yml
|
|
17
|
-
.github/workflows/quality.yml
|
|
18
|
-
.github/workflows/tests.yml
|
|
19
4
|
PyMieSimX/__init__.py
|
|
20
5
|
PyMieSimX/__main__.py
|
|
6
|
+
PyMieSimX/_version.py
|
|
21
7
|
PyMieSimX/api.py
|
|
22
8
|
PyMieSimX.egg-info/PKG-INFO
|
|
23
9
|
PyMieSimX.egg-info/SOURCES.txt
|
|
24
10
|
PyMieSimX.egg-info/dependency_links.txt
|
|
25
11
|
PyMieSimX.egg-info/entry_points.txt
|
|
26
12
|
PyMieSimX.egg-info/requires.txt
|
|
27
|
-
PyMieSimX.egg-info/scm_file_list.json
|
|
28
|
-
PyMieSimX.egg-info/scm_version.json
|
|
29
13
|
PyMieSimX.egg-info/top_level.txt
|
|
30
14
|
PyMieSimX/application/__init__.py
|
|
31
15
|
PyMieSimX/application/wsgi.py
|
|
@@ -82,34 +66,4 @@ PyMieSimX/gui/pages/single/__init__.py
|
|
|
82
66
|
PyMieSimX/gui/pages/single/page.py
|
|
83
67
|
PyMieSimX/gui/pages/single/sections/__init__.py
|
|
84
68
|
PyMieSimX/gui/pages/single/sections/representations.py
|
|
85
|
-
PyMieSimX/gui/pages/single/sections/setup.py
|
|
86
|
-
conda.recipe/meta.yaml
|
|
87
|
-
docs/redirect.html
|
|
88
|
-
docs/source/api.rst
|
|
89
|
-
docs/source/conf.py
|
|
90
|
-
docs/source/contributing.rst
|
|
91
|
-
docs/source/getting_started.rst
|
|
92
|
-
docs/source/gui.rst
|
|
93
|
-
docs/source/how_it_works.rst
|
|
94
|
-
docs/source/index.rst
|
|
95
|
-
docs/source/project.rst
|
|
96
|
-
docs/source/reference.rst
|
|
97
|
-
docs/source/sharing.rst
|
|
98
|
-
docs/source/_static/favicon.svg
|
|
99
|
-
docs/source/_static/logo.svg
|
|
100
|
-
tests/browser/test_dashboard.py
|
|
101
|
-
tests/gui/cli.py
|
|
102
|
-
tests/gui/test_admin.py
|
|
103
|
-
tests/gui/test_api.py
|
|
104
|
-
tests/gui/test_dash_callbacks.py
|
|
105
|
-
tests/gui/test_examples.py
|
|
106
|
-
tests/gui/test_home.py
|
|
107
|
-
tests/gui/test_population.py
|
|
108
|
-
tests/gui/test_seo.py
|
|
109
|
-
tests/gui/test_services.py
|
|
110
|
-
tests/gui/test_sharing.py
|
|
111
|
-
tests/gui/test_usage_metrics.py
|
|
112
|
-
tools/generate_home_spf.py
|
|
113
|
-
tools/next_release_version.py
|
|
114
|
-
tools/release_tag.py
|
|
115
|
-
tools/verify_conda_artifact.py
|
|
69
|
+
PyMieSimX/gui/pages/single/sections/setup.py
|
|
@@ -17,10 +17,13 @@ mypy==1.15.0
|
|
|
17
17
|
ruff==0.11.2
|
|
18
18
|
|
|
19
19
|
[docs]
|
|
20
|
-
MartinPdeS-docs<0.
|
|
20
|
+
MartinPdeS-docs<0.5,>=0.4.0
|
|
21
21
|
|
|
22
22
|
[documentation]
|
|
23
|
-
MartinPdeS-docs<0.
|
|
23
|
+
MartinPdeS-docs<0.5,>=0.4.0
|
|
24
|
+
|
|
25
|
+
[release]
|
|
26
|
+
martinpdes-maintenance==0.2.2
|
|
24
27
|
|
|
25
28
|
[testing]
|
|
26
29
|
pytest>=8.0
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["setuptools>=68"
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
3
|
build-backend = "setuptools.build_meta"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PyMieSimX"
|
|
7
|
-
|
|
7
|
+
version = "0.4.7"
|
|
8
8
|
description = "Graphical Dash interface for PyMieSim."
|
|
9
9
|
license = "MIT"
|
|
10
10
|
license-files = ["LICENSE"]
|
|
@@ -39,6 +39,7 @@ Repository = "https://github.com/MartinPdeS/PyMieSimX"
|
|
|
39
39
|
pymiesimx = "PyMieSimX.__main__:main"
|
|
40
40
|
|
|
41
41
|
[project.optional-dependencies]
|
|
42
|
+
release = ["martinpdes-maintenance==0.2.2"]
|
|
42
43
|
testing = [
|
|
43
44
|
"pytest>=8.0",
|
|
44
45
|
"pytest-cov>=5.0",
|
|
@@ -53,18 +54,15 @@ dev = [
|
|
|
53
54
|
"ruff==0.11.2",
|
|
54
55
|
]
|
|
55
56
|
docs = [
|
|
56
|
-
"MartinPdeS-docs>=0.
|
|
57
|
+
"MartinPdeS-docs>=0.4.0,<0.5",
|
|
57
58
|
]
|
|
58
59
|
documentation = [
|
|
59
|
-
"MartinPdeS-docs>=0.
|
|
60
|
+
"MartinPdeS-docs>=0.4.0,<0.5",
|
|
60
61
|
]
|
|
61
62
|
|
|
62
63
|
[tool.setuptools.packages.find]
|
|
63
64
|
include = ["PyMieSimX*"]
|
|
64
65
|
|
|
65
|
-
[tool.setuptools_scm]
|
|
66
|
-
fallback_version = "0+unknown"
|
|
67
|
-
|
|
68
66
|
[tool.setuptools.package-data]
|
|
69
67
|
"PyMieSimX.gui" = ["assets/*"]
|
|
70
68
|
|
|
@@ -77,3 +75,8 @@ warn_return_any = true
|
|
|
77
75
|
warn_unused_ignores = true
|
|
78
76
|
no_implicit_optional = true
|
|
79
77
|
exclude = "(^development/|^docs/)"
|
|
78
|
+
|
|
79
|
+
[tool.mps-maintenance]
|
|
80
|
+
version-file = "PyMieSimX/_version.py"
|
|
81
|
+
version-method = "literal"
|
|
82
|
+
conda-recipe = "conda.recipe/meta.yaml"
|
pymiesimx-0.4.6/.coveragerc
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
[run]
|
|
2
|
-
source = PyMieSimX
|
|
3
|
-
branch = True
|
|
4
|
-
relative_files = True
|
|
5
|
-
parallel = True
|
|
6
|
-
omit =
|
|
7
|
-
**/__init__.py
|
|
8
|
-
PyMieSimX/**/__main__.py
|
|
9
|
-
|
|
10
|
-
[report]
|
|
11
|
-
fail_under = 52
|
|
12
|
-
skip_covered = True
|
|
13
|
-
show_missing = True
|
|
14
|
-
precision = 2
|
|
15
|
-
|
|
16
|
-
[html]
|
|
17
|
-
directory = htmlcov
|
|
18
|
-
|
|
19
|
-
[xml]
|
|
20
|
-
output = coverage.xml
|
|
21
|
-
|
|
22
|
-
[paths]
|
|
23
|
-
source =
|
|
24
|
-
PyMieSimX
|
|
25
|
-
/home/runner/work/PyMieSimX/PyMieSimX/PyMieSimX
|
|
26
|
-
/github/workspace/PyMieSimX
|
pymiesimx-0.4.6/.flake8
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
name: Deploy GUI coverage
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: ["master"]
|
|
6
|
-
tags: ["*"]
|
|
7
|
-
pull_request:
|
|
8
|
-
branches: ["master"]
|
|
9
|
-
|
|
10
|
-
permissions:
|
|
11
|
-
contents: write
|
|
12
|
-
pull-requests: write
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
coverage:
|
|
16
|
-
name: Run GUI tests and publish coverage
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
steps:
|
|
19
|
-
- name: Set up Python and CI dependencies
|
|
20
|
-
uses: MartinPdeS/MPSActions/actions/setup-python@v2
|
|
21
|
-
with:
|
|
22
|
-
python-version: "3.11"
|
|
23
|
-
install-command: >-
|
|
24
|
-
python -m pip install --upgrade pip wheel build && python -m pip install -e ".[testing]"
|
|
25
|
-
fetch-depth: 0
|
|
26
|
-
|
|
27
|
-
- name: Initialize material catalog
|
|
28
|
-
run: python -m PyOptik setup --no-progress
|
|
29
|
-
|
|
30
|
-
- name: Run GUI tests with coverage
|
|
31
|
-
run: |
|
|
32
|
-
coverage erase
|
|
33
|
-
python -m pytest \
|
|
34
|
-
--import-mode=importlib \
|
|
35
|
-
--cov=PyMieSimX \
|
|
36
|
-
--cov-config=.coveragerc \
|
|
37
|
-
--cov-report=term-missing \
|
|
38
|
-
--cov-report=xml:coverage.xml \
|
|
39
|
-
tests/gui \
|
|
40
|
-
--config-file=pytest.ini
|
|
41
|
-
|
|
42
|
-
- name: Post coverage comment
|
|
43
|
-
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
|
|
44
|
-
uses: py-cov-action/python-coverage-comment-action@a05be3d2e8a6272d3ef5fb2840ab20368bb2eb71
|
|
45
|
-
with:
|
|
46
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
47
|
-
MINIMUM_GREEN: 90
|
|
48
|
-
MINIMUM_ORANGE: 50
|
|
49
|
-
COVERAGE_PATH: .
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
name: Documentation
|
|
2
|
-
'on':
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- '**'
|
|
6
|
-
pull_request:
|
|
7
|
-
branches:
|
|
8
|
-
- master
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
jobs:
|
|
12
|
-
documentation:
|
|
13
|
-
permissions:
|
|
14
|
-
contents: read
|
|
15
|
-
uses: MartinPdeS/MPSActions/.github/workflows/build_documentation.yml@v2
|
|
16
|
-
with:
|
|
17
|
-
python-version: '3.11'
|
|
18
|
-
package-name: PyMieSimX
|
|
19
|
-
apt-package: xvfb jq
|
|
20
|
-
debug: true
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
name: Publish release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags: ["v*"]
|
|
6
|
-
|
|
7
|
-
permissions:
|
|
8
|
-
contents: read
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
release:
|
|
12
|
-
permissions:
|
|
13
|
-
contents: write
|
|
14
|
-
pages: write
|
|
15
|
-
id-token: write
|
|
16
|
-
uses: MartinPdeS/MPSActions/.github/workflows/publish_release.yml@v2
|
|
17
|
-
with:
|
|
18
|
-
documentation: true
|
|
19
|
-
documentation_package_name: PyMieSimX
|
|
20
|
-
documentation_python_version: "3.11"
|
|
21
|
-
documentation_apt_package: xvfb jq
|
|
22
|
-
documentation_retain_versions: 5
|
|
23
|
-
debug: true
|
|
24
|
-
pypi_package_type: pure
|
|
25
|
-
pypi_python_version: "3.11"
|
|
26
|
-
pypi_test_command: 'python -c "import PyMieSimX"'
|
|
27
|
-
conda_python_versions: '["3.11", "3.12", "3.13", "3.14"]'
|
|
28
|
-
conda_os_list: '["ubuntu-latest", "macos-latest", "windows-latest"]'
|
|
29
|
-
conda_package_name: pymiesimx
|
|
30
|
-
conda_recipe_path: conda.recipe
|
|
31
|
-
conda_test_import: PyMieSimX
|
|
32
|
-
secrets:
|
|
33
|
-
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
34
|
-
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
name: Quality and GUI tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: ["master"]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: ["master"]
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
python-quality:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
strategy:
|
|
16
|
-
matrix:
|
|
17
|
-
python-version: ["3.11", "3.13"]
|
|
18
|
-
steps:
|
|
19
|
-
- name: Set up Python and CI dependencies
|
|
20
|
-
uses: MartinPdeS/MPSActions/actions/setup-python@v2
|
|
21
|
-
with:
|
|
22
|
-
python-version: "${{ matrix.python-version }}"
|
|
23
|
-
install-command: >-
|
|
24
|
-
python -m pip install --upgrade pip && python -m pip install -e ".[testing,dev]"
|
|
25
|
-
- name: Initialize material catalog
|
|
26
|
-
run: python -m PyOptik setup --no-progress
|
|
27
|
-
- name: Ruff
|
|
28
|
-
run: python -m ruff check PyMieSimX tests
|
|
29
|
-
- name: Mypy
|
|
30
|
-
run: python -m mypy PyMieSimX/gui/parsing.py PyMieSimX/gui/schemas.py PyMieSimX/gui/models.py PyMieSimX/gui/jobs.py PyMieSimX/gui/callback_helpers.py PyMieSimX/gui/admin.py
|
|
31
|
-
- name: GUI tests
|
|
32
|
-
run: python -m pytest
|
|
33
|
-
|
|
34
|
-
browser-tests:
|
|
35
|
-
runs-on: ubuntu-latest
|
|
36
|
-
steps:
|
|
37
|
-
- name: Set up Python and CI dependencies
|
|
38
|
-
uses: MartinPdeS/MPSActions/actions/setup-python@v2
|
|
39
|
-
with:
|
|
40
|
-
python-version: "3.11"
|
|
41
|
-
install-command: >-
|
|
42
|
-
python -m pip install --upgrade pip && python -m pip install -e ".[testing,browser]"
|
|
43
|
-
- name: Initialize material catalog
|
|
44
|
-
run: python -m PyOptik setup --no-progress
|
|
45
|
-
- name: Browser workflow tests
|
|
46
|
-
# The full GUI suite enforces the repository-wide coverage threshold.
|
|
47
|
-
run: python -m pytest tests/browser --config-file=pytest.ini --headless --cov=PyMieSimX --cov-report=term --cov-fail-under=0
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [master]
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
tests:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
strategy:
|
|
16
|
-
fail-fast: false
|
|
17
|
-
matrix:
|
|
18
|
-
python-version: ["3.11", "3.14"]
|
|
19
|
-
steps:
|
|
20
|
-
- name: Set up Python and CI dependencies
|
|
21
|
-
uses: MartinPdeS/MPSActions/actions/setup-python@v2
|
|
22
|
-
with:
|
|
23
|
-
python-version: "${{ matrix.python-version }}"
|
|
24
|
-
install-command: >-
|
|
25
|
-
python -m pip install --upgrade pip && python -m pip install -e ".[testing]"
|
|
26
|
-
- run: python -m PyOptik setup --no-progress
|
|
27
|
-
- run: python -m pytest -q
|
pymiesimx-0.4.6/.gitignore
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
__pycache__/
|
|
2
|
-
*.py[cod]
|
|
3
|
-
*.egg-info/
|
|
4
|
-
.venv/
|
|
5
|
-
.pytest_cache/
|
|
6
|
-
.ruff_cache/
|
|
7
|
-
.mypy_cache/
|
|
8
|
-
build/
|
|
9
|
-
dist/
|
|
10
|
-
.coverage
|
|
11
|
-
htmlcov/
|
|
12
|
-
docs/_build/
|
|
13
|
-
docs/source/generated/
|
|
14
|
-
.DS_Store
|
|
15
|
-
!conda.recipe/
|
|
16
|
-
!conda.recipe/meta.yaml
|
|
17
|
-
!CONTRIBUTING.md
|
|
18
|
-
!makefile
|
|
19
|
-
!Makefile
|
|
20
|
-
!tools/
|
|
21
|
-
!tools/*.py
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
repos:
|
|
2
|
-
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
-
rev: v4.6.0
|
|
4
|
-
hooks:
|
|
5
|
-
- id: check-merge-conflict
|
|
6
|
-
- id: end-of-file-fixer
|
|
7
|
-
- id: mixed-line-ending
|
|
8
|
-
- id: check-yaml
|
|
9
|
-
- id: check-toml
|
|
10
|
-
- id: detect-private-key
|
|
11
|
-
- id: check-json
|
|
12
|
-
- id: check-case-conflict
|
|
13
|
-
|
|
14
|
-
- repo: https://github.com/psf/black
|
|
15
|
-
rev: 24.4.2
|
|
16
|
-
hooks:
|
|
17
|
-
- id: black
|
|
18
|
-
|
|
19
|
-
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
20
|
-
rev: v0.11.2
|
|
21
|
-
hooks:
|
|
22
|
-
- id: ruff
|
|
23
|
-
args: [--output-format, concise]
|
pymiesimx-0.4.6/AGENTS.md
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Working on PyMieSimX
|
|
2
|
-
|
|
3
|
-
PyMieSimX provides a Dash GUI and Python API for PyMieSim. The hosted service is
|
|
4
|
-
https://pymiesim.onrender.com/. Keep browser use, local installation, and the
|
|
5
|
-
Python API working together.
|
|
6
|
-
|
|
7
|
-
## Repository map
|
|
8
|
-
|
|
9
|
-
- `PyMieSimX/api.py` exposes the computational API. Preserve compatibility for
|
|
10
|
-
single-measure callers when extending sweep results.
|
|
11
|
-
- `PyMieSimX/gui/computation.py`, `parsing.py`, `validation.py`, and `schemas.py`
|
|
12
|
-
handle scientific inputs, calculations, result serialization, and plotting.
|
|
13
|
-
Delegate scientific solvers to PyMieSim and optical materials to PyOptik.
|
|
14
|
-
- `PyMieSimX/gui/jobs.py` manages bounded background sweep jobs;
|
|
15
|
-
`callbacks.py` connects job state, validation, plotting, and exports to Dash.
|
|
16
|
-
- `PyMieSimX/gui/pages/`, `components/`, and `layout.py` compose the interface.
|
|
17
|
-
CSS and browser assets live in `PyMieSimX/gui/assets/`.
|
|
18
|
-
- `PyMieSimX/application/wsgi.py` is the hosted-server entry point;
|
|
19
|
-
`PyMieSimX/__main__.py` provides the `pymiesimx` launcher.
|
|
20
|
-
- `tests/gui/` covers Python behavior and Dash callbacks. `tests/browser/`
|
|
21
|
-
exercises the real browser workflow separately.
|
|
22
|
-
|
|
23
|
-
## Setup and checks
|
|
24
|
-
|
|
25
|
-
Use Python 3.11 or newer and a virtual environment. Reuse an existing suitable
|
|
26
|
-
environment when available; do not modify sibling repositories to set up this
|
|
27
|
-
one.
|
|
28
|
-
|
|
29
|
-
```sh
|
|
30
|
-
python -m pip install -e ".[testing,dev,browser]"
|
|
31
|
-
python -m PyOptik setup --no-progress
|
|
32
|
-
make quality PYTHON=python
|
|
33
|
-
python -m pytest
|
|
34
|
-
python -m pytest tests/browser --config-file=pytest.ini --headless --cov=PyMieSimX --cov-report=term --cov-fail-under=0
|
|
35
|
-
git diff --check
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Browser tests need Chrome and a compatible ChromeDriver. The default pytest
|
|
39
|
-
suite runs `tests/gui` and enforces the coverage threshold in `.coveragerc`;
|
|
40
|
-
the separate browser command intentionally disables that threshold. Use a
|
|
41
|
-
writable `MPLCONFIGDIR` when the default Matplotlib cache is unavailable.
|
|
42
|
-
|
|
43
|
-
Run checks relevant to the change. For UI interaction changes, run the browser
|
|
44
|
-
suite as well as affected callback tests. Wait for observable UI state and CSS
|
|
45
|
-
transitions; avoid fixed sleeps, JavaScript clicks that bypass actual hit
|
|
46
|
-
testing, or removing assertions to make tests pass. Use explicit viewport sizes
|
|
47
|
-
when testing desktop and responsive layouts.
|
|
48
|
-
|
|
49
|
-
## Implementation conventions
|
|
50
|
-
|
|
51
|
-
- Use four spaces and follow the existing Python style. Keep Ruff and the
|
|
52
|
-
scoped Mypy checks in `make quality` passing.
|
|
53
|
-
- Keep parsing and scientific computation separate from Dash rendering so the
|
|
54
|
-
public Python API remains usable without constructing a GUI.
|
|
55
|
-
- Preserve physical units, dataframe index information, and all selected
|
|
56
|
-
measures through serialization, plotting, and CSV export.
|
|
57
|
-
- Validate sweep and result-size limits before expensive work where possible.
|
|
58
|
-
Keep queued/running/completed/error states visible and make Run recover after
|
|
59
|
-
validation failures, missing jobs, cancellation, and computation errors.
|
|
60
|
-
- Keep usage metrics optional for local runs and protect the administration
|
|
61
|
-
page with its server-side token. Never commit database URLs or secrets.
|
|
62
|
-
- Add regression coverage for behavior changes; use asymmetric data when
|
|
63
|
-
checking axis orientation and multiple measures when checking sweep output.
|
|
64
|
-
|
|
65
|
-
## Documentation, packaging, and CI
|
|
66
|
-
|
|
67
|
-
- `README.rst` uses reStructuredText. Check new sections and links render
|
|
68
|
-
correctly, including heading underline lengths.
|
|
69
|
-
- Dependencies and the console entry point are declared in `pyproject.toml`.
|
|
70
|
-
Keep `conda.recipe/meta.yaml` consistent with them. Conda builds are
|
|
71
|
-
platform-specific for Python 3.11–3.13 on Linux, macOS, and Windows; retain
|
|
72
|
-
the Windows dependency selectors and explicit `pymiesimx` entry point.
|
|
73
|
-
- The Conda workflow supports manual build verification. Publishing to Conda
|
|
74
|
-
and PyPI occurs on version-tag pushes. Verify the installed Conda artifact,
|
|
75
|
-
including both import and CLI startup, rather than only the checkout.
|
|
76
|
-
- Versions come from Git tags through setuptools-scm. Use the existing release
|
|
77
|
-
tools/Makefile when a release is requested; a normal commit/push does not
|
|
78
|
-
imply creating a release tag.
|
|
79
|
-
- Inspect failing Actions job logs and fix the underlying cause. After pushing
|
|
80
|
-
a CI fix, check the run for the new commit and report any remaining failures.
|
|
81
|
-
- Preserve unrelated working-tree changes and commit only the requested work.
|
pymiesimx-0.4.6/CONTRIBUTING.md
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# Contributing to PyMieSimX
|
|
2
|
-
|
|
3
|
-
Use Python 3.10 or newer. Install development dependencies with `python -m pip install -e ".[testing,dev]"`, then run `make quality` and `make test`.
|
|
4
|
-
|
|
5
|
-
Releases use semantic version tags. Run `make patch`, `make minor`, or `make major` from a clean `master` checkout; the command creates the release commit, tags it, and pushes both. Publishing workflows run only for `v*` tags.
|
|
6
|
-
|
|
7
|
-
The Conda recipe is at `conda.recipe/meta.yaml`. Do not commit build artefacts, virtual environments, or caches.
|
pymiesimx-0.4.6/Dockerfile
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
FROM python:3.11-slim
|
|
2
|
-
|
|
3
|
-
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
4
|
-
PYTHONUNBUFFERED=1
|
|
5
|
-
|
|
6
|
-
WORKDIR /app
|
|
7
|
-
COPY . .
|
|
8
|
-
|
|
9
|
-
RUN python -m pip install --upgrade pip \
|
|
10
|
-
&& python -m pip install --no-cache-dir . \
|
|
11
|
-
&& python -m PyOptik setup --no-progress
|
|
12
|
-
|
|
13
|
-
CMD ["sh", "-c", "exec gunicorn PyMieSimX.gui.interface:app --bind 0.0.0.0:${PORT:-8050} --workers 1 --threads 2 --timeout 3600"]
|