Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ee69eaf
adjusted update from google api to use async generator
bradley-erickson Oct 25, 2024
0bac912
fixed small bug in yield statements
bradley-erickson Oct 25, 2024
5127ea7
fixed possible create_task bug (#192)
bradley-erickson Oct 30, 2024
5ad48ab
Bump rollup from 2.79.1 to 2.79.2 in /modules/lo_dash_react_component…
dependabot[bot] Nov 4, 2024
45d1c38
Bump cookie and express in /modules/lo_dash_react_components (#183)
dependabot[bot] Nov 4, 2024
fdf00ea
Bump elliptic from 6.5.7 to 6.6.0 in /modules/lo_dash_react_component…
dependabot[bot] Nov 4, 2024
0105345
added communication protocol readme to documentation
bradley-erickson Nov 4, 2024
22bf450
updated npm packages for lo_event
pbrost Nov 6, 2024
4ff4f3a
Abstracted current gpt responders to their own module (#178)
bradley-erickson Nov 7, 2024
cc3a4b7
small installation fixes
bradley-erickson Nov 7, 2024
78723f9
Update to redux-thunk and compile error fix
pbrost Nov 8, 2024
e6a922c
import thunk statement change
pbrost Nov 8, 2024
d413030
Make sure b.storage defaults to thunk if not sync or local
pbrost Nov 8, 2024
ad9d485
code compiling for deployment of toy-sba (#198)
bradley-erickson Nov 14, 2024
83cdafb
LO Event improvements
bradley-erickson Nov 19, 2024
7ea2abb
updated lodrc package.json and webpack config to build properly
bradley-erickson Nov 19, 2024
5e4eaca
fixed gpt dashboard flashing
bradley-erickson Nov 21, 2024
e767cae
fixed auth bug when visiting a page after session expired
bradley-erickson Nov 26, 2024
2e07dd6
Update reconstruct_doc.py
PDDeane Nov 27, 2024
ccb36fd
Update reconstruct_doc.py
PDDeane Nov 27, 2024
3eeea21
Update reconstruct_doc.py
PDDeane Nov 27, 2024
aabd807
Added additional actions for `rplc` and `rvrt`
bradley-erickson Dec 4, 2024
5020beb
extension fixes to extract document history (#204)
bradley-erickson Dec 13, 2024
b79648d
Module verioning updates and some testing next steps
bradley-erickson Dec 17, 2024
257bae3
added dashboard to demo LOConnection and helper utilities (#180)
bradley-erickson Dec 17, 2024
0ba3c08
cleaned up installation
bradley-erickson Dec 20, 2024
375103a
updated requirements (#208)
bradley-erickson Jan 2, 2025
f6cc2b2
Bump nanoid from 3.3.7 to 3.3.8 in /modules/lo_dash_react_components …
dependabot[bot] Jan 23, 2025
e6d405f
Bump path-to-regexp and express in /modules/lo_dash_react_components …
dependabot[bot] Jan 23, 2025
e1e7ec2
Merge remote-tracking branch 'upstream/master' into clynch/upstream-m…
DrLynch Feb 24, 2025
7ea4ccf
Updating package.json to remove the outdated reference to inject, and…
DrLynch Feb 25, 2025
5aef220
Updating manifest to increment version numbers.
DrLynch Feb 25, 2025
7dcb910
Load up yaml file for schools
JohnDamilola Apr 14, 2025
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
49 changes: 20 additions & 29 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,31 @@ on: [push]
jobs:
lint-python:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pycodestyle
- name: Analysing the code with pycodestyle
run: |
pycodestyle --ignore=E501,W503 $(git ls-files 'learning_observer/*.py' 'modules/*.py')
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Install Make
run: sudo apt-get install make

- name: Lint files
run: make linting-python
lint-node:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '16.x'
- name: Install dependencies
run: |
npm install

- name: List unused CSS
run: npm run find-unused-css
node-version: '22.x'

- name: Lint CSS
run: npm run lint:css
- name: Install Make
run: sudo apt-get install make

- name: Lint JS
run: npm run lint:js
- name: Lint files
run: make linting-node
14 changes: 0 additions & 14 deletions .github/workflows/pytest.yml

This file was deleted.

51 changes: 51 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Test packages

on: [push]

jobs:
test-packages:
runs-on: ubuntu-latest
strategy:
matrix:
package: ['learning_observer/', 'modules/writing_observer/']
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Install Make
run: sudo apt-get install make

- name: Get list of changed files
id: changes
run: |
git fetch origin master
git diff --name-only origin/master HEAD > changed_files.txt

- name: Check if package has changes
id: package_check
run: |
if grep -qE "^${{ matrix.package }}" changed_files.txt; then
echo "run_tests=true" >> $GITHUB_ENV
else
echo "run_tests=false" >> $GITHUB_ENV
fi

- name: Skip tests if no changes
if: env.run_tests == 'false'
run: echo "Skipping tests for ${{ matrix.package }} as there are no changes."

- name: Install the base Learning Observer
if: env.run_tests == 'true'
run: make install

- name: Install the package with pip
if: env.run_tests == 'true'
run: pip install -e ${{ matrix.package }}

- name: Run tests
if: env.run_tests == 'true'
run: make test PKG=${{ matrix.package }}
27 changes: 0 additions & 27 deletions .github/workflows/versioning.yml

This file was deleted.

87 changes: 57 additions & 30 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,40 @@
PACKAGES ?= wo,awe
# TODO rename these packages to something else
PACKAGES ?= wo

help:
@echo "Available commands:"
@echo ""
@echo " run Run the learning_observer Python application."
@echo " install-pre-commit-hook Install the pre-commit git hook."
@echo " install Install the learning_observer package in development mode."
@echo " install-dev Install dev dependencies (requires additional setup)."
@echo " install-packages Install specific packages: [${PACKAGES}]."
@echo " test Run tests for the specified package (PKG=<package>)."
@echo " linting-setup Setup linting tools and dependencies."
@echo " linting-python Lint Python files using pycodestyle and pylint."
@echo " linting-node Lint Node files (JS, CSS, and unused CSS detection)."
@echo " linting Perform all linting tasks (Python and Node)."
@echo " build-wo-chrome-extension Build the writing-process extension."
@echo " build-python-distribution Build a distribution for the specified package (PKG=<package>)."
@echo ""
@echo "Note: All commands are executed in the current shell environment."
@echo " Ensure your virtual environment is activated if desired, as installs and actions"
@echo " will occur in the environment where the 'make' command is run."
@echo ""
@echo "Use 'make <command>' to execute a command. For example: make run"

run:
# If you haven't done so yet, run: make install
# we need to make sure we are on the virtual env when we do this
cd learning_observer && python learning_observer

venv:
# This is unnecessary since LO installs requirements on install.
# pip install --no-cache-dir -r requirements.txt
# Install commands
install-pre-commit-hook:
# Adding pre-commit.sh to Git hooks
cp scripts/hooks/pre-commit.sh .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

# install commands
install: venv
install: install-pre-commit-hook
# The following only works with specified packages
# we need to install learning_observer in dev mode to
# more easily pass in specific files we need, such as creds
Expand All @@ -25,52 +49,36 @@ install: venv
@LODRC_CURRENT=$$(curl -s https://raw.githubusercontent.com/ETS-Next-Gen/lo_assets/main/lo_dash_react_components/lo_dash_react_components-current.tar.gz); \
pip install https://raw.githubusercontent.com/ETS-Next-Gen/lo_assets/main/lo_dash_react_components/$${LODRC_CURRENT}

install-dev: venv
install-dev:
# TODO create a dev requirements file
pip install --no-cache-dir -e learning_observer/[${PACKAGES}]
. ${HOME}/.nvm/nvm.sh && nvm use && pip install -v -e modules/lo_dash_react_components/

install-packages: venv
install-packages:
pip install -e learning_observer/[${PACKAGES}]

# Just a little bit of dependency hell...

# The AWE Components are built using a specific version of
# `spacy`. This requires an out-of-date `typing-extensions`
# package. There are few other dependecies that require a
# newer version. As far as I can tell, upgrading this package
# does not effect the functionality we receive from the AWE
# components.
# TODO remove this extra step after AWE Component's `spacy`
# is no longer version locked.
# This is no longer an issue, but we will leave until all
# dependecies can be resolved in the appropriate locations.
# pip install -U typing-extensions

# On Python3.11 with tensorflow, we get some odd errors
# regarding compatibility with `protobuf`. Some installation
# files are missing from the protobuf binary on pip.
# Using the `--no-binary` option includes all files.
pip uninstall -y protobuf
pip install --no-binary=protobuf protobuf==4.25

# testing commands
# Testing commands
test:
# this is where we run doctests
pytest modules/wo_highlight_dashboard
@if [ -z "$(PKG)" ]; then echo "No module specified, please try again with \"make test PKG=path/to/module\""; exit 1; fi
./test.sh $(PKG)

# Linting commands
linting-setup:
# Setting up linting related packages
pip install pycodestyle pylint
npm install

linting-python:
# Linting Python modules
pip install pycodestyle pylint
pycodestyle --ignore=E501,W503 $$(git ls-files 'learning_observer/*.py' 'modules/*.py')
pylint -d W0613,W0511,C0301,R0913,too-few-public-methods $$(git ls-files 'learning_observer/*.py' 'modules/*.py')

linting-node:
npm install
# TODO each of these have lots of errors and block
# the next item from running
# Starting to lint Node modules
Expand All @@ -84,8 +92,27 @@ linting-node:
linting: linting-setup linting-python linting-node
# Finished linting

build-writing-ext:
# Build commands
build-wo-chrome-extension:
# Installing LO Event
cd modules/lo_event && npm install & npm link lo_event
# Building extension
cd extension/writing-process && npm install && npm run build

build-python-distribution:
# Building distribution for package
pip install build
# Switching to package directory
cd $(PKG) && python -m build

# TODO we may want to have a separate command for uploading to testpypi
upload-python-package-to-pypi: build-python-distribution
pip install twine
# TODO we currently only upload to testpypi
# TODO we need to include `TWINE_USERNAME=__token__`
# and `TWINE_PASSWORD={ourTwineToken}` to authenticate
#
# TODO We have not fully tested the following commands.
# Try out the following steps and fix any bugs so the
# Makefile can do it automatically.
# cd $(PKG) && twine upload -r testpypi dist/*
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.0+2025.04.14T14.58.15.3NZ.5aef220.dami.lms.pmss
8 changes: 2 additions & 6 deletions autodocs/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,6 @@ Development

.. include:: ../docs/documentation.md
:parser: myst_parser.sphinx_
.. include:: ../modules/lo_dash_react_components/README.md
:parser: myst_parser.sphinx_
.. include:: ../modules/lo_event/README.md
:parser: myst_parser.sphinx_
.. include:: ../modules/writing_observer/README.md
:parser: myst_parser.sphinx_
.. include:: ../docs/interactive_environments.md
:parser: myst_parser.sphinx_
.. include:: ../docs/privacy.md
Expand All @@ -21,5 +15,7 @@ Development
:parser: myst_parser.sphinx_
.. include:: ../docs/testing.md
:parser: myst_parser.sphinx_
.. include:: ../docs/versioning.md
:parser: myst_parser.sphinx_
.. include:: ../docs/technologies.md
:parser: myst_parser.sphinx_
1 change: 1 addition & 0 deletions autodocs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ data.

development
system_design
modules
extension
api

Expand Down
11 changes: 11 additions & 0 deletions autodocs/modules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _modules:

Modules
-----------

.. include:: ../modules/lo_dash_react_components/README.md
:parser: myst_parser.sphinx_
.. include:: ../modules/lo_event/README.md
:parser: myst_parser.sphinx_
.. include:: ../modules/writing_observer/README.md
:parser: myst_parser.sphinx_
2 changes: 2 additions & 0 deletions autodocs/system_design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ System Design
:parser: myst_parser.sphinx_
.. include:: ../docs/reducers.md
:parser: myst_parser.sphinx_
.. include:: ../learning_observer/learning_observer/communication_protocol/README.md
:parser: myst_parser.sphinx_
7 changes: 0 additions & 7 deletions awe_requirements.txt

This file was deleted.

3 changes: 2 additions & 1 deletion devops/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ chevron
boto3
pyyaml
fabric

invoke
filetype
Loading
Loading