resfo-utilities 0.0.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.
Potentially problematic release.
This version of resfo-utilities might be problematic. Click here for more details.
- resfo_utilities-0.0.1/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
- resfo_utilities-0.0.1/.github/dependabot.yml +18 -0
- resfo_utilities-0.0.1/.github/mypy-matcher.json +18 -0
- resfo_utilities-0.0.1/.github/workflows/publish_to_pypi.yml +28 -0
- resfo_utilities-0.0.1/.github/workflows/testing.yml +35 -0
- resfo_utilities-0.0.1/.github/workflows/typing.yml +43 -0
- resfo_utilities-0.0.1/.gitignore +48 -0
- resfo_utilities-0.0.1/.mypy.ini +20 -0
- resfo_utilities-0.0.1/.pre-commit-config.yaml +44 -0
- resfo_utilities-0.0.1/.readthedocs.yaml +16 -0
- resfo_utilities-0.0.1/CONTRIBUTING.md +28 -0
- resfo_utilities-0.0.1/PKG-INFO +70 -0
- resfo_utilities-0.0.1/README.md +36 -0
- resfo_utilities-0.0.1/SECURITY.md +16 -0
- resfo_utilities-0.0.1/docs/requirements.txt +2 -0
- resfo_utilities-0.0.1/docs/source/api_reference.rst +10 -0
- resfo_utilities-0.0.1/docs/source/conf.py +23 -0
- resfo_utilities-0.0.1/docs/source/glossary.rst +23 -0
- resfo_utilities-0.0.1/docs/source/index.rst +11 -0
- resfo_utilities-0.0.1/pyproject.toml +62 -0
- resfo_utilities-0.0.1/setup.cfg +4 -0
- resfo_utilities-0.0.1/src/resfo_utilities/__init__.py +3 -0
- resfo_utilities-0.0.1/src/resfo_utilities/_cornerpoint_grid.py +461 -0
- resfo_utilities-0.0.1/src/resfo_utilities.egg-info/PKG-INFO +70 -0
- resfo_utilities-0.0.1/src/resfo_utilities.egg-info/SOURCES.txt +36 -0
- resfo_utilities-0.0.1/src/resfo_utilities.egg-info/dependency_links.txt +1 -0
- resfo_utilities-0.0.1/src/resfo_utilities.egg-info/requires.txt +17 -0
- resfo_utilities-0.0.1/src/resfo_utilities.egg-info/top_level.txt +1 -0
- resfo_utilities-0.0.1/tests/__init__.py +0 -0
- resfo_utilities-0.0.1/tests/conftest.py +10 -0
- resfo_utilities-0.0.1/tests/integration/__init__.py +0 -0
- resfo_utilities-0.0.1/tests/integration/conftest.py +14 -0
- resfo_utilities-0.0.1/tests/integration/test_grid.py +315 -0
- resfo_utilities-0.0.1/tests/performance/__init__.py +0 -0
- resfo_utilities-0.0.1/tests/performance/test_find_cell_performance.py +29 -0
- resfo_utilities-0.0.1/tests/unit/__init__.py +0 -0
- resfo_utilities-0.0.1/tests/unit/test_cornerpoint_grid.py +435 -0
- resfo_utilities-0.0.1/uv.lock +1674 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: ''
|
|
5
|
+
labels: ''
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Describe the bug**
|
|
11
|
+
A clear and concise description of what the bug is.
|
|
12
|
+
|
|
13
|
+
**To Reproduce**
|
|
14
|
+
Steps to reproduce the behavior:
|
|
15
|
+
1. Go to '...'
|
|
16
|
+
2. Click on '....'
|
|
17
|
+
3. Scroll down to '....'
|
|
18
|
+
4. See error
|
|
19
|
+
|
|
20
|
+
**Expected behavior**
|
|
21
|
+
A clear and concise description of what you expected to happen.
|
|
22
|
+
|
|
23
|
+
**Screenshots**
|
|
24
|
+
If applicable, add screenshots to help explain your problem.
|
|
25
|
+
|
|
26
|
+
**Environment (please complete the following information):**
|
|
27
|
+
- OS: [e.g. iOS]
|
|
28
|
+
- Version [e.g. 4.0.0]
|
|
29
|
+
|
|
30
|
+
**Additional context**
|
|
31
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 2
|
|
3
|
+
updates:
|
|
4
|
+
- package-ecosystem: "github-actions"
|
|
5
|
+
directory: "/"
|
|
6
|
+
schedule:
|
|
7
|
+
interval: "weekly"
|
|
8
|
+
|
|
9
|
+
- package-ecosystem: "uv"
|
|
10
|
+
directory: "/"
|
|
11
|
+
schedule:
|
|
12
|
+
interval: "weekly"
|
|
13
|
+
allow:
|
|
14
|
+
- dependency-type: "all"
|
|
15
|
+
groups:
|
|
16
|
+
all-deps:
|
|
17
|
+
patterns:
|
|
18
|
+
- "*"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problemMatcher": [
|
|
3
|
+
{
|
|
4
|
+
"owner": "mypy",
|
|
5
|
+
"severity": "error",
|
|
6
|
+
"pattern": [
|
|
7
|
+
{
|
|
8
|
+
"regexp": "^([^:]*):(\\d+):(?:(\\d+):)? error: (.*?)(?: \\[(\\S+)\\])?$",
|
|
9
|
+
"file": 1,
|
|
10
|
+
"line": 2,
|
|
11
|
+
"column": 3,
|
|
12
|
+
"message": 4,
|
|
13
|
+
"code": 5
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Publish Python 🐍 distributions 📦 to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- '*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-n-publish:
|
|
10
|
+
environment:
|
|
11
|
+
name: pypi
|
|
12
|
+
url: https://pypi.org/p/resfo-utilities
|
|
13
|
+
name: Build and publish Python 🐍 distributions 📦 to PyPI
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v5
|
|
19
|
+
- uses: actions/setup-python@v6
|
|
20
|
+
with:
|
|
21
|
+
python-version: 3.13
|
|
22
|
+
cache: 'pip'
|
|
23
|
+
- name: Install pypa/build
|
|
24
|
+
run: python -m pip install build
|
|
25
|
+
- name: Build a binary wheel and a source tarball
|
|
26
|
+
run: python -m build --sdist --wheel --outdir dist/ .
|
|
27
|
+
- name: Publish package distributions to PyPI
|
|
28
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Run tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags: "*"
|
|
8
|
+
pull_request:
|
|
9
|
+
env:
|
|
10
|
+
UV_FROZEN: true # https://docs.astral.sh/uv/configuration/environment/#uv_frozen
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
tests:
|
|
18
|
+
name: "Python ${{ matrix.python-version }}"
|
|
19
|
+
runs-on: "ubuntu-latest"
|
|
20
|
+
strategy:
|
|
21
|
+
matrix:
|
|
22
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v4
|
|
26
|
+
- uses: actions/setup-python@v6
|
|
27
|
+
with:
|
|
28
|
+
python-version: ${{ matrix.python-version }}
|
|
29
|
+
- uses: astral-sh/setup-uv@v6
|
|
30
|
+
with:
|
|
31
|
+
enable-cache: true
|
|
32
|
+
python-version: ${{ matrix.python-version }}
|
|
33
|
+
- run: uv sync --all-extras
|
|
34
|
+
- run: uv run pytest tests/
|
|
35
|
+
- run: uv run sphinx-build -W -n -E docs/source/ docs/output
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Type checking
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
UV_FROZEN: true
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
type-checking:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
timeout-minutes: 15
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v5
|
|
23
|
+
with:
|
|
24
|
+
fetch-depth: 0
|
|
25
|
+
filter: tree:0
|
|
26
|
+
|
|
27
|
+
- uses: actions/setup-python@v6
|
|
28
|
+
with:
|
|
29
|
+
python-version: "3.13"
|
|
30
|
+
|
|
31
|
+
- name: Install uv
|
|
32
|
+
uses: astral-sh/setup-uv@v6
|
|
33
|
+
with:
|
|
34
|
+
enable-cache: true
|
|
35
|
+
python-version: "3.13"
|
|
36
|
+
|
|
37
|
+
- run: |
|
|
38
|
+
uv sync --extra dev
|
|
39
|
+
|
|
40
|
+
- run: echo ::add-matcher::.github/mypy-matcher.json
|
|
41
|
+
- name: Run mypy
|
|
42
|
+
run: |
|
|
43
|
+
uv run mypy src
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# NFS files marked for deletion
|
|
2
|
+
.nfs*
|
|
3
|
+
|
|
4
|
+
# Temporary files when editing
|
|
5
|
+
*.swp
|
|
6
|
+
*~
|
|
7
|
+
|
|
8
|
+
# IDE ignore
|
|
9
|
+
## IntelliJ/PyCharm
|
|
10
|
+
.idea
|
|
11
|
+
*.iml
|
|
12
|
+
## VS code
|
|
13
|
+
.vscode
|
|
14
|
+
## Eclipse?
|
|
15
|
+
/.project
|
|
16
|
+
# neovim (reversed rule)
|
|
17
|
+
!.github
|
|
18
|
+
|
|
19
|
+
# pytest ignores
|
|
20
|
+
.pytest_cache
|
|
21
|
+
|
|
22
|
+
# bytecode compiled python
|
|
23
|
+
__pycache__
|
|
24
|
+
|
|
25
|
+
# GNU tags
|
|
26
|
+
/GPATH
|
|
27
|
+
/GRTAGS
|
|
28
|
+
/GTAGS
|
|
29
|
+
/gtags.sh
|
|
30
|
+
|
|
31
|
+
# MacOS
|
|
32
|
+
*.DS_Store
|
|
33
|
+
scratch.sparsebundle
|
|
34
|
+
|
|
35
|
+
# Common Python virtual env dir
|
|
36
|
+
/venv
|
|
37
|
+
|
|
38
|
+
# python package. by distutils
|
|
39
|
+
*.egg*
|
|
40
|
+
|
|
41
|
+
## pip install without -e
|
|
42
|
+
/build
|
|
43
|
+
|
|
44
|
+
# cache folder for hypothesis framework
|
|
45
|
+
.hypothesis
|
|
46
|
+
|
|
47
|
+
# config for pyright
|
|
48
|
+
pyrightconfig.json
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[mypy]
|
|
2
|
+
|
|
3
|
+
warn_unused_configs = True
|
|
4
|
+
disallow_any_generics = True
|
|
5
|
+
disallow_subclassing_any = true
|
|
6
|
+
disallow_untyped_calls = True
|
|
7
|
+
disallow_untyped_defs = True
|
|
8
|
+
disallow_incomplete_defs = True
|
|
9
|
+
check_untyped_defs = True
|
|
10
|
+
disallow_untyped_decorators = True
|
|
11
|
+
warn_unused_ignores = True
|
|
12
|
+
warn_redundant_casts = True
|
|
13
|
+
strict_equality = True
|
|
14
|
+
extra_checks = True
|
|
15
|
+
|
|
16
|
+
[mypy-resfo.*]
|
|
17
|
+
ignore_missing_imports = True
|
|
18
|
+
|
|
19
|
+
[mypy-tests.*]
|
|
20
|
+
ignore_errors = True
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
default_install_hook_types: [pre-commit]
|
|
2
|
+
repos:
|
|
3
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
4
|
+
rev: v6.0.0
|
|
5
|
+
hooks:
|
|
6
|
+
- id: check-json
|
|
7
|
+
- id: check-yaml
|
|
8
|
+
- id: end-of-file-fixer
|
|
9
|
+
- id: trailing-whitespace
|
|
10
|
+
|
|
11
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
12
|
+
rev: 'v1.18.2'
|
|
13
|
+
hooks:
|
|
14
|
+
- id: mypy
|
|
15
|
+
|
|
16
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
17
|
+
rev: v0.12.11
|
|
18
|
+
hooks:
|
|
19
|
+
- id: ruff-check
|
|
20
|
+
args: [ --fix ]
|
|
21
|
+
- id: ruff-format
|
|
22
|
+
|
|
23
|
+
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
24
|
+
rev: 0.8.14
|
|
25
|
+
hooks:
|
|
26
|
+
- id: uv-lock
|
|
27
|
+
|
|
28
|
+
- repo: local
|
|
29
|
+
hooks:
|
|
30
|
+
- id: pytest
|
|
31
|
+
name: pytest
|
|
32
|
+
entry: uv
|
|
33
|
+
args: [run, --all-extras, pytest, --benchmark-disable, tests]
|
|
34
|
+
language: system
|
|
35
|
+
types: [python]
|
|
36
|
+
stages: [pre-push]
|
|
37
|
+
pass_filenames: false
|
|
38
|
+
- id: docs
|
|
39
|
+
name: docs
|
|
40
|
+
entry: uv
|
|
41
|
+
args: [run, --all-extras, sphinx-build, -W, -n, -E, docs/source, docs/output]
|
|
42
|
+
language: system
|
|
43
|
+
stages: [pre-push]
|
|
44
|
+
pass_filenames: false
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
The following is a set of guidelines for contributing to resfo-utilities.
|
|
4
|
+
|
|
5
|
+
## Ground Rules
|
|
6
|
+
|
|
7
|
+
1. We use pre-commit for checking code style
|
|
8
|
+
1. All code must be testable and unit tested.
|
|
9
|
+
|
|
10
|
+
## Commits
|
|
11
|
+
|
|
12
|
+
We strive to keep a consistent and clean git history and all contributions should adhere to the following:
|
|
13
|
+
|
|
14
|
+
1. All tests should pass on all commits(*)
|
|
15
|
+
1. A commit should do one atomic change on the repository
|
|
16
|
+
1. The commit message should be descriptive.
|
|
17
|
+
|
|
18
|
+
We expect commit messages to follow the style described [here](https://chris.beams.io/posts/git-commit/). Also, focus on making clear the reasons why you made the change in the first place—the way things worked before the change (and what was wrong with that), the way they work now, and why you decided to solve it the way you did. A commit body is required for anything except very small changes.
|
|
19
|
+
|
|
20
|
+
(*) Tip for making sure all tests passes, try out --exec while rebasing. You can then have all tests run per commit in a single command.
|
|
21
|
+
## Pull Request Process
|
|
22
|
+
|
|
23
|
+
1. Work on your own fork of the main repo
|
|
24
|
+
1. Push your commits and make a draft pull request using the pull request template.
|
|
25
|
+
1. Check that your pull request passes all tests.
|
|
26
|
+
1. When all tests have passed and your are happy with your changes, change your pull request to "ready for review"
|
|
27
|
+
and ask for a code review.
|
|
28
|
+
1. When your code has been approved—rebase, squash and merge your changes.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: resfo-utilities
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A utility library for working with the output of reservoir simulators.
|
|
5
|
+
Author-email: Equinor <fg_sib-scout@equinor.com>
|
|
6
|
+
Maintainer-email: Eivind Jahren <ejah@equinor.com>, Håkon Steinkopf Søhoel <hsoho@equinor.com>
|
|
7
|
+
License: LGPL-3.0
|
|
8
|
+
Project-URL: Homepage, https://github.com/equinor/resfo-utilities
|
|
9
|
+
Project-URL: Repository, https://github.com/equinor/resfo-utilities
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/equinor/resfo-utilities/issues
|
|
11
|
+
Classifier: Development Status :: 1 - Planning
|
|
12
|
+
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
|
|
13
|
+
Classifier: Programming Language :: Python
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Python: <3.14,>=3.11
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: numpy
|
|
20
|
+
Requires-Dist: resfo
|
|
21
|
+
Requires-Dist: shapely
|
|
22
|
+
Requires-Dist: trimesh[easy]
|
|
23
|
+
Requires-Dist: matplotlib
|
|
24
|
+
Provides-Extra: doc
|
|
25
|
+
Requires-Dist: sphinx; extra == "doc"
|
|
26
|
+
Requires-Dist: sphinx-rtd-theme; extra == "doc"
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: pytest; extra == "dev"
|
|
29
|
+
Requires-Dist: hypothesis; extra == "dev"
|
|
30
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
31
|
+
Requires-Dist: mypy; extra == "dev"
|
|
32
|
+
Requires-Dist: types-shapely; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-benchmark; extra == "dev"
|
|
34
|
+
|
|
35
|
+
resfo
|
|
36
|
+
===========
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
resfo-utilities is a library for working with output from
|
|
40
|
+
several reservoir simulators such as [opm
|
|
41
|
+
flow](https://github.com/OPM/opm-simulators).
|
|
42
|
+
|
|
43
|
+
Installation
|
|
44
|
+
============
|
|
45
|
+
|
|
46
|
+
`pip install resfo-utilities`
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
How to contribute
|
|
50
|
+
=================
|
|
51
|
+
|
|
52
|
+
We use uv to have one synchronized development environment for all packages.
|
|
53
|
+
See [installing uv](https://docs.astral.sh/uv/getting-started/installation/). We
|
|
54
|
+
recommend either installing uv using your systems package manager, or creating
|
|
55
|
+
a small virtual environment you intall base packages into (such as `uv` and `pre-commit`).
|
|
56
|
+
|
|
57
|
+
Once uv is installed, you can get a development environment by running:
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
git clone https://github.com/equinor/resfo-utilities
|
|
61
|
+
cd resfo-utilities
|
|
62
|
+
uv sync --all-extras
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
You should set up `pre-commit` to ensure style checks are done as you commit:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
uv run pre-commit install --hook-type pre-push
|
|
70
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
resfo
|
|
2
|
+
===========
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
resfo-utilities is a library for working with output from
|
|
6
|
+
several reservoir simulators such as [opm
|
|
7
|
+
flow](https://github.com/OPM/opm-simulators).
|
|
8
|
+
|
|
9
|
+
Installation
|
|
10
|
+
============
|
|
11
|
+
|
|
12
|
+
`pip install resfo-utilities`
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
How to contribute
|
|
16
|
+
=================
|
|
17
|
+
|
|
18
|
+
We use uv to have one synchronized development environment for all packages.
|
|
19
|
+
See [installing uv](https://docs.astral.sh/uv/getting-started/installation/). We
|
|
20
|
+
recommend either installing uv using your systems package manager, or creating
|
|
21
|
+
a small virtual environment you intall base packages into (such as `uv` and `pre-commit`).
|
|
22
|
+
|
|
23
|
+
Once uv is installed, you can get a development environment by running:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
git clone https://github.com/equinor/resfo-utilities
|
|
27
|
+
cd resfo-utilities
|
|
28
|
+
uv sync --all-extras
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
You should set up `pre-commit` to ensure style checks are done as you commit:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
uv run pre-commit install --hook-type pre-push
|
|
36
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
If you discover a security vulnerability in this project, please follow these steps to responsibly disclose it:
|
|
2
|
+
|
|
3
|
+
1. **Do not** create a public GitHub issue for the vulnerability.
|
|
4
|
+
2. Follow our guideline for Responsible Disclosure Policy at [https://www.equinor.com/about-us/csirt](https://www.equinor.com/about-us/csirt) to report the issue
|
|
5
|
+
|
|
6
|
+
The following information will help us triage your report more quickly:
|
|
7
|
+
|
|
8
|
+
- Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
|
|
9
|
+
- Full paths of source file(s) related to the manifestation of the issue
|
|
10
|
+
- The location of the affected source code (tag/branch/commit or direct URL)
|
|
11
|
+
- Any special configuration required to reproduce the issue
|
|
12
|
+
- Step-by-step instructions to reproduce the issue
|
|
13
|
+
- Proof-of-concept or exploit code (if possible)
|
|
14
|
+
- Impact of the issue, including how an attacker might exploit the issue
|
|
15
|
+
|
|
16
|
+
We prefer all communications to be in English.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
project = "resfo-utilities"
|
|
2
|
+
copyright = "2022, Equinor"
|
|
3
|
+
author = "Equinor"
|
|
4
|
+
release = "1.0.0"
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
extensions = ["sphinx.ext.autodoc", "sphinx.ext.doctest", "sphinx.ext.intersphinx"]
|
|
8
|
+
intersphinx_mapping = {
|
|
9
|
+
"numpy": ("https://numpy.org/doc/stable/", None),
|
|
10
|
+
"python": ("https://docs.python.org/3", None),
|
|
11
|
+
}
|
|
12
|
+
nitpick_ignore = [
|
|
13
|
+
("py:class", "np.float32"),
|
|
14
|
+
("py:class", "numpy.float32"),
|
|
15
|
+
("py:class", "collections.abc.Buffer"),
|
|
16
|
+
("py:class", "npt.ArrayLike"),
|
|
17
|
+
("py:class", "ArrayLike"),
|
|
18
|
+
("py:class", "npt.NDArray"),
|
|
19
|
+
("py:class", "np.bool_"),
|
|
20
|
+
]
|
|
21
|
+
language = "python"
|
|
22
|
+
html_theme = "sphinx_rtd_theme"
|
|
23
|
+
autodoc_type_aliases = {"npt.ArrayLike": "ArrayLike"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Glossary
|
|
2
|
+
========
|
|
3
|
+
|
|
4
|
+
.. glossary::
|
|
5
|
+
|
|
6
|
+
corner-point grid
|
|
7
|
+
A corner-point grid is a tessellation of a 3D volumne where
|
|
8
|
+
each cell is a hexahedron. See the `corner-point grid wikipedia page`_ or
|
|
9
|
+
`OPM Flow manual`_ section 6.2.2 for more information.
|
|
10
|
+
|
|
11
|
+
pillar
|
|
12
|
+
In a :term:`corner-point grid` the pillars are a set of straight lines used
|
|
13
|
+
to define each cell. The 8 corner vertecies of each cell is determined by
|
|
14
|
+
the giving the height along four adjecent pillars.
|
|
15
|
+
|
|
16
|
+
UTM-coordinates
|
|
17
|
+
The Universal Transverse Mercator (UTM) is a coordinate system based on
|
|
18
|
+
the transverse Mercator map projection of the Earth spheroid. See
|
|
19
|
+
the `UTM wikipedia page`_.
|
|
20
|
+
|
|
21
|
+
.. _OPM Flow manual: https://opm-project.org/wp-content/uploads/2023/06/OPM_Flow_Reference_Manual_2023-04_Rev-0_Reduced.pdf
|
|
22
|
+
.. _corner-point grid wikipedia page: https://en.wikipedia.org/wiki/Corner-point_grid
|
|
23
|
+
.. _UTM wikipedia page: https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
======================================================================
|
|
2
|
+
resfo-utilities: A library for working with reservoir simulator output
|
|
3
|
+
======================================================================
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
.. toctree::
|
|
7
|
+
:hidden:
|
|
8
|
+
|
|
9
|
+
self
|
|
10
|
+
glossary
|
|
11
|
+
api_reference
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "resfo-utilities"
|
|
7
|
+
description="A utility library for working with the output of reservoir simulators."
|
|
8
|
+
readme = "README.md"
|
|
9
|
+
requires-python = ">=3.11, <3.14"
|
|
10
|
+
classifiers=[
|
|
11
|
+
"Development Status :: 1 - Planning",
|
|
12
|
+
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
|
|
13
|
+
"Programming Language :: Python",
|
|
14
|
+
"Programming Language :: Python :: 3.11",
|
|
15
|
+
"Programming Language :: Python :: 3.12",
|
|
16
|
+
"Programming Language :: Python :: 3.13",
|
|
17
|
+
]
|
|
18
|
+
dependencies = ["numpy","resfo", "shapely", "trimesh[easy]", "matplotlib"]
|
|
19
|
+
dynamic=["version"]
|
|
20
|
+
|
|
21
|
+
authors = [
|
|
22
|
+
{name="Equinor", email="fg_sib-scout@equinor.com"},
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
maintainers = [
|
|
26
|
+
{name="Eivind Jahren", email="ejah@equinor.com"},
|
|
27
|
+
{name="Håkon Steinkopf Søhoel", email="hsoho@equinor.com"},
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[project.license]
|
|
31
|
+
text = "LGPL-3.0"
|
|
32
|
+
|
|
33
|
+
[project.urls]
|
|
34
|
+
"Homepage" = "https://github.com/equinor/resfo-utilities"
|
|
35
|
+
"Repository" = "https://github.com/equinor/resfo-utilities"
|
|
36
|
+
"Bug Tracker" = "https://github.com/equinor/resfo-utilities/issues"
|
|
37
|
+
|
|
38
|
+
[project.optional-dependencies]
|
|
39
|
+
doc = [
|
|
40
|
+
"sphinx",
|
|
41
|
+
"sphinx-rtd-theme",
|
|
42
|
+
]
|
|
43
|
+
dev = [
|
|
44
|
+
"pytest",
|
|
45
|
+
"hypothesis",
|
|
46
|
+
"pre-commit",
|
|
47
|
+
"mypy",
|
|
48
|
+
"types-shapely",
|
|
49
|
+
"pytest-benchmark",
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[tool.setuptools_scm]
|
|
53
|
+
|
|
54
|
+
[tool.ruff]
|
|
55
|
+
src = ["src"]
|
|
56
|
+
line-length = 88
|
|
57
|
+
|
|
58
|
+
[tool.pytest.ini_options]
|
|
59
|
+
addopts = "-ra --strict-markers"
|
|
60
|
+
|
|
61
|
+
[tool.uv]
|
|
62
|
+
fork-strategy = "requires-python"
|