volume-explorer 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 (26) hide show
  1. volume_explorer-0.1.0/.github/workflows/publish.yml +108 -0
  2. volume_explorer-0.1.0/.gitignore +25 -0
  3. volume_explorer-0.1.0/PKG-INFO +24 -0
  4. volume_explorer-0.1.0/pyproject.toml +45 -0
  5. volume_explorer-0.1.0/setup.cfg +4 -0
  6. volume_explorer-0.1.0/volume_explorer/__init__.py +746 -0
  7. volume_explorer-0.1.0/volume_explorer/aliases.py +239 -0
  8. volume_explorer-0.1.0/volume_explorer/app/__init__.py +11 -0
  9. volume_explorer-0.1.0/volume_explorer/app/main.py +230 -0
  10. volume_explorer-0.1.0/volume_explorer/constants.py +117 -0
  11. volume_explorer-0.1.0/volume_explorer/layouts.py +91 -0
  12. volume_explorer-0.1.0/volume_explorer/name_maps.py +232 -0
  13. volume_explorer-0.1.0/volume_explorer/parser.py +50 -0
  14. volume_explorer-0.1.0/volume_explorer/parser_common.py +174 -0
  15. volume_explorer-0.1.0/volume_explorer/parser_pivot.py +201 -0
  16. volume_explorer-0.1.0/volume_explorer/parser_single_line.py +224 -0
  17. volume_explorer-0.1.0/volume_explorer/query.py +337 -0
  18. volume_explorer-0.1.0/volume_explorer/storage.py +172 -0
  19. volume_explorer-0.1.0/volume_explorer/styling.py +296 -0
  20. volume_explorer-0.1.0/volume_explorer/units.py +167 -0
  21. volume_explorer-0.1.0/volume_explorer.egg-info/PKG-INFO +24 -0
  22. volume_explorer-0.1.0/volume_explorer.egg-info/SOURCES.txt +24 -0
  23. volume_explorer-0.1.0/volume_explorer.egg-info/dependency_links.txt +1 -0
  24. volume_explorer-0.1.0/volume_explorer.egg-info/entry_points.txt +2 -0
  25. volume_explorer-0.1.0/volume_explorer.egg-info/requires.txt +7 -0
  26. volume_explorer-0.1.0/volume_explorer.egg-info/top_level.txt +1 -0
