runrms 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 (49) hide show
  1. runrms-0.1.0/.github/workflows/publish.yml +37 -0
  2. runrms-0.1.0/.github/workflows/runrms.yml +59 -0
  3. runrms-0.1.0/.gitignore +98 -0
  4. runrms-0.1.0/CONTRIBUTING.md +34 -0
  5. runrms-0.1.0/LICENSE +674 -0
  6. runrms-0.1.0/PKG-INFO +226 -0
  7. runrms-0.1.0/README.md +194 -0
  8. runrms-0.1.0/SECURITY.md +16 -0
  9. runrms-0.1.0/examples/rmsconfig/pyproject.toml +13 -0
  10. runrms-0.1.0/examples/rmsconfig/src/rmsconfig/__init__.py +8 -0
  11. runrms-0.1.0/examples/rmsconfig/src/rmsconfig/runrms.yml +16 -0
  12. runrms-0.1.0/pyproject.toml +114 -0
  13. runrms-0.1.0/setup.cfg +4 -0
  14. runrms-0.1.0/src/runrms/__init__.py +0 -0
  15. runrms-0.1.0/src/runrms/__main__.py +257 -0
  16. runrms-0.1.0/src/runrms/_forward_model.py +87 -0
  17. runrms-0.1.0/src/runrms/_utils.py +35 -0
  18. runrms-0.1.0/src/runrms/config/__init__.py +21 -0
  19. runrms-0.1.0/src/runrms/config/_rms_config.py +215 -0
  20. runrms-0.1.0/src/runrms/config/_rms_project.py +147 -0
  21. runrms-0.1.0/src/runrms/config/_site_config.py +68 -0
  22. runrms-0.1.0/src/runrms/config/fm_rms_config.py +223 -0
  23. runrms-0.1.0/src/runrms/config/interactive_rms_config.py +58 -0
  24. runrms-0.1.0/src/runrms/config/runrms.yml +46 -0
  25. runrms-0.1.0/src/runrms/executor/__init__.py +9 -0
  26. runrms-0.1.0/src/runrms/executor/_rms_executor.py +118 -0
  27. runrms-0.1.0/src/runrms/executor/fm_rms_executor.py +195 -0
  28. runrms-0.1.0/src/runrms/executor/interactive_rms_executor.py +184 -0
  29. runrms-0.1.0/src/runrms/version.py +16 -0
  30. runrms-0.1.0/src/runrms.egg-info/PKG-INFO +226 -0
  31. runrms-0.1.0/src/runrms.egg-info/SOURCES.txt +47 -0
  32. runrms-0.1.0/src/runrms.egg-info/dependency_links.txt +1 -0
  33. runrms-0.1.0/src/runrms.egg-info/entry_points.txt +5 -0
  34. runrms-0.1.0/src/runrms.egg-info/requires.txt +14 -0
  35. runrms-0.1.0/src/runrms.egg-info/top_level.txt +1 -0
  36. runrms-0.1.0/tests/__init__.py +0 -0
  37. runrms-0.1.0/tests/bin/rms +57 -0
  38. runrms-0.1.0/tests/conftest.py +220 -0
  39. runrms-0.1.0/tests/test_cli.py +38 -0
  40. runrms-0.1.0/tests/test_ert_fm_plugins.py +100 -0
  41. runrms-0.1.0/tests/test_fm_rms_config.py +137 -0
  42. runrms-0.1.0/tests/test_fm_rms_executor.py +613 -0
  43. runrms-0.1.0/tests/test_interactive_rms.py +166 -0
  44. runrms-0.1.0/tests/test_rms_config.py +249 -0
  45. runrms-0.1.0/tests/test_rms_project.py +88 -0
  46. runrms-0.1.0/tests/test_runrms_entry_point.py +80 -0
  47. runrms-0.1.0/tests/testdata/rms/README +2 -0
  48. runrms-0.1.0/tests/testdata/rms/drogon.rms12.0.2/.master +112888 -0
  49. runrms-0.1.0/tests/testdata/rms/drogon.rms13.0.3/.master +126652 -0
