From d94807f80df6387cec9d4b3921e07d9d122db94c Mon Sep 17 00:00:00 2001 From: kanekosh Date: Fri, 31 Oct 2025 18:39:33 -0400 Subject: [PATCH 1/9] add engine deck npy files to package_data --- setup.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/setup.py b/setup.py index 97ad2b67..989e8417 100644 --- a/setup.py +++ b/setup.py @@ -37,6 +37,11 @@ download_url="https://github.com/mdolab/openconcept", license="MIT License", packages=find_packages(include=["openconcept*"]), + package_data={ + # engine deck data + "openconcept.propulsion.empirical_data": ["**/*.npy"], + }, + include_package_data=True, install_requires=[ # Update the oldest package versions in the GitHub Actions build file, the readme, # and the index.rst file in the docs when you change these From ade4661d847235e94b355bc4c2dadcccf10414bf Mon Sep 17 00:00:00 2001 From: kanekosh Date: Fri, 31 Oct 2025 18:49:18 -0400 Subject: [PATCH 2/9] update GHA yaml to test package data including --- .github/workflows/openconcept.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/openconcept.yaml b/.github/workflows/openconcept.yaml index 98b920f9..e8f024ca 100644 --- a/.github/workflows/openconcept.yaml +++ b/.github/workflows/openconcept.yaml @@ -89,6 +89,22 @@ jobs: run: | python -m pytest --cov-config=.coveragerc --cov=openconcept --cov-report=xml + - name: Test if engine deck data is included in package + if: ${{ matrix.os == 'ubuntu-latest' }} + run: | + # Build the wheel and source distribution + python -m build + + # Create a fresh venv to simulate a clean install + python -m venv venv_test_pkg + source venv_test_pkg/bin/activate + + # Install the wheel, not in editable mode + pip install dist/openconcept-*.whl + + # Check that the .npy files are installed + python -c "import importlib.resources as r, pathlib; files = list(pathlib.Path(r.files('openconcept.propulsion.empirical_data')).rglob('*.npy')); if not files: raise SystemExit('No .npy files found in installed package!'); print(f'Found {len(files)} .npy data files.')" + - name: Upload coverage to Codecov if: ${{ matrix.os == 'ubuntu-latest' }} uses: codecov/codecov-action@v4 From 3071120f65d77f61c1fb1254b2197ce67f26f6c4 Mon Sep 17 00:00:00 2001 From: kanekosh Date: Fri, 31 Oct 2025 23:49:54 -0400 Subject: [PATCH 3/9] yaml fix --- .github/workflows/openconcept.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/openconcept.yaml b/.github/workflows/openconcept.yaml index e8f024ca..1bdeeba6 100644 --- a/.github/workflows/openconcept.yaml +++ b/.github/workflows/openconcept.yaml @@ -93,6 +93,7 @@ jobs: if: ${{ matrix.os == 'ubuntu-latest' }} run: | # Build the wheel and source distribution + pip install build setuptools wheel python -m build # Create a fresh venv to simulate a clean install From f5d0a69379265d4ceee32622c2fbf05cdbd022a5 Mon Sep 17 00:00:00 2001 From: kanekosh Date: Sat, 1 Nov 2025 00:09:02 -0400 Subject: [PATCH 4/9] readme -> README fixes build? --- readme.md => README.md | 0 setup.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename readme.md => README.md (100%) diff --git a/readme.md b/README.md similarity index 100% rename from readme.md rename to README.md diff --git a/setup.py b/setup.py index 989e8417..7081b8f7 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ )[0] this_directory = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(this_directory, "readme.md"), encoding="utf-8") as f: +with open(os.path.join(this_directory, "README.md"), encoding="utf-8") as f: long_description = f.read() setup( From 0fb2c465e5d0a2338d52bfc493cf20bb186b1f49 Mon Sep 17 00:00:00 2001 From: kanekosh Date: Sat, 1 Nov 2025 00:10:47 -0400 Subject: [PATCH 5/9] yaml temp edit for debugging --- .github/workflows/openconcept.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/openconcept.yaml b/.github/workflows/openconcept.yaml index 1bdeeba6..df878b58 100644 --- a/.github/workflows/openconcept.yaml +++ b/.github/workflows/openconcept.yaml @@ -16,7 +16,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-latest", "windows-latest", "macos-latest"] + # os: ["ubuntu-latest", "windows-latest", "macos-latest"] + os: ["ubuntu-latest"] dep-versions: ["oldest", "latest"] # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set versions to test here ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PYTHON_VERSION_OLDEST: ['3.8'] @@ -85,9 +86,9 @@ jobs: mv n3_hybrid* ./openconcept/propulsion/empirical_data/n+3_hybrid mv n3* ./openconcept/propulsion/empirical_data/n+3 - - name: Test - run: | - python -m pytest --cov-config=.coveragerc --cov=openconcept --cov-report=xml + # - name: Test + # run: | + # python -m pytest --cov-config=.coveragerc --cov=openconcept --cov-report=xml - name: Test if engine deck data is included in package if: ${{ matrix.os == 'ubuntu-latest' }} From 5d13bd3d0e85c9b19c3998013943c3fd7880967e Mon Sep 17 00:00:00 2001 From: kanekosh Date: Sat, 1 Nov 2025 00:20:28 -0400 Subject: [PATCH 6/9] yaml fix --- .github/workflows/openconcept.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/openconcept.yaml b/.github/workflows/openconcept.yaml index df878b58..e7153705 100644 --- a/.github/workflows/openconcept.yaml +++ b/.github/workflows/openconcept.yaml @@ -105,7 +105,15 @@ jobs: pip install dist/openconcept-*.whl # Check that the .npy files are installed - python -c "import importlib.resources as r, pathlib; files = list(pathlib.Path(r.files('openconcept.propulsion.empirical_data')).rglob('*.npy')); if not files: raise SystemExit('No .npy files found in installed package!'); print(f'Found {len(files)} .npy data files.')" + python - <<'PYCODE' + import importlib.resources as r + import pathlib + + files = list(pathlib.Path(r.files('openconcept.propulsion.empirical_data')).rglob('*.npy')) + if not files: + raise SystemExit('No .npy files found in installed package!') + print(f'Found {len(files)} .npy data files.') + PYCODE - name: Upload coverage to Codecov if: ${{ matrix.os == 'ubuntu-latest' }} From 9d89b6f605517ede61bff4fe59ec66113994c758 Mon Sep 17 00:00:00 2001 From: kanekosh Date: Sat, 1 Nov 2025 00:26:38 -0400 Subject: [PATCH 7/9] bring back full test --- .github/workflows/openconcept.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/openconcept.yaml b/.github/workflows/openconcept.yaml index e7153705..7e565665 100644 --- a/.github/workflows/openconcept.yaml +++ b/.github/workflows/openconcept.yaml @@ -16,8 +16,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - # os: ["ubuntu-latest", "windows-latest", "macos-latest"] - os: ["ubuntu-latest"] + os: ["ubuntu-latest", "windows-latest", "macos-latest"] dep-versions: ["oldest", "latest"] # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set versions to test here ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PYTHON_VERSION_OLDEST: ['3.8'] @@ -86,9 +85,9 @@ jobs: mv n3_hybrid* ./openconcept/propulsion/empirical_data/n+3_hybrid mv n3* ./openconcept/propulsion/empirical_data/n+3 - # - name: Test - # run: | - # python -m pytest --cov-config=.coveragerc --cov=openconcept --cov-report=xml + - name: Test + run: | + python -m pytest --cov-config=.coveragerc --cov=openconcept --cov-report=xml - name: Test if engine deck data is included in package if: ${{ matrix.os == 'ubuntu-latest' }} From a5590c78539a0f89000bc6196c0d0e1be9a86702 Mon Sep 17 00:00:00 2001 From: kanekosh Date: Sat, 1 Nov 2025 00:38:19 -0400 Subject: [PATCH 8/9] run the new check on ubuntu-latest only --- .github/workflows/openconcept.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openconcept.yaml b/.github/workflows/openconcept.yaml index 7e565665..8eb10cd0 100644 --- a/.github/workflows/openconcept.yaml +++ b/.github/workflows/openconcept.yaml @@ -90,7 +90,7 @@ jobs: python -m pytest --cov-config=.coveragerc --cov=openconcept --cov-report=xml - name: Test if engine deck data is included in package - if: ${{ matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.os == 'ubuntu-latest' && matrix.dep-versions == 'latest' }} run: | # Build the wheel and source distribution pip install build setuptools wheel From 38b29e78ff4cb21da8a74d91335130066dc12cb4 Mon Sep 17 00:00:00 2001 From: Shugo Kaneko <49300827+kanekosh@users.noreply.github.com> Date: Mon, 3 Nov 2025 12:19:50 -0500 Subject: [PATCH 9/9] Bump version to 1.2.6 --- openconcept/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openconcept/__init__.py b/openconcept/__init__.py index b7e19904..64c7d51e 100644 --- a/openconcept/__init__.py +++ b/openconcept/__init__.py @@ -1 +1 @@ -__version__ = "1.2.5" +__version__ = "1.2.6"