Skip to content

Commit e969f0c

Browse files
authored
Merge pull request #1244 from AVSLab/feature/v2_9_0
BSK v2.9.0 release
2 parents 9f43d8c + ee98ac1 commit e969f0c

File tree

9 files changed

+33
-4299
lines changed

9 files changed

+33
-4299
lines changed

.github/workflows/publish-wheels.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
os:
17-
- macos-13 # x86_64
1817
- macos-latest # ARM64
1918
- ubuntu-latest # x86_64
2019
- ubuntu-22.04-arm # ARM64
@@ -49,7 +48,7 @@ jobs:
4948
uses: pypa/cibuildwheel@v3.1.4
5049
env:
5150
CONAN_ARGS: "--opNav True --mujoco True --mujocoReplay True"
52-
CIBW_TEST_REQUIRES_WINDOWS: "numpy>=2.1"
51+
CIBW_TEST_SKIP: "*"
5352

5453
- name: Upload wheels
5554
uses: actions/upload-artifact@v4

docs/source/Support/Developer/releaseGuide.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ The high level steps to release a new version of Basilisk are as follows:
1717
#. Ensure documentation builds without warnings or errors.
1818
#. Push branch to origin and do a PR.
1919
#. Merge ``develop`` into ``master``
20+
#. Add release tag to ``master``
2021
#. Create a Release on GitHub
2122

2223
To prepare ``develop`` for the next beta cycle:

docs/source/Support/bskKnownIssues.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Basilisk Known Issues
99
The use of ``cMsgCInterfacePy`` is depreciated. Use ``messaging`` instead.
1010

1111

12-
Version |release|
13-
-----------------
12+
Version |release| (Jan. 28, 2026)
13+
---------------------------------
1414
- The denton flux model API has changed. The module now uses the new data fetching
1515
API and thus relies on users passing in the correct support data location via
1616
``configureDentonFiles``. Previously, the module automatically searched for the

docs/source/Support/bskReleaseNotes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ Basilisk Release Notes
2424
- integrating the `MuJoCo <https://mujoco.org>`_ library as an alternate dynamics engine
2525

2626

27-
Version |release|
28-
-----------------
27+
Version |release| (Jan. 28 2026)
28+
--------------------------------
2929
- Deploy both release docs at https://avslab.github.io/basilisk and developer beta
3030
docs at https://avslab.github.io/basilisk/developer.
3131
- Added :ref:`releaseGuide` on releasing a new version of Basilisk.

docs/source/bskVersion.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.8.41
1+
2.9.0

src/utilities/supportDataTools/dataFetcher.py

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,29 @@ def tag_exists(tag_url: str) -> bool:
7373
def find_local_support_data() -> Optional[Path]:
7474
"""
7575
Return the path to the local ``supportData`` directory if running
76-
from a cloned repo in editable mode, otherwise return ``None``.
76+
from a cloned repo, otherwise return ``None``.
7777
78-
Editable installs place modules under ``dist3/Basilisk/``, while the
79-
repo's ``supportData`` directory lives at the project root.
78+
Works whether running from source (src/) or from built modules (dist3/Basilisk/).
8079
"""
8180
module_path = Path(__file__).resolve()
82-
repo_root = module_path.parents[3]
83-
support_data = repo_root / "supportData"
84-
return support_data if support_data.is_dir() else None
81+
# Walk up the directory tree looking for supportData. From src/ it's 4
82+
# levels up, from dist3/Basilisk/ it's 5 levels up.
83+
for parent in list(module_path.parents)[:6]:
84+
support_data = parent / "supportData"
85+
if support_data.is_dir():
86+
return support_data
87+
return None
8588

8689

8790
# Compute the base GitHub URL once at import time.
88-
# With the caching on `tag_exists` this avoids repeated network calls during
89-
# file fetches.
9091
LOCAL_SUPPORT = find_local_support_data()
91-
BASE_URL = f"https://raw.githubusercontent.com/AVSLab/basilisk/{DATA_VERSION}/"
92+
93+
# For remote fetches (wheel installs), check if the version tag exists. Fall
94+
# back to develop if not
95+
_version_tag_url = f"https://github.com/AVSLab/basilisk/releases/tag/{DATA_VERSION}"
96+
_remote_version = DATA_VERSION if tag_exists(_version_tag_url) else "develop"
97+
BASE_URL = f"https://raw.githubusercontent.com/AVSLab/basilisk/{_remote_version}/"
98+
9299
POOCH = pooch.create(
93100
path=pooch.os_cache("bsk_support_data"),
94101
base_url=BASE_URL,
@@ -118,13 +125,18 @@ def get_path(file_enum: Enum) -> Path:
118125
if local.exists():
119126
return local
120127

121-
# Fall back to pooch cache or remote source
128+
# When running locally, allow remote fetch for external URLs like the
129+
# large NAIF kernels not included in the repo.
130+
if rel in EXTERNAL_KERNEL_URLS:
131+
return Path(POOCH.fetch(rel))
132+
133+
raise FileNotFoundError(f"Support data file not found in local repo: {local}")
134+
135+
# No local repo - fetch from remote (installed from wheel)
122136
try:
123137
return Path(POOCH.fetch(rel))
124138
except Exception as e:
125-
raise FileNotFoundError(
126-
f"Support data file not found locally or via pooch: {rel}"
127-
) from e
139+
raise FileNotFoundError(f"Support data file not found via pooch: {rel}") from e
128140

129141

130142
class DataFile:
@@ -194,6 +206,7 @@ class MagneticFieldData(Enum):
194206
class SkyBrightnessData(Enum):
195207
skyTemperature408MHz = "haslam408_dsds_Remazeilles2014.fits"
196208

209+
197210
CATEGORY_BASE_PATHS = {
198211
"AlbedoData": ALBEDO_DATA_BASE_PATH,
199212
"AtmosphereData": ATMOSPHERE_DATA_BASE_PATH,

supportData/EphemerisData/de-403-masses.tpc

Lines changed: 0 additions & 66 deletions
This file was deleted.

supportData/EphemerisData/naif0012.tls

Lines changed: 0 additions & 152 deletions
This file was deleted.

0 commit comments

Comments
 (0)