@@ -0,0 +1,37 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ pypi-publish:
9
+ name: Upload release to PyPI
10
+ runs-on: ubuntu-latest
11
+ environment:
12
+ name: pypi
13
+ url: https://pypi.org/p/subscript
14
+ permissions:
15
+ id-token: write
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+
23
+ - name: Set up Python 3.11
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: 3.11
27
+
28
+ - name: Install build dependencies
29
+ run: |
30
+ pip install -U pip
31
+ pip install build
32
+
33
+ - name: Build distributions
34
+ run: python -m build
35
+
36
+ - name: Publish package distributions to PyPI
37
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,59 @@
1
+ name: runrms
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ release:
11
+ types:
12
+ - published
13
+ schedule:
14
+ # Run nightly to check that tests are working with latest dependencies
15
+ - cron: "0 0 * * *"
16
+
17
+ jobs:
18
+
19
+ check-runrms:
20
+ runs-on: ubuntu-latest
21
+ strategy:
22
+ matrix:
23
+ python-version: ["3.11", "3.12"]
24
+
25
+ steps:
26
+ - name: Checkout commit locally
27
+ uses: actions/checkout@v4
28
+ with:
29
+ fetch-depth: 0
30
+
31
+ - name: Set up Python ${{ matrix.python-version }}
32
+ uses: actions/setup-python@v5
33
+ with:
34
+ python-version: ${{ matrix.python-version }}
35
+
36
+ - name: Install runrms with dependencies
37
+ if: ${{ always() }}
38
+ run: |
39
+ pip install -U pip
40
+ pip install ".[dev]"
41
+
42
+ - name: List all installed packages
43
+ run: pip freeze
44
+
45
+ - name: Ruff check
46
+ if: ${{ always() }}
47
+ run: ruff check
48
+
49
+ - name: Ruff format
50
+ if: ${{ always() }}
51
+ run: ruff format --check
52
+
53
+ - name: Check typing with mypy
54
+ if: ${{ always() }}
55
+ run: mypy src
56
+
57
+ - name: Run tests
58
+ if: ${{ always() }}
59
+ run: pytest -n auto tests -m "not onprem"
@@ -0,0 +1,98 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ .Python
8
+ build/
9
+ develop-eggs/
10
+ dist/
11
+ downloads/
12
+ eggs/
13
+ .eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ wheels/
20
+ pip-wheel-metadata/
21
+ share/python-wheels/
22
+ *.egg-info/
23
+ .installed.cfg
24
+ *.egg
25
+ MANIFEST
26
+
27
+ # PyInstaller
28
+ # Usually these files are written by a python script from a template
29
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Installer logs
34
+ pip-log.txt
35
+ pip-delete-this-directory.txt
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .nox/
41
+ .coverage
42
+ .coverage.*
43
+ .cache
44
+ nosetests.xml
45
+ coverage.xml
46
+ *.cover
47
+ *.py,cover
48
+ .hypothesis/
49
+ .pytest_cache/
50
+
51
+ # Sphinx documentation
52
+ docs/_build/
53
+
54
+ # PyBuilder
55
+ target/
56
+
57
+ # Jupyter Notebook
58
+ .ipynb_checkpoints
59
+
60
+ # IPython
61
+ profile_default/
62
+ ipython_config.py
63
+
64
+ # pyenv
65
+ .python-version
66
+
67
+ # pipenv
68
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
69
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
70
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
71
+ # install all needed dependencies.
72
+ #Pipfile.lock
73
+
74
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
75
+ __pypackages__/
76
+
77
+ # Environments
78
+ .env
79
+ .venv
80
+ env/
81
+ venv/
82
+ ENV/
83
+ env.bak/
84
+ venv.bak/
85
+
86
+
87
+ # Rope project settings
88
+ .ropeproject
89
+
90
+ # mkdocs documentation
91
+ /site
92
+
93
+ # vscode
94
+ .vscode/
95
+
96
+ # setuptools_scm version
97
+ src/runrms/version.py
98
+ .mypy_cache/
@@ -0,0 +1,34 @@
1
+ # Contributing
2
+
3
+ This document contains information for contributing to this project.
4
+ All contributions are welcome!
5
+
6
+ ## Developing
7
+
8
+ Clone and install into a virtual environment.
9
+
10
+ ```sh
11
+ git clone git@github.com:equinor/runrms.git
12
+ cd runrms
13
+ # Create or source virtual/Komodo env
14
+ pip install -U pip
15
+ pip install -e ".[dev]"
16
+ # Make a feature branch for your changes
17
+ git checkout -b some-feature-branch
18
+ ```
19
+
20
+ Run the tests with
21
+
22
+ ```sh
23
+ pytest -n auto tests
24
+ ```
25
+
26
+ Ensure your changes will pass the various linters before making a pull
27
+ request. It is expected that all code will be typed and validated with
28
+ mypy.
29
+
30
+ ```sh
31
+ ruff check
32
+ ruff format --check
33
+ mypy src
34
+ ```