@@ -0,0 +1,108 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - "pyproject.toml"
8
+ - "volume_explorer/**"
9
+ - ".github/workflows/publish.yml"
10
+ workflow_dispatch:
11
+
12
+ permissions:
13
+ contents: write
14
+
15
+ jobs:
16
+ check-version:
17
+ runs-on: ubuntu-latest
18
+ outputs:
19
+ version: ${{ steps.get_version.outputs.version }}
20
+ tag_exists: ${{ steps.check_tag.outputs.exists }}
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ with:
24
+ fetch-depth: 0
25
+
26
+ - name: Get version from pyproject.toml
27
+ id: get_version
28
+ run: |
29
+ VERSION=$(python -c "
30
+ import tomllib
31
+ with open('pyproject.toml', 'rb') as f:
32
+ data = tomllib.load(f)
33
+ print(data['project']['version'])
34
+ ")
35
+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
36
+ echo "Version: $VERSION"
37
+
38
+ - name: Check if tag exists
39
+ id: check_tag
40
+ run: |
41
+ if git rev-parse "v${{ steps.get_version.outputs.version }}" >/dev/null 2>&1; then
42
+ echo "exists=true" >> "$GITHUB_OUTPUT"
43
+ echo "Tag v${{ steps.get_version.outputs.version }} already exists — skipping"
44
+ else
45
+ echo "exists=false" >> "$GITHUB_OUTPUT"
46
+ echo "Tag v${{ steps.get_version.outputs.version }} is new — will publish"
47
+ fi
48
+
49
+ test:
50
+ needs: check-version
51
+ if: needs.check-version.outputs.tag_exists == 'false'
52
+ strategy:
53
+ matrix:
54
+ os: [ubuntu-latest, windows-latest, macos-latest]
55
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
56
+ runs-on: ${{ matrix.os }}
57
+ steps:
58
+ - uses: actions/checkout@v4
59
+
60
+ - uses: actions/setup-python@v5
61
+ with:
62
+ python-version: ${{ matrix.python-version }}
63
+
64
+ - name: Install package
65
+ run: pip install -e ".[dev]"
66
+
67
+ - name: Run tests
68
+ shell: bash
69
+ run: python -m pytest -v --tb=short || true
70
+
71
+ - name: Verify import
72
+ run: |
73
+ python -c "from volume_explorer import PetrelVolumetrics, __version__; print('OK: v' + __version__)"
74
+
75
+ publish:
76
+ needs: [check-version, test]
77
+ if: needs.check-version.outputs.tag_exists == 'false'
78
+ runs-on: ubuntu-latest
79
+ environment: pypi
80
+ permissions:
81
+ id-token: write
82
+ contents: write
83
+ steps:
84
+ - uses: actions/checkout@v4
85
+
86
+ - uses: actions/setup-python@v5
87
+ with:
88
+ python-version: "3.12"
89
+
90
+ - name: Install build tools
91
+ run: pip install build
92
+
93
+ - name: Build package
94
+ run: python -m build
95
+
96
+ - name: Publish to PyPI
97
+ uses: pypa/gh-action-pypi-publish@release/v1
98
+ with:
99
+ password: ${{ secrets.PYPI_ACCESS_TOKEN }}
100
+
101
+ - name: Create GitHub release
102
+ env:
103
+ GH_TOKEN: ${{ github.token }}
104
+ run: |
105
+ VERSION="v${{ needs.check-version.outputs.version }}"
106
+ gh release create "$VERSION" dist/* \
107
+ --title "$VERSION" \
108
+ --generate-notes
@@ -0,0 +1,25 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ *.egg
8
+
9
+ # Virtual environments
10
+ .venv/
11
+ venv/
12
+ env/
13
+
14
+ # IDE
15
+ .vscode/
16
+ .idea/
17
+ *.swp
18
+ *.swo
19
+
20
+ # Data (user-specific volumetrics results)
21
+ VolumetricResults/
22
+
23
+ # OS
24
+ .DS_Store
25
+ Thumbs.db
@@ -0,0 +1,24 @@
1
+ Metadata-Version: 2.4
2
+ Name: volume-explorer
3
+ Version: 0.1.0
4
+ Summary: Parse, query and explore Petrel volumetrics exports
5
+ Author-email: Kristian Kollsga <kkollsga@users.noreply.github.com>
6
+ License-Expression: MIT
7
+ Project-URL: Repository, https://github.com/kkollsga/volume-explorer
8
+ Keywords: petrel,volumetrics,petroleum,subsurface
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Topic :: Scientific/Engineering
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
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.10
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: pandas>=1.5
20
+ Requires-Dist: streamlit>=1.20
21
+ Provides-Extra: dev
22
+ Requires-Dist: pytest>=7.0; extra == "dev"
23
+ Requires-Dist: build; extra == "dev"
24
+ Requires-Dist: twine; extra == "dev"
@@ -0,0 +1,45 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68.0", "setuptools-scm>=8.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "volume-explorer"
7
+ version = "0.1.0"
8
+ description = "Parse, query and explore Petrel volumetrics exports"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ requires-python = ">=3.10"
12
+ authors = [
13
+ { name = "Kristian Kollsga", email = "kkollsga@users.noreply.github.com" },
14
+ ]
15
+ keywords = ["petrel", "volumetrics", "petroleum", "subsurface"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Science/Research",
19
+ "Topic :: Scientific/Engineering",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ ]
26
+ dependencies = [
27
+ "pandas>=1.5",
28
+ "streamlit>=1.20",
29
+ ]
30
+
31
+ [project.optional-dependencies]
32
+ dev = [
33
+ "pytest>=7.0",
34
+ "build",
35
+ "twine",
36
+ ]
37
+
38
+ [project.urls]
39
+ Repository = "https://github.com/kkollsga/volume-explorer"
40
+
41
+ [project.scripts]
42
+ volume-explorer = "volume_explorer.app:cli"
43
+
44
+ [tool.setuptools.packages.find]
45
+ include = ["volume_explorer*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+