Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
1f8264b
Merge pull request #150 from MetaCell/main
ddelpiano Oct 5, 2023
2815b69
Merge pull request #151 from MetaCell/main
ddelpiano Oct 5, 2023
90cfdf5
Fixing show graph on macos due to issue with graphviz for mkdir freeze
ddelpiano Nov 14, 2023
fc4a29a
Update README.md
jrmartin Nov 14, 2023
6715a32
Fixes that worked on Mac M1 Instance
jrmartin Dec 18, 2023
4f4e5bb
Merge branch 'develop' into release/0.0.5-fixes
ddelpiano Jun 24, 2024
d517a45
latest updates and build github actions
ddelpiano Jun 24, 2024
a83709c
fixing build packages
ddelpiano Jun 24, 2024
e1149c4
fixing conda path for macos
ddelpiano Jun 24, 2024
ada8d9a
fixing packaging
ddelpiano Jun 24, 2024
1e1c73f
checking conda
ddelpiano Jun 24, 2024
aa234db
checking conda 2
ddelpiano Jun 24, 2024
7b19545
checking conda 3
ddelpiano Jun 24, 2024
647fb8b
checking conda 4
ddelpiano Jun 24, 2024
4c7f656
checking conda 5
ddelpiano Jun 24, 2024
0d253d9
checking conda 6
ddelpiano Jun 24, 2024
ca1356b
#PSYNEU-134 - POC packacking application as a python package installa…
jrmartin Jun 28, 2024
dc11b75
#PSYNEU-134 -Better logging and symlink creation
jrmartin Jun 28, 2024
f0e970c
#134 - Fix symlink path
jrmartin Jun 30, 2024
e0622fe
#134- Add read me instructions
jrmartin Jun 30, 2024
1baba8e
#134 - Add checks for OS, python version, conda version, graphviz and…
jrmartin Jul 3, 2024
f7a440c
Merge remote-tracking branch 'origin/develop' into feature/PSYNEU-134
jrmartin Jul 3, 2024
44406e2
conda changes for osx
ddelpiano Jul 3, 2024
bc42389
conda changes for osx 2
ddelpiano Jul 3, 2024
778b7b0
conda changes for osx 3
ddelpiano Jul 3, 2024
60c3d5b
fixing conflicts
ddelpiano Jul 3, 2024
7a85b1e
Merge pull request #152 from MetaCell/release/0.0.5-fixes
ddelpiano Jul 3, 2024
73f87b7
#134 - Add entry point to launch psyneulink. Adds dist packages
jrmartin Jul 4, 2024
7f0dd97
#134 - Add entry point to allow installing and running psyneulinkview…
jrmartin Jul 5, 2024
4e14791
Update README.md
jrmartin Jul 5, 2024
b481c42
Update README.md
jrmartin Jul 12, 2024
8cf1dee
adding release actions
ddelpiano Jul 25, 2024
3ad185f
forgot release yml
ddelpiano Jul 25, 2024
f22ff5f
modifying actions build
ddelpiano Jul 25, 2024
274bd7d
#PSYNEU-136 - Conda installation as part of pip install process
jrmartin Jul 26, 2024
0cc490b
#PSYNEU-136 - Clean up logs
jrmartin Jul 26, 2024
2fa6aa9
#PSYNEU-136 - Clean up conda installation process
jrmartin Jul 26, 2024
6dee38c
#PSYNEU-137 - Install rosetta as part of pip installation process
jrmartin Jul 26, 2024
b3f5c44
#PSYNEU-137 - Cleanup check
jrmartin Jul 26, 2024
9fb06a8
#PSYNEU-137 - Fix import
jrmartin Jul 26, 2024
5d6d8ec
#PSYNEU-137 - Fix rosetta installation
jrmartin Jul 26, 2024
300f15a
#PSYNEU-135 - Check node version and install if not present
jrmartin Jul 26, 2024
f7477fb
#PSYNEU-136 - Create conda with python version 3.11
jrmartin Jul 26, 2024
54ff156
#PSYNEU-135 - Uncoment line for conda installation
jrmartin Jul 26, 2024
1c2314c
#PSYNEU-134 - Use cmdClass to install prerequesites during installati…
jrmartin Jul 26, 2024
b5e65a4
Merge branch 'feature/PSYNEU-134' into feature/PSYNEU-136
jrmartin Jul 26, 2024
be43f51
#PSYNEU-136 - Update prerequesites in start.py file
jrmartin Jul 26, 2024
fc52ef6
#PSYNEU-136 - Remove build folder
jrmartin Jul 26, 2024
525ef77
Merge branch 'feature/PSYNEU-136' into feature/PSYNEU-137
jrmartin Jul 26, 2024
e4a5735
Merge branch 'feature/PSYNEU-137' into feature/PSYNEU-135
jrmartin Jul 26, 2024
bb3b96c
#PSYNEU-135 - Cleanup
jrmartin Jul 26, 2024
532f36f
Merge pull request #154 from MetaCell/feature/sow2_updates
ddelpiano Jul 28, 2024
00b2413
#PSYNEU-136 - Wrap installation on try/catch, and fix typo
jrmartin Jul 29, 2024
f3add78
#PSYNEU-136 - Better logging
jrmartin Jul 29, 2024
be85e85
Merge branch 'feature/PSYNEU-136' into feature/PSYNEU-137
jrmartin Jul 29, 2024
0c254d0
#PSYNEU-137 -Wrap rosetta installation into try/catch
jrmartin Jul 29, 2024
3e5d6d0
Merge branch 'feature/PSYNEU-137' into feature/PSYNEU-135
jrmartin Jul 29, 2024
f0ffa0e
#PSYNEU-135 - Wrap check node installation with try/catch
jrmartin Jul 29, 2024
db37698
#PSYNEU-136 - Handle better errors when conda not present
jrmartin Aug 6, 2024
aebd9f6
Merge branch 'feature/PSYNEU-136' into feature/PSYNEU-137
jrmartin Aug 6, 2024
a4ffef9
#PSYNEU-137 - Handle better lack of rossetta installation, catch erro…
jrmartin Aug 6, 2024
bb6947c
Merge branch 'feature/PSYNEU-137' into feature/PSYNEU-135
jrmartin Aug 6, 2024
dc4b700
#PSYNEU-135 - Handle better node installation when there's an error
jrmartin Aug 6, 2024
87571da
#PSYNEU-136 - Don't log error if exception is FileNotFoundError and c…
jrmartin Aug 6, 2024
e317a20
Merge branch 'feature/PSYNEU-136' into feature/PSYNEU-137
jrmartin Aug 6, 2024
86db203
#PSYNEU-137 - Don't log error if exception is FileNotFoundError and c…
jrmartin Aug 6, 2024
2d9fcbd
Merge branch 'feature/PSYNEU-137' into feature/PSYNEU-135
jrmartin Aug 6, 2024
5c37e4f
#PSYNEU-135 - Don't log error if exception is FileNotFoundError and c…
jrmartin Aug 6, 2024
1ea5afa
Merge pull request #159 from MetaCell/development
ddelpiano Aug 9, 2024
2e071e4
building before packaging
ddelpiano Aug 9, 2024
369d86d
Merge pull request #160 from MetaCell/feature/fix_actions
ddelpiano Aug 9, 2024
0cfeda6
Merge pull request #157 from MetaCell/feature/PSYNEU-135
ddelpiano Aug 9, 2024
95a3680
Merge pull request #156 from MetaCell/feature/PSYNEU-137
ddelpiano Aug 9, 2024
b2e536b
Merge pull request #155 from MetaCell/feature/PSYNEU-136
ddelpiano Aug 9, 2024
f2996e1
Merge pull request #153 from MetaCell/feature/PSYNEU-134
ddelpiano Aug 9, 2024
1d37a81
#PSYNEU-140 - Fixes to installation process
jrmartin Aug 10, 2024
f03a84e
#PSYNEU-140 - Using conda binary to run installation
jrmartin Aug 14, 2024
599a3f2
#PSYNEU-140 - Fix installation process on MAC , update distribution f…
jrmartin Aug 19, 2024
398a4e1
#PSYNEU-140 - Cleanup
jrmartin Aug 19, 2024
8fda62e
#PSYNEU-140 - Fix installation issues on MAC
jrmartin Aug 20, 2024
566fe1d
#PSYNEU - 140
jrmartin Aug 20, 2024
d656d98
#PSYNEU-140 - Update installation instructions
jrmartin Aug 21, 2024
96a8a76
#PSYNEU-140 - Cleanup
jrmartin Aug 21, 2024
4fd2203
Update README.md
jrmartin Aug 21, 2024
f9fc165
#PSYNEU-138 - Add installation scripts and update read me
jrmartin Aug 30, 2024
4cf3ff7
Update README.md
jrmartin Aug 30, 2024
3ce78f1
#PSYNEU-140 - Cleanup
jrmartin Sep 1, 2024
7b6c8d8
#PSYNEU-140 - Update version and cleanup logs
jrmartin Sep 1, 2024
5de5806
#PSYNEU-140 - Delete old version
jrmartin Sep 1, 2024
8b8e2e2
#PSYNEU-140 -Update readme
jrmartin Sep 5, 2024
b922e30
#PSYNEU-140 - Update version to fix issue with previous one
jrmartin Sep 5, 2024
57fb424
Merge pull request #161 from MetaCell/feature/PSYNEU-140
ddelpiano Sep 6, 2024
e909cc4
Update README.md
jrmartin Sep 10, 2024
b42a2eb
Update README.md
jrmartin Sep 10, 2024
850981f
#PSYNEU-140 - Update version and install symlink for Mac users on use…
jrmartin Sep 10, 2024
14dea7e
Merge branch 'feature/PSYNEU-140' of https://github.com/MetaCell/PsyN…
jrmartin Sep 10, 2024
c0a45f5
#PSYNEU-140 - Update version, allow installation if users are creatin…
jrmartin Sep 10, 2024
6533f13
#PSYNEU-140 - Update readme and bash scripts
jrmartin Sep 10, 2024
b090b2e
#PSYNEU-145 - Add desktop icons, release new version with previous fi…
jrmartin Sep 16, 2024
73dd8e6
Merge branch 'develop' into feature/PSYNEU-140
jrmartin Sep 16, 2024
bd2e065
#PSYNEU-145 - Fix wrong install path
jrmartin Sep 17, 2024
0224809
Merge branch 'feature/PSYNEU-140' of https://github.com/MetaCell/PsyN…
jrmartin Sep 17, 2024
8915a64
#PSYNEU-140 - Check for python 3.7 to 3.12
jrmartin Sep 20, 2024
32932dd
#PSYNEU-140 - Version update
jrmartin Sep 20, 2024
79e1b46
Update linux_installer.sh
jrmartin Sep 23, 2024
c6d7430
#PSYNEU-140 - Fix installation on linux
jrmartin Sep 23, 2024
261fe62
#PSYNEU-140 - Update version after python check fix
jrmartin Sep 23, 2024
fc47cf3
#PSYNEU -140 - Fix linux installation bugs
jrmartin Sep 25, 2024
164b51c
#PSYNEU - 140 - update version with fixes
jrmartin Sep 25, 2024
559a8f3
#psyneu-140 - fix desktop
jrmartin Sep 25, 2024
fc66d21
#PSYNEU-140 - Fix re-running installation after broken step
jrmartin Sep 25, 2024
bbbc792
#PSYNEU-140 - Mac installation fixes, updating version
jrmartin Sep 25, 2024
1c651cf
#PSYNEU-140 - remove testing path , use prod path for psyneulinkviewer
jrmartin Sep 25, 2024
bca0005
#PSYNEU-140 - Add sandbox permission commands, fix other installation…
jrmartin Sep 27, 2024
4895a29
Merge pull request #162 from MetaCell/feature/PSYNEU-140
ddelpiano Oct 7, 2024
6a1411f
updating readme with the packaging information
ddelpiano Oct 22, 2024
95afdda
Merge pull request #164 from MetaCell/update_readme
ddelpiano Oct 22, 2024
dfd6e6f
check last command on script exec
ddelpiano Nov 7, 2024
b805971
check last command on script exec 2
ddelpiano Nov 7, 2024
22af705
check last command on script exec 3
ddelpiano Nov 7, 2024
a1fef9b
check last command on script exec 4
ddelpiano Nov 7, 2024
3839aa3
pushing installers
ddelpiano Nov 7, 2024
e988ce2
fix readmes
ddelpiano Nov 7, 2024
cd72802
fix readmes 2
ddelpiano Nov 7, 2024
de0b587
Merge pull request #165 from MetaCell/feature/installer_improvements
ddelpiano Nov 7, 2024
4dc0d2b
fixing env inheritance in linux installer
ddelpiano Nov 10, 2024
4ce8a02
adding installer.py
ddelpiano Nov 11, 2024
1bdf1b2
Fix installation packages for mac and linux
jrmartin Nov 12, 2024
726d56e
Conda version check fix attempt, forces None when there's an error t…
jrmartin Nov 13, 2024
c9d1b1e
Update version
jrmartin Nov 13, 2024
8743829
Merge pull request #166 from MetaCell/feature/develop-fix-installers
ddelpiano Nov 13, 2024
518238e
Find conda path dynamically
jrmartin Nov 18, 2024
71cfde3
cleanup script
jrmartin Nov 18, 2024
b0fe60b
Kill server if running prior to installation
jrmartin Nov 18, 2024
2397d48
Cleanup linux script
jrmartin Nov 18, 2024
a8e1637
Find conda path, if not look in usual places
jrmartin Nov 19, 2024
ebb6879
Merge branch 'develop' of https://github.com/MetaCell/PsyNeuLinkView …
ddelpiano Nov 26, 2024
4917597
update latest
ddelpiano Nov 26, 2024
cc67583
Merge pull request #169 from MetaCell/feature/installer_improv_2
ddelpiano Nov 26, 2024
b265d05
Merge pull request #168 from MetaCell/feature/develop-fix-installers
ddelpiano Nov 26, 2024
aa20171
edit readme
ddelpiano Nov 26, 2024
34867e4
installers action
ddelpiano Nov 26, 2024
8ca1e65
fixing bash installation
ddelpiano Nov 26, 2024
cfe49e2
fixing installer job
ddelpiano Nov 26, 2024
d74d8e5
Merge pull request #170 from MetaCell/feature/update_readme
ddelpiano Nov 26, 2024
0d8676d
changing python version
ddelpiano Nov 26, 2024
d47bf28
fix in installer yaml
ddelpiano Nov 26, 2024
0d484f1
fix in installer yaml 2
ddelpiano Nov 26, 2024
f527c37
fixing request import
ddelpiano Nov 26, 2024
79085ab
generate single file for the installer
ddelpiano Nov 26, 2024
6f93448
fixing issue in psyneuview build with the installation.sh
ddelpiano Nov 26, 2024
bafaca6
still issues with the requests lib missing
ddelpiano Nov 26, 2024
676e2d0
fixing mac script
ddelpiano Nov 27, 2024
8c03dc8
fixing macos installer
ddelpiano Nov 27, 2024
5958891
producing 3 installers, 2 macos versions
ddelpiano Nov 27, 2024
a8c6da2
producing 3 installers, 2 macos versions 2
ddelpiano Nov 27, 2024
e5afb3c
reverting to working runners
ddelpiano Nov 27, 2024
ebf949b
generate .app for macos
ddelpiano Nov 27, 2024
45d7d2c
new README
ddelpiano Nov 27, 2024
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
43 changes: 43 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Build
on: [pull_request]

jobs:
build_on_linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@master
with:
node-version: 18.19
- name: install meta-diagram
run: bash installation.sh -i
- name: install dependencies
run: yarn
- name: build
run: yarn build
- name: package
run: yarn linux64
- name: archive
run: tar -czf linux.tar.gz ./psyneulinkviewer-linux-x64

build_on_mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@master
with:
node-version: 18.19
- name: create conda symlink
run: wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O ~/miniconda.sh && bash ~/miniconda.sh -b -p $HOME/miniconda && source $HOME/miniconda/bin/activate && conda init
- name: extra steps
run: source $HOME/miniconda/bin/activate && conda --version
- name: install meta-diagram
run: source $HOME/miniconda/bin/activate && bash installation.sh -i
- name: install dependencies
run: yarn
- name: build
run: yarn build
- name: package
run: yarn osx
- name: archive
run: tar -czf osx.tar.gz ./psyneulinkviewer-darwin-x64
33 changes: 33 additions & 0 deletions .github/workflows/installers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Installers
on:
release:
types:
- created
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest', 'macos-latest']

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.12.7

- name: Install dependencies
working-directory: ./package/installers
run: pip install -r requirements.txt
- name: Build
working-directory: ./package/installers
run: pyinstaller --onefile -w installer.py
- name: Rename the installer with the OS name
working-directory: ./package/installers
run: mv dist/ psyneuviewer-installer-${{ matrix.os }} && tar cvfz psyneu-installer-${{ matrix.os }}.tar.gz psyneuviewer-installer-${{ matrix.os }}
- name: release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: ./package/installers/psyneu-installer-${{ matrix.os }}.tar.gz
56 changes: 56 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Release
on:
release:
types:
- created

jobs:
build_on_linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@master
with:
node-version: 18.19
- name: install meta-diagram
run: bash installation.sh -i
- name: install dependencies
run: yarn
- name: build
run: yarn build
- name: package
run: yarn linux64
- name: archive
run: tar -czf linux.tar.gz ./psyneulinkviewer-linux-x64
- name: release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: linux.tar.gz

build_on_mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@master
with:
node-version: 18.19
- name: create conda symlink
run: wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O ~/miniconda.sh && bash ~/miniconda.sh -b -p $HOME/miniconda && source $HOME/miniconda/bin/activate && conda init
- name: extra steps
run: source $HOME/miniconda/bin/activate && conda --version
- name: install meta-diagram
run: source $HOME/miniconda/bin/activate && bash installation.sh -i
- name: install dependencies
run: yarn
- name: build
run: yarn build
- name: package
run: yarn osx
- name: archive
run: tar -czf osx.tar.gz ./psyneulinkviewer-darwin-x64
- name: release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: osx.tar.gz
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,6 @@ yalc.lock
#prettier config
.prettierrc.json

.idea
.idea

package/.eggs
166 changes: 109 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,95 +1,153 @@
# Production installation
# Installing on MacOS

## Pre installation
## Use the installer file

This application comes with a requirement for node [version 16.16](https://nodejs.org/en/blog/release/v16.16.0), please install that node version or nvm ([macos installation](https://aws.plainenglish.io/how-to-install-nvm-on-a-mac-8c1e9d1adc17) or [linux installation](https://tecadmin.net/how-to-install-nvm-on-ubuntu-20-04/)) to manage multiple node version.
Download the [installer](https://github.com/MetaCell/PsyNeuLinkView/releases/download/0.0.6/psyneu-installer-macos-latest.tar.gz) file, uncompress the archive, enter in the folder extracted and click on installer.app to execute the PsyNeuLinkViewer installation.

In order to being able to run successfully PsyNeuLinkView you will need to follow the steps below
Note: The app is not signed through an Apple developer ID, so depending on the security settings of your machine you might need to instruct the Gatekeeper that the app you are trying to run is secure.

- Create a conda environment
To do so:

- On your Mac, choose Apple menu > System Settings, then click Privacy & Security in the sidebar. (You may need to scroll down.)
- Go to Security, then click Open.
- Click Open Anyway.
- This button is available for about an hour after you try to open the app.
- Enter your login password, then click OK.

## Manual installation in a custom conda environment

PsyNeuLinkViewer is an application built on top of Electron (and NodeJS) and python for what concern the simulation part, since is levering [PsyNeuLink](https://github.com/PrincetonUniversity/PsyNeuLink) at the backend level.
We might want to run this installation for a specific conda environment, in that case the steps to follow are:

- Download the script from <a href="https://raw.githubusercontent.com/MetaCell/PsyNeuLinkView/develop/package/scripts/mac_installer.sh" download>here</a>

- Open your Terminal application

- Move to the same folder where the file has been downloaded
```
conda create --name psnl_viewer python=3.7
cd ~/Downloads
```

* Activate the conda environment just created
- Create and/or activate the conda environment you want to use
```
conda create --name psyneulinkview python=3.10
conda activate psyneulinkview
```

- Run the installation script
```
conda activate psnl_viewer
bash mac_installer.sh
```
- Once finished, the script will create the terminal command psyneulinkviewer which can be used to launch the application, otherwise this will be present also in your desktop.

# Installing on Linux

## Use the installer file

Download the [installer](https://github.com/MetaCell/PsyNeuLinkView/releases/download/0.0.6/psyneu-installer-ubuntu-latest.tar.gz) file, uncompress the archive, enter in the folder extracted and click on installer.app to execute the PsyNeuLinkViewer installation.

* Make the pre_installation.sh script executable
## Manual installation in a custom conda environment

PsyNeuLinkViewer is an application built on top of Electron (and NodeJS) and python for what concern the simulation part, since is levering [PsyNeuLink](https://github.com/PrincetonUniversity/PsyNeuLink) at the backend level.
We might want to run this installation for a specific conda environment, in that case the steps to follow are:

- Download the script from <a href="https://raw.githubusercontent.com/MetaCell/PsyNeuLinkView/develop/package/scripts/linux_installer.sh" download>here</a>

- Open your Terminal application

- Move to the same folder where the file has been downloaded
```
chmod +x pre_installation.sh
cd ~/Downloads
```

* Run the pre_installation script that will take care of installing PsyNeuLink
- Create and/or activate the conda environment you want to use
```
conda create --name psyneulinkview python=3.10
conda activate psyneulinkview
```

- Run the installation script
```
bash pre_installation.sh
bash linux_installer.sh
```
- Once finished, the script will create the terminal command psyneulinkviewer which can be used to launch the application, otherwise this will be present also in your desktop.

* Download the packaged version of the software from the [releases page](https://github.com/MetaCell/PsyNeuLinkView/releases) link, then
# Installation process inside script

### MacOS
The scripts above run the following commands in order:

* Open your terminal and navigate to the folder containing the archive osx.tar.gz previously downloaded
Firs installs the python module 'psyneulinkviewer' from PyPi

* Open the archive and then navigate in the app folder with the commands below
```
sudo pip install psyneulinkviewer
```

```
tar xvfz osx.tar.gz
cd PsyNeuLinkViewer-darwin-x64/PsyNeuLinkViewer.app/Contents/MacOS/
```
This commands installs required libraries and packages. Also creates a conda enviroment where the needed packages are installed.

* Before to launch the application ensure that you are running the node version required, so
After successfully installing the python package above, it reset the user's bash profile to apply the settings changes

```
node --version
```
- Linux

and if this is different from v16.16 then either follow the steps at the top or run
```
source ~/.profile
```

```
nvm use 16.16
```
- Mac

* Now you can run the application
```
source ~/.bash_profile
```

Then, a desktop file is created on the Desktop which allows users to open the application this way

# Psyneulinkviewer Requirements

```
./PsyNeuLinkViewer
```
Psyneulinkviewer requires:

### Linux
- Python 3.11 and pip
- Pip packages : psyneulink, graphviz, wget, packaging and requests
- Conda 4.9.1 or above
- Node 4.19.0 or above
- Rosetta ( on Mac)

* Open your terminal and navigate to the folder containing the archive linux.tar.gz previously downloaded
All of these are downloaded and installed as part of psyneulinkviewer installation process.

* Open the archive and then navigate in the app folder with the commands below
# Testing Models

```
tar xvfz linux.tar.gz
cd PsyNeuLinkViewer-linux-x64/
```
If all went well with installation, you should see the application running as in screenshot below :
![image](https://github.com/user-attachments/assets/ec84044c-287a-4e39-bdf7-aa27cdc486f9)

* Before to launch the application ensure that you are running the node version required, so
To test models, download [these models](https://github.com/MetaCell/PsyNeuLinkView/tree/feature/PSYNEU-140/test_models) and import one at a time to test. Each time a Model is open, the previous one will disappear. I recommend you start with the models inside 'working_tests', as those are the ones we know for sure should we working.

```
node --version
```
To import go to File -> Open Models

and if this is different from v16.16 then either follow the steps at the top or run
# PsyNeuLinkView Package Building

```
nvm use 16.16
```
To build pip package

```
cd package
python3 -m pip install build
python3 -m build --sdist
```

* Now you can run the application
To test local build

```
./PsyNeuLinkViewer
```
```
pip install dist/psyneulinkviewer-VERSIOn.tar.gz
```

To upload to distribution server. You will need token shared privately to be able to upload.

```
python3 -m twine upload dist/*
```

To upload to test Pypi server

```
python3 -m twine upload --repository testpypi dist/*
```

# Development Installation

Expand Down Expand Up @@ -130,12 +188,6 @@ chmod +x installation.sh

## Usage

- If you need to work purely on the frontend you can run:

```
yarn run start:dev
```

- If you need to work on the entire flow of the application you must start it with:

```
Expand Down
12 changes: 12 additions & 0 deletions installation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -179,3 +179,15 @@ else
echo " - The script can be run in update (-u / --update) or install (-i / --install) mode."
echo " - please use the option desidered to run the script again."
fi

echo "### installing graphviz ###"
conda install -y python-graphviz

echo "### removing grpcio ###"
pip uninstall -y grpcio && pip uninstall -y grpcio-tools

echo "### installing grpcio ###"
conda install -y -c conda-forge grpcio

echo "### installing modeci_mdf ###"
pip install modeci_mdf
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "psyneulinkviewer",
"version": "0.0.4",
"version": "0.0.5",
"main": "./public/electron.js",
"description": "An editor and viewer for PsyNeuLink models",
"private": true,
Expand All @@ -13,9 +13,9 @@
"@fortawesome/react-fontawesome": "^0.1.9",
"@grpc/grpc-js": "^1.8.9",
"@grpc/proto-loader": "^0.7.5",
"@metacell/geppetto-meta-client": "1.2.0",
"@metacell/geppetto-meta-core": "1.2.0",
"@metacell/geppetto-meta-ui": "1.2.0",
"@metacell/geppetto-meta-client": "1.2.8",
"@metacell/geppetto-meta-core": "1.2.8",
"@metacell/geppetto-meta-ui": "1.2.8",
"@metacell/meta-diagram": "file:.yalc/@metacell/meta-diagram",
"@mui/icons-material": "^5.8.4",
"@mui/lab": "^5.0.0-alpha.103",
Expand Down
Loading