Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for running PennAI on Raspberry Pi #305

Merged
merged 151 commits into from
Aug 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
7e11806
Add new dockerfiles for raspberry pi
JDRomano2 Jan 15, 2021
72174b7
add coveralls
Jan 15, 2021
4c56e10
Create new docker compose configuration for rpi
JDRomano2 Jan 15, 2021
bde6cb5
Add rpi dependency wheels as a Git submodule
JDRomano2 Jan 15, 2021
e9f7da9
Make Dockerfiles for rpi see wheel files
JDRomano2 Jan 15, 2021
add2dd7
Revert machine Dockerfile_production after accidental change
JDRomano2 Jan 15, 2021
e5cadd4
Builds all docker containers
JDRomano2 Jan 16, 2021
611f55e
Create mongodb data directory in dbmongo container if it doesn't exist
JDRomano2 Jan 16, 2021
ca2a305
edit coveragerc
Jan 20, 2021
f4efeba
edit env
Jan 20, 2021
90cdfcc
edit coveragerc again
Jan 20, 2021
1133216
edit github action again
Jan 20, 2021
e543d26
add relative_files = True
Jan 20, 2021
37f88fe
Bump socket.io from 2.3.0 to 2.4.0 in /lab
dependabot[bot] Jan 21, 2021
af6c275
Jenkins CI cleanup
hjwilli Jan 21, 2021
1be9c78
Merge pull request #307 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jan 21, 2021
f431523
Bump machine (rpi) to buster to fix arm64 glibc distribution
JDRomano2 Jan 24, 2021
ed25cd6
Improve naming convention for RPi dockerfiles and create RPi test doc…
JDRomano2 Jan 24, 2021
b63c2f5
Make new test docker-compose files point to the right Dockerfiles
JDRomano2 Jan 24, 2021
6157f68
Pass all unit tests on Raspberry Pi
JDRomano2 Jan 25, 2021
aa38f6d
new workflow
Jan 28, 2021
e31cc20
new workflow fix
Jan 28, 2021
10527e5
Update .coveragerc
weixuanfu Jan 28, 2021
945fe3c
use numpy 1.19.5 instead
Feb 5, 2021
1066b62
Merge branch 'coveralls' of github.com:EpistasisLab/pennai into cover…
Feb 5, 2021
13093d4
updates requirements and fixes fn signature changes to new surprise v…
lacava Feb 19, 2021
53bd296
removes separate call to surprise
lacava Feb 19, 2021
fc14910
removes extra surprise mentions
lacava Feb 19, 2021
68cc89b
unit test refactor
hjwilli Feb 19, 2021
ada1b2f
Merge pull request #310 from EpistasisLab/coveralls
hjwilli Feb 19, 2021
9305093
Merge branch 'master' into unit_test_runner_refactor
hjwilli Feb 19, 2021
984422d
Update pennai_tests.yml
hjwilli Feb 19, 2021
3160a0e
Merge branch 'master' into unit_test_runner_refactor
hjwilli Feb 19, 2021
352f8b8
Update README.md
hjwilli Feb 19, 2021
257dce1
github actions unit testing
hjwilli Feb 19, 2021
b2c1627
Update pennai_tests.yml
hjwilli Feb 19, 2021
4b237de
Merge pull request #314 from EpistasisLab/unit_test_runner_refactor
hjwilli Feb 19, 2021
9a7afdf
Dataset Upload UI changes
mgstauffer Jan 12, 2021
20451d2
Finish ordinal ranking UI
mgstauffer Jan 25, 2021
012cd83
Change text-based feature-specification modals to new method and fix
mgstauffer Jan 28, 2021
44d48e1
Add escape-key support for closing modals in File Upload window
mgstauffer Feb 1, 2021
bb50a5a
File Upload - fix esc key behavior w/ error dialog; fix cancel file load
mgstauffer Feb 2, 2021
86a3446
file upload - small UI changes - probably the final ones
mgstauffer Feb 3, 2021
a94fca7
R2 score UI changes
hjwilli Feb 24, 2021
c6897a0
Allow negative R2 scores when determining best
hjwilli Feb 24, 2021
ca995f2
Merge branch 'master' into surprise_pkg
lacava Feb 26, 2021
ced3299
tries without the -e flag
lacava Feb 26, 2021
fe61a5c
updates surprise pkg, trying to force it to use cython
lacava Feb 26, 2021
dae1c18
regression UI update
hjwilli Feb 26, 2021
711d482
Update pennai_tests.yml
hjwilli Feb 26, 2021
90712f6
Merge branch 'master' into regression_ui
hjwilli Mar 5, 2021
56a5c60
Merge pull request #316 from EpistasisLab/regression_ui
hjwilli Mar 5, 2021
57dcee9
updates surprise version in docs
lacava Mar 5, 2021
53d25d8
Bump elliptic from 6.5.3 to 6.5.4 in /lab/webapp
dependabot[bot] Mar 9, 2021
ba4014b
Merge pull request #320 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Mar 11, 2021
24c23ab
use surprise v1.1.1.1
lacava Mar 12, 2021
aa640d1
FileUpload - add auto-selection of target column during init
mgstauffer Mar 15, 2021
6a1683b
FileUpload - fix bug with textual specification of categorical features
mgstauffer Mar 19, 2021
ba74f49
Merge pull request #313 from EpistasisLab/surprise_pkg
lacava Mar 26, 2021
8f8fd23
Bump y18n from 4.0.0 to 4.0.1 in /machine
dependabot[bot] Mar 30, 2021
0fd88f4
Merge pull request #322 from EpistasisLab/dependabot/npm_and_yarn/mac…
hjwilli Apr 2, 2021
632e30a
Bump y18n from 4.0.0 to 4.0.1 in /lab
dependabot[bot] Apr 2, 2021
1ac1a41
Bump y18n from 4.0.0 to 4.0.1 in /lab/webapp
dependabot[bot] Apr 2, 2021
8555928
Merge pull request #323 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Apr 2, 2021
6ebea52
Merge pull request #321 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Apr 2, 2021
4f76b40
Merge pull request #317 from EpistasisLab/DataUploadUiTweaksNew
hjwilli Apr 7, 2021
3041f53
Bump ua-parser-js from 0.7.19 to 0.7.28 in /lab/webapp
dependabot[bot] May 6, 2021
1ce32f7
Merge pull request #324 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli May 7, 2021
c05c2b1
Bump hosted-git-info from 2.7.1 to 2.8.9 in /lab/webapp
dependabot[bot] May 10, 2021
245c6a4
Working on FileUpload unit tests. Several new ones added
mgstauffer Mar 15, 2021
bf67a1f
IN PROGRESS FileUpload more tests.
mgstauffer Mar 15, 2021
b1cc70b
IN PROGRESS FileUpload more tests.
mgstauffer Apr 15, 2021
d93ec5c
File Upload - unit tests complete
mgstauffer Apr 16, 2021
0247d4b
Fix unit test runner and js_tests to exit with appropriate exit codes
mgstauffer May 4, 2021
e8f6d79
File Upload Unit Tests - add enzyme snapshot gen'ed on local machine
mgstauffer May 7, 2021
9cc3ca1
Add local-gen snapshot via yml; unit_test_runner changes in progress
mgstauffer May 18, 2021
c94b686
Revert unit_test_runner.sh changes
mgstauffer May 24, 2021
f103001
Bump browserslist from 4.12.0 to 4.16.6 in /lab
dependabot[bot] May 25, 2021
f2eead1
Unit testing - add env var-based options for managing which run
mgstauffer May 25, 2021
7cb3f17
Bump glob-parent from 5.0.0 to 5.1.2 in /machine
dependabot[bot] Jun 9, 2021
ee2e55a
Merge pull request #331 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jun 11, 2021
a24da22
Bump ws from 3.3.3 to 5.2.3 in /lab
dependabot[bot] Jun 11, 2021
2457c42
Merge pull request #329 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jun 11, 2021
b23556b
Bump hosted-git-info from 2.8.8 to 2.8.9 in /lab
dependabot[bot] Jun 11, 2021
42984c0
Merge pull request #335 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jun 15, 2021
2c30790
Bump ws from 3.3.3 to 5.2.3 in /machine
dependabot[bot] Jun 15, 2021
8a5124f
Merge pull request #330 from EpistasisLab/FileUploadUnitTests2
mgstauffer Jun 16, 2021
13ac76d
Bump lodash from 4.17.19 to 4.17.21 in /lab
dependabot[bot] Jun 16, 2021
c552778
Merge branch 'master' into UnitTestRunnerOptions
mgstauffer Jun 16, 2021
dc44de4
Merge pull request #332 from EpistasisLab/UnitTestRunnerOptions
mgstauffer Jun 16, 2021
537118b
Merge pull request #328 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jun 21, 2021
6e8ea7d
Merge pull request #326 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jun 21, 2021
bb6ff48
Bump lodash from 4.17.19 to 4.17.21 in /lab/webapp
dependabot[bot] Jun 21, 2021
b4d6869
Update developerGuide.md
mgstauffer Jun 23, 2021
2b2dfce
Fixed update of dataset page on sibling site instances.
mgstauffer Jun 15, 2021
1180561
Add dataset prediction type as filter and column on Experiments page
mgstauffer Jun 25, 2021
6b9b4e1
Bump socket.io-parser from 3.3.0 to 3.3.2 in /lab/webapp
dependabot[bot] Jul 1, 2021
fc5f41e
Merge pull request #338 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jul 8, 2021
c9d8afc
Merge pull request #327 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Jul 8, 2021
ca2031e
Bump lodash from 4.17.19 to 4.17.21 in /machine
dependabot[bot] Jul 8, 2021
b485b56
Merge pull request #325 from EpistasisLab/dependabot/npm_and_yarn/mac…
hjwilli Jul 8, 2021
50e76f8
Merge pull request #333 from EpistasisLab/dependabot/npm_and_yarn/mac…
hjwilli Jul 8, 2021
88da114
Merge pull request #334 from EpistasisLab/dependabot/npm_and_yarn/mac…
hjwilli Jul 8, 2021
3e97b41
Fix experiments page prediction filter
mgstauffer Jul 9, 2021
bedf24b
Merge pull request #337 from EpistasisLab/RefreshDatasetsViewOnNewDat…
mgstauffer Jul 9, 2021
e36f4f5
Merge pull request #336 from EpistasisLab/AddExperimentsFilter_Predic…
mgstauffer Jul 9, 2021
1fb87f4
Bump path-parse from 1.0.6 to 1.0.7 in /lab
dependabot[bot] Aug 11, 2021
e3bd765
Merge pull request #340 from EpistasisLab/dependabot/npm_and_yarn/lab…
hjwilli Aug 12, 2021
c741f09
shap package update
hjwilli Sep 8, 2021
b3facea
Merge pull request #343 from EpistasisLab/shap_package_update
hjwilli Sep 9, 2021
d111340
Bump tmpl from 1.0.4 to 1.0.5 in /lab
dependabot[bot] Sep 21, 2021
5872561
Working on experiments page viewMode for showing all algorithms at once
mgstauffer Aug 21, 2021
bce97a2
Experiments view - working now to sort by column separately for each
mgstauffer Aug 31, 2021
9a5c814
Rebase on master; Fix padding around Experiment page simple/expanded …
mgstauffer Sep 3, 2021
d3fdc09
Fix Experiment page simple/expanded view button - make surrounding
mgstauffer Oct 8, 2021
6c110e9
Merge pull request #345 from EpistasisLab/Experiments_AlgoDetailView
mgstauffer Oct 12, 2021
6d76c09
Update README.md
Apr 18, 2022
0e5af67
Merge pull request #356 from moranjay/patch-1
nickotto Apr 18, 2022
a209164
Renamed webapp GUI and readmes
jay-m-dev Apr 19, 2022
01bdc42
fix News line break and test URLs
Apr 20, 2022
3eb53e3
URL test done, rebranded
Apr 20, 2022
060a670
Merge pull request #357 from EpistasisLab/aliro_rebranding
Apr 20, 2022
07262f4
Rebranding Sphinx docs conf.py and index.rst
Apr 21, 2022
b565f01
Merge pull request #358 from EpistasisLab/aliro_rebranding
Apr 21, 2022
75c3f33
Update pennai_tests.yml
Apr 25, 2022
794334d
Update README.md
Apr 25, 2022
ec31f9c
Aliro rebranding comments and docker images
Apr 27, 2022
de21158
Docker images all lower
Apr 27, 2022
f3c41b4
Fixed docs indentation errors
Apr 28, 2022
a3c2fec
Merge pull request #344 from EpistasisLab/dependabot/npm_and_yarn/lab…
May 2, 2022
efeb6a7
nodejs v11.14.0 to v12.22.9
Aug 10, 2022
344f458
pennai -> aliro on github workflows and unit tester
Aug 10, 2022
32ae95d
pennai -> aliro CICD icon
Aug 10, 2022
8944965
Documented Hyper-V requirement on Windows
Aug 15, 2022
0c927fc
Moved Hyper-V documentation to developer guide.
Aug 16, 2022
98a9d7e
Fixed dev guide production release list, new theme
Aug 22, 2022
34c5ddc
Release version 0.18
Aug 23, 2022
509de36
Add new dockerfiles for raspberry pi
JDRomano2 Jan 15, 2021
b478c98
Create new docker compose configuration for rpi
JDRomano2 Jan 15, 2021
6e1e97a
Add rpi dependency wheels as a Git submodule
JDRomano2 Jan 15, 2021
c4abad1
Make Dockerfiles for rpi see wheel files
JDRomano2 Jan 15, 2021
1e761e5
Revert machine Dockerfile_production after accidental change
JDRomano2 Jan 15, 2021
3bb4b00
Builds all docker containers
JDRomano2 Jan 16, 2021
20f7e58
Create mongodb data directory in dbmongo container if it doesn't exist
JDRomano2 Jan 16, 2021
89004fa
Bump machine (rpi) to buster to fix arm64 glibc distribution
JDRomano2 Jan 24, 2021
7a36cd7
Improve naming convention for RPi dockerfiles and create RPi test doc…
JDRomano2 Jan 24, 2021
4c91f74
Make new test docker-compose files point to the right Dockerfiles
JDRomano2 Jan 24, 2021
61b3ed1
Pass all unit tests on Raspberry Pi
JDRomano2 Jan 25, 2021
b2869e5
Added rpi production yml and Dockerfiles
Aug 23, 2022
875588a
updated node version
Aug 23, 2022
5df840f
Fixed node version and keyserver conflicts
Aug 23, 2022
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
5 changes: 3 additions & 2 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[run]
; source =
relative_files = True
; source =
; ai
; machine
; lab/pyutils
Expand All @@ -12,5 +13,5 @@ parallel = True
; the first path is the path on the local (travis) filesystem
; the second path is the path as it appears within the Docker container
source =
$TRAVIS_BUILD_DIR
$GITHUB_WORKSPACE
/appsrc/
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh
# Docker production build environment
TAG=0.18a0
TAG=0.18
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Declare files that will always have LF line endings on checkout.
release/*.sh text eol=lf
tests/*.sh text eol=lf
tests/**/*.sh text eol=lf
.env text eol=lf

data/recommenders/scikitlearn/KNNDatasetRecommender_classifier_accuracy_pmlb.pkl.gz filter=lfs diff=lfs merge=lfs -text
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
name: Tests of PennAI
name: Aliro CI/CD
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events
push:
pull_request:
branches: [ master ]


# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build_int_test:
name: Integration Tests of PennAI
name: Integration Tests
# The type of runner that the job will run on
runs-on: ubuntu-latest

Expand All @@ -29,9 +25,9 @@ jobs:
# Runs a set of commands using the runners shell
- name: Run Integration Tests
run: |
docker-compose -f ./docker-compose-int-test.yml run tester bash -c "sh /root/wait_pennai.sh && npm test"
docker-compose -f ./docker-compose-int-test.yml run tester bash -c "sh /root/wait_pennai.sh && npm test"
docker-compose -f ./docker-compose-int-test.yml down
# This workflow contains a single job called "build"

build_web_app:
name: Unit Tests for Webapp
# The type of runner that the job will run on
Expand All @@ -44,30 +40,22 @@ jobs:
- uses: actions/setup-python@v2
with:
python-version: '3.7'



# Runs a single command using the runners shell
- name: Build Docker Images
run: |
pip install coveralls
docker-compose -f ./docker-compose-unit-test.yml build -m 8g

# Runs a set of commands using the runners shell
- name: Run Unit Tests
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git lfs fetch --all
docker run -v $(pwd):/appsrc -w /appsrc pennai_unit_tester mocha machine/test/test.js
docker run -v $(pwd):/appsrc -v /appsrc/lab/webapp/node_modules -w /appsrc/lab/webapp/ pennai_unit_tester npm run test
docker run -v $(pwd):/appsrc -w /appsrc pennai_unit_tester \
coverage run -m nose -s -v \
machine/test/learn_tests.py \
lab/pyutils/tests/*.py \
ai/tests/test_a*.py \
ai/tests/lab_*.py \
ai/tests/test_re*.py \
ai/tests/test_k*utils.py
docker-compose -f ./docker-compose-unit-test.yml up --abort-on-container-exit -V
- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
with:
parallel: true
flag-name: Unit Test for webapp

build_pypkg:
name: Unit Tests for scikit-learn API
Expand All @@ -80,18 +68,46 @@ jobs:
- uses: actions/setup-python@v2
with:
python-version: '3.7'

- name: Build Docker Images
run: |
pip install coveralls
docker-compose -f ./docker-compose-unit-test.yml build -m 8g

# Runs a set of commands using the runners shell
- name: Run Unit Tests
run: |
git lfs fetch --all
git lfs pull
docker run -v $(pwd):/appsrc -w /appsrc pennai_unit_tester nosetests -s -v ai/tests/test_sklearn_api.py
# Run deployment steps if pervious steps are success
docker run -v $(pwd):/appsrc -w /appsrc aliro_unit_tester coverage run -m nose -s -v ai/tests/test_sklearn_api.py
coverage combine
- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
with:
parallel: true
flag-name: Unit Test for scikit-learn api

coveralls_finish:
name: Publish Coveralls
needs: [build_web_app, build_pypkg]
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: AndreMiras/coveralls-python-action@develop
with:
parallel-finished: true

deploy_pypkg:
if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
name: Deploy python package
needs: build_pypkg
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
run: |
Expand All @@ -107,8 +123,10 @@ jobs:
twine upload dist/*

build_docs:
name: Doc Builder
needs: [build_int_test, build_web_app]
# Only publish docs on master branch
if: github.ref == 'refs/heads/master'
name: Publish Docs
needs: [build_int_test, build_web_app, build_pypkg]
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,4 @@ share/python-wheels/
.installed.cfg
*.egg
MANIFEST
.vscode
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "docker/pennai-arm64-deps"]
path = docker/pennai-arm64-deps
url = https://github.com/EpistasisLab/pennai-arm64-deps
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ jobs:
ai/tests/lab_*.py
ai/tests/test_re*.py
ai/tests/test_k*utils.py"
- coverage combine
#- coverage combine
#- docker cp pennai_unit_tester:/.coverage ./
- coveralls
#- coveralls
- stage: Test
name: "Unit Tests for scikit-learn API"
install:
Expand Down
14 changes: 8 additions & 6 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@
pipeline {
agent any
parameters {
//string(name: 'STATUS_EMAIL', defaultValue: 'hwilli@pennmedicine.upenn.edu', description: 'Comma sep list of email addresses that should recieve test status notifications.')
string(name: 'STATUS_EMAIL', defaultValue: 'hwilli@pennmedicine.upenn.edu, weixuanf@upenn.edu, lacava@upenn.edu, mgstauff@gmail.com', description: 'Comma sep list of email addresses that should recieve test status notifications.')
string(
name: 'STATUS_EMAIL',
defaultValue: '${DEFAULT_RECIPIENTS}',
description: 'Comma sep list of email addresses that should recieve test status notifications.')
}
options {
timeout(time: 1, unit: 'HOURS')
}
environment {
LOCAL_PENNAI_DEPLOY_DIR = '/data/git/pennai'
LOCAL_PENNAI_DEPLOY_DIR = '/data/git/Aliro'
LOCAL_PENNAI_DEPLOY_FILE = "${LOCAL_PENNAI_DEPLOY_DIR}/docker-compose.yml"
}
stages {
Expand Down Expand Up @@ -63,14 +65,14 @@ pipeline {
}

}
stage('Stop PennAI Locally') {
stage('Stop Aliro Locally') {
steps {
sh "docker-compose -f ${LOCAL_PENNAI_DEPLOY_FILE} stop"
}
}
stage('Integration Tests') {
steps {
// stop any running pennai test or dev instances
// stop any running Aliro test or dev instances
sh 'docker-compose -f ./docker-compose-int-test.yml stop'

// run the integration test instance
Expand All @@ -83,7 +85,7 @@ pipeline {
}
}
}
stage('Start PennAI Locally') {
stage('Start Aliro Locally') {
steps {
sh "docker-compose -f ${LOCAL_PENNAI_DEPLOY_FILE} up --detach --force-recreate"
}
Expand Down
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
[![Logo](./docs/source/_static/logo_blank_small.png)]()

[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://github.com/EpistasisLab/pennai/blob/master/LICENSE) [![Master Build Status - Mac/Linux](https://travis-ci.org/EpistasisLab/pennai.svg?branch=master)](https://travis-ci.org/EpistasisLab/pennai) [![Coverage Status](https://coveralls.io/repos/github/EpistasisLab/pennai/badge.svg)](https://coveralls.io/github/EpistasisLab/pennai)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://github.com/EpistasisLab/Aliro/blob/master/LICENSE) [![Aliro CI/CD](https://github.com/EpistasisLab/Aliro/actions/workflows/aliro_tests.yml/badge.svg)](https://github.com/EpistasisLab/Aliro/actions/workflows/aliro_tests.yml) [![Coverage Status](https://coveralls.io/repos/github/EpistasisLab/pennai/badge.svg)](https://coveralls.io/github/EpistasisLab/pennai)


PennAI: AI-Driven Data Science
Aliro: AI-Driven Data Science
==================================

**PennAI** is an easy-to-use data science assistant.
**Aliro** is an easy-to-use data science assistant.
It allows researchers without machine learning or coding expertise to run supervised machine learning analysis through a clean web interface.
It provides results visualization and reproducible scripts so that the analysis can be taken anywhere.
And, it has an *AI* assistant that can choose the analysis to run for you. Dataset profiles are generated and added to a knowledgebase as experiments are run, and the AI assistant learns from this to give more informed recommendations as it is used. PennAI comes with an initial knowledgebase generated from the [PMLB benchmark suite](https://github.com/EpistasisLab/penn-ml-benchmarks).
And, it has an *AI* assistant that can choose the analysis to run for you. Dataset profiles are generated and added to a knowledgebase as experiments are run, and the AI assistant learns from this to give more informed recommendations as it is used. Aliro comes with an initial knowledgebase generated from the [PMLB benchmark suite](https://github.com/EpistasisLab/penn-ml-benchmarks).

[**Documentation**](https://epistasislab.github.io/pennai/)
[**Documentation**](https://epistasislab.github.io/Aliro/)

[**Latest Production Release**](https://github.com/EpistasisLab/pennai/releases/latest)
[**Latest Production Release**](https://github.com/EpistasisLab/Aliro/releases/latest)

Browse the repo:
- [User Guide](./docs/guides/userGuide.md)
Expand All @@ -22,7 +21,7 @@ Browse the repo:
About the Project
=================

PennAI is actively developed by the [Institute for Biomedical Informatics](http://upibi.org) at the University of Pennsylvania.
Aliro is actively developed by the [Institute for Biomedical Informatics](http://upibi.org) at the University of Pennsylvania.
Contributors include Heather Williams, Weixuan Fu, William La Cava, Josh Cohen,
Steve Vitale, Sharon Tartarone, Randal Olson, Patryk Orzechowski, and Jason Moore.

Expand Down
4 changes: 2 additions & 2 deletions ai/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""~This file is part of the PennAI library~
"""~This file is part of the Aliro library~

Copyright (C) 2017 Epistasis Lab, University of Pennsylvania

PennAI is maintained by:
Aliro is maintained by:
- Heather Williams (hwilli@upenn.edu)
- Weixuan Fu (weixuanf@upenn.edu)
- William La Cava (lacava@upenn.edu)
Expand Down
26 changes: 11 additions & 15 deletions ai/ai.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""~This file is part of the PennAI library~
"""~This file is part of the Aliro library~

Copyright (C) 2017 Epistasis Lab, University of Pennsylvania

PennAI is maintained by:
Aliro is maintained by:
- Heather Williams (hwilli@upenn.edu)
- Weixuan Fu (weixuanf@upenn.edu)
- William La Cava (lacava@upenn.edu)
Expand Down Expand Up @@ -63,7 +63,7 @@


class AI():
"""AI managing agent for Penn AI.
"""AI managing agent for Aliro.

Responsible for:
- checking for user requests for recommendations,
Expand All @@ -74,17 +74,13 @@ class AI():

:param rec_class: ai.BaseRecommender - recommender to use
:param api_path: string - path to the lab api server
:param extra_payload: dict - any additional payload that needs to be
specified
:param extra_payload: dict - any additional payload that needs to be specified
:param user: string - test user
:param rec_score_file: file - pickled score file to keep persistent scores
between sessions
:param rec_score_file: file - pickled score file to keep persistent scores between sessions
:param verbose: Boolean
:param warm_start: Boolean - if true, attempt to load the ai state from the
file provided by rec_score_file
:param warm_start: Boolean - if true, attempt to load the ai state from the file provided by rec_score_file
:param n_recs: int - number of recommendations to make for each request
:param datasets: str or False - if not false, a comma seperated list of
datasets to turn the ai on for at startup
:param datasets: str or False - if not false, a comma seperated list of datasets to turn the ai on for at startup
:param use_pmlb_knowledgebase: Boolean
"""

Expand Down Expand Up @@ -137,7 +133,7 @@ def __init__(self,

# api parameters, will be removed from self once the recommenders no
# longer call the api directly.
# See #98 <https://github.com/EpistasisLab/pennai/issues/98>
# See #98 <https://github.com/EpistasisLab/Aliro/issues/98>
if api_path == None:
api_path = ('http://' + os.environ['LAB_HOST'] + ':' +
os.environ['LAB_PORT'])
Expand Down Expand Up @@ -563,9 +559,9 @@ def load_state(self):
import argparse

def main():
"""Handles command line arguments and runs Penn-AI."""
"""Handles command line arguments and runs Aliro."""
parser = argparse.ArgumentParser(
description='PennAI is a recommendation system for data science. ',
description='Aliro is a recommendation system for data science. ',
add_help=False)
parser.add_argument('-h','--help',action='help',
help="Show this help message and exit.")
Expand Down Expand Up @@ -621,7 +617,7 @@ def main():
'slopeone': SlopeOneRecommender
}

print('=======','Penn AI','=======')#,sep='\n')
print('=======','Aliro','=======')#,sep='\n')

pennai = AI(rec_class=name_to_rec[args.REC],
api_path=args.API_PATH, user=args.USER,
Expand Down
8 changes: 4 additions & 4 deletions ai/api_utils.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""~This file is part of the PennAI library~
"""~This file is part of the Aliro library~

Copyright (C) 2017 Epistasis Lab, University of Pennsylvania

PennAI is maintained by:
Aliro is maintained by:
- Heather Williams (hwilli@upenn.edu)
- Weixuan Fu (weixuanf@upenn.edu)
- William La Cava (lacava@upenn.edu)
Expand All @@ -26,7 +26,7 @@

"""
"""
API utility functions for Penn-AI
API utility functions for Aliro
"""

import pandas as pd
Expand Down Expand Up @@ -62,7 +62,7 @@ class RECOMMENDER_STATUS(Enum):
RUNNING = 'running'

class LabApi:
"""Class for communicating with the PennAI server
"""Class for communicating with the Aliro server
"""

def __init__(self, api_path, user, api_key, extra_payload, verbose):
Expand Down
4 changes: 2 additions & 2 deletions ai/knowledgebase_utils.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""~This file is part of the PennAI library~
"""~This file is part of the Aliro library~

Copyright (C) 2017 Epistasis Lab, University of Pennsylvania

PennAI is maintained by:
Aliro is maintained by:
- Heather Williams (hwilli@upenn.edu)
- Weixuan Fu (weixuanf@upenn.edu)
- William La Cava (lacava@upenn.edu)
Expand Down
Loading