Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8abda54
Delete requirements.txt
ehennestad Mar 19, 2026
8276437
Create generate-requirements-txt.yml
ehennestad Mar 19, 2026
44f33de
Add nansentools.generateRequirementsTxt and update workflow
ehennestad Mar 19, 2026
4f532e8
Provide default manifest and output file paths
ehennestad Mar 19, 2026
ca41ac8
Update ModuleManager.m
ehennestad Mar 19, 2026
7f51d50
Add dependency manifest schema to schemas/
ehennestad Mar 20, 2026
f4b04b1
Add dependency reader and resolver
ehennestad Mar 20, 2026
e3c5262
Rename function getRequiredMatlabToolboxes -> getRequiredMathworksPro…
ehennestad Mar 20, 2026
8582f14
Update checkRequiredMathworksProducts.m
ehennestad Mar 20, 2026
f5e9497
Update requirements-dependencies in update workflow
ehennestad Mar 20, 2026
effd253
Changed dependency manifest schema, added manifest instances
ehennestad Mar 20, 2026
c558546
Create TestDependencyManagement.m
ehennestad Mar 20, 2026
6014c4e
Remove getDefaultAddonList - update two-photon dependency manifest
ehennestad Mar 21, 2026
4d03d7e
Update AddonManager.m
ehennestad Mar 21, 2026
80025c3
Update NansenUserSession.m
ehennestad Mar 21, 2026
4d3e9da
Renamed "nansen.internal.setup.getRequiredMathworksProducts" to "nans…
ehennestad Mar 21, 2026
3f27fe6
Renamed "nansen.internal.setup.checkRequiredMathworksProducts" to "na…
ehennestad Mar 21, 2026
d3cdbbd
Add suppressWarning helper to silence warnings
ehennestad Mar 22, 2026
3e8b538
add contents/readme files for affected namespaces
ehennestad Mar 22, 2026
932d97f
Remove stale/unused functions
ehennestad Mar 22, 2026
cd64cee
Create createCommandWindowWebLink.m
ehennestad Mar 22, 2026
f607bd4
Update loadProject.m
ehennestad Mar 22, 2026
c992058
Update checkInstallationStatus.m
ehennestad Mar 22, 2026
a2a09b8
Update nansen_install.m
ehennestad Mar 22, 2026
1c6e6dc
Update install.m
ehennestad Mar 22, 2026
38f8be8
Update dependencies.nansen.json
ehennestad Mar 22, 2026
4b00f5e
Update resolveRequirements.m
ehennestad Mar 22, 2026
eca1e51
Update AddonManager and add AddonManagerTest
ehennestad Mar 22, 2026
3a48f19
Update GitHub badges
github-actions[bot] Mar 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/badges/code_issues.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .github/badges/tests.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions .github/workflows/generate-requirements-txt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Generate requirements.txt from manifest

on:
push:
paths:
- 'code/dependencies.nansen.json'
branches:
- main
- dev
workflow_dispatch:

jobs:
generate-requirements:
name: Regenerate requirements.txt
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.DEPLOY_KEY }}

- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v2

- name: Add toolbox code to path and generate requirements.txt
uses: matlab-actions/run-command@v2
with:
command: |
addpath(genpath('code'));
addpath(genpath('tools'));
nansentools.generateRequirementsTxt( ...
fullfile(pwd, 'dependencies.nansen.json'), ...
fullfile(pwd, 'requirements.txt'));

- name: Check for changes
id: check-changes
run: |
if git diff --quiet requirements.txt; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi

- name: Commit and push updated requirements.txt
if: steps.check-changes.outputs.changed == 'true'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add requirements.txt
git commit -m "Auto-generate requirements.txt from manifest [skip ci]"
git push
Binary file modified code/+nansen/+app/+setup/SetupWizard.mlapp
Binary file not shown.
10 changes: 7 additions & 3 deletions code/+nansen/+app/+tutorial/loadProject.m
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,26 @@
error('User canceled.')
end

% We need the addonmanager to ensure all tutorial dependencies are installed
addonManager = nansen.AddonManager();

if startsWith(S(selection), 'Allen Brain Observatory')
addonManager = nansen.AddonManager();

names = {addonManager.AddonList.Name};
S = addonManager.AddonList(strcmp(names, "Brain Observatory Toolbox"));
if ~S.IsInstalled
fprintf('Downloading %s...', S.Name)
addonManager.downloadAddon(S.Name)
addonManager.addAddonToMatlabPath(S.Name)
fprintf('Finished.\n')
end

elseif startsWith(S(selection), 'Nansen - Two-photon Quickstart')
warnState = warning('off', 'MATLAB:RMDIR:RemovedFromPath');
warnCleanup = onCleanup(@() warning(warnState));

disp('Installing two-photon addons...')
nansen.internal.setup.installAddons()
addonManager.installMissingAddons('nansen.module.ophys.twophoton')

% Some users had problems where Yaml was not added to java path
nansen.internal.setup.addYamlJarToJavaClassPath
end
Expand Down
14 changes: 14 additions & 0 deletions code/+nansen/+common/suppressWarning.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
function warningCleanupObj = suppressWarning(warningId)
% suppressWarning - Temporarily suppress warning with given warning id
%
% Example usage:
%
% warningIdentifier = 'MATLAB:callback:error';
% warningCleanup = nansen.common.suppressWarning(warningIdentifier); %#ok<NASGU>

arguments
warningId (1,:) char
end
warnState = warning('off', warningId);
warningCleanupObj = onCleanup(@() warning(warnState));
end
Loading