-
Notifications
You must be signed in to change notification settings - Fork 7
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
Dev #20
Merged
Dev #20
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
a39cc33
new SumSquareReference class
bmeyers 1e44865
this is a test commit for educational purposes
bmeyers c0e4afa
undoing last commit
bmeyers d2fdd8e
duck typing input
bmeyers 002f875
q and r should no longer be hard-coded to zero
bmeyers f222364
work on the SumSquareReference class
bmeyers dadc75c
aggregate class needs to check for q and r attributes and handles the…
bmeyers 011ba4f
update default values for q and r in base class
bmeyers eed5032
Merge branch 'main' of github.com:cvxgrp/optimal-signal-decomposition…
bmeyers 819acaf
fourier basis class
bmeyers 94af0b3
new class for setting values at certain indices equal to a number
bmeyers e0d14cc
Merge pull request #19 from cvxgrp/dev2
bmeyers 9db2b76
Merge pull request #15 from cvxgrp/feature
bmeyers bf736e3
work on Fourier basis class
bmeyers 059c000
Set 'r' to be zero always. Allows weighting matrix inside sum_abs class
bmeyers 8e661e6
update package and workflows
pluflou 09d5ab9
fix tests dependencies
pluflou b824c8d
fix tests dependencies
pluflou 3474348
fix tests dependencies, might need to clean later
pluflou ac101bd
rm dead link and add __version__ attr
pluflou 4c81ce9
add _version module
pluflou c1f47bb
adjust triggers for test wf
pluflou 332b588
Update build.yml
pluflou b89a791
Update test.yml
pluflou dc52dc6
Merge pull request #21 from pluflou/fix-deploy
bmeyers File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,96 +1,99 @@ | ||
name: Main Test | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- master | ||
tags: | ||
- '*' | ||
push: | ||
pull_request: | ||
branches: [main] | ||
types: [opened, reopened] | ||
jobs: | ||
run-tests: | ||
runs-on: ubuntu-latest | ||
environment: test | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: [ "3.10", "3.11", "3.12" ] | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Python | ||
uses: actions/setup-python@v3 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.9' | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install Dependencies | ||
run: | | ||
sudo $pythonLocation/bin/python3 -m pip install -r requirements.txt | ||
sudo $pythonLocation/bin/python3 -m pip install pytest | ||
sudo $pythonLocation/bin/python3 -m pip install -e . | ||
- name: Install Python Dependencies | ||
run: | | ||
curl -LsSf https://astral.sh/uv/install.sh | sh | ||
uv pip install --system --break-system-packages -r requirements.txt | ||
uv pip install --system --break-system-packages pytest pytest-cov pytest-github-report pytest-github-actions-annotate-failures | ||
|
||
# Current unit test is not consistent. Occasionally fails despite usually passing. Needs to be fixed. | ||
- name: Run Unit Tests | ||
run: | | ||
$pythonLocation/bin/python3 -m pytest --import-mode=append tests/ | ||
env: | ||
pytest_github_report: true | ||
pytest_verbosity: 2 | ||
run: pytest -v --cov=src --cov-report=xml --cov-report=term-missing --color=yes tests/ | ||
|
||
test-build-pypi: | ||
needs: run-tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Python | ||
uses: actions/setup-python@v3 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.9" | ||
python-version: "3.10" | ||
|
||
- name: Install Twine | ||
run: sudo $pythonLocation/bin/python3 -m pip install twine wheel | ||
- name: Install Twine and Build | ||
run: sudo pip install twine build | ||
|
||
- name: Create the distribution | ||
run: | | ||
git fetch --prune --unshallow --tags | ||
sudo $pythonLocation/bin/python3 setup.py sdist bdist_wheel | ||
sudo python3 -m build | ||
|
||
test-build-conda: | ||
needs: run-tests | ||
runs-on: ubuntu-latest | ||
# sets default shell to remove need for source to run the conda shell | ||
defaults: | ||
run: | ||
shell: bash -l {0} | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Python | ||
uses: actions/setup-python@v3 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.9" | ||
python-version: "3.10" | ||
|
||
- name: Install Miniconda | ||
uses: conda-incubator/setup-miniconda@v2 | ||
uses: conda-incubator/setup-miniconda@v3 | ||
with: | ||
auto-activate-base: true | ||
activate-environment: "" | ||
miniconda-version: "latest" | ||
|
||
- name: Install the Mamba Dependencies | ||
run: | | ||
- name: Install the Conda Dependencies | ||
run: | | ||
conda config --set always_yes yes --set auto_update_conda false | ||
conda update conda | ||
conda install mamba -n base -c conda-forge | ||
conda install -n base conda-libmamba-solver | ||
mamba install python=3.9 "conda-build=3.21" colorama pip ruamel ruamel.yaml rich mamba jsonschema -c conda-forge | ||
$pythonLocation/bin/python3 -m pip install -e . | ||
conda install python=3.10 conda-build colorama pip ruamel ruamel.yaml rich jsonschema -c conda-forge | ||
git fetch --prune --unshallow --tags | ||
pip install -e . | ||
|
||
|
||
# run install twice due to client-size to ensure all files downloaded | ||
# echo yes before login to prevent anaconda bug breaking automation | ||
# git tags MUST be fetched otherwise output will be blank | ||
# bash variables cannot be used in github actions, must use actions specific syntax and methods | ||
- name: Build the Anaconda Package | ||
id: mambabuild | ||
id: condabuild | ||
run: | | ||
mamba install anaconda-client | ||
conda config --set anaconda_upload no | ||
git fetch --prune --unshallow --tags | ||
VERSION_FROM_GIT_TAG=$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-) conda build . -c conda-forge -c stanfordcvxgrp --numpy 1.16.4 | ||
echo '::set-output name=gitversion::$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-)' | ||
conda install anaconda-client | ||
conda clean --all | ||
conda config --set anaconda_upload no --set solver libmamba | ||
VERSION_FROM_GIT_TAG=$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-)test conda build . -c conda-forge -c stanfordcvxgrp | ||
echo "gitversion=$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-)" >> $GITHUB_OUTPUT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
from ._version import version as __version__ | ||
from gfosd.problem import Problem |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# file generated by setuptools_scm | ||
# don't change, don't track in version control | ||
TYPE_CHECKING = False | ||
if TYPE_CHECKING: | ||
from typing import Tuple, Union | ||
VERSION_TUPLE = Tuple[Union[int, str], ...] | ||
else: | ||
VERSION_TUPLE = object | ||
|
||
version: str | ||
__version__: str | ||
__version_tuple__: VERSION_TUPLE | ||
version_tuple: VERSION_TUPLE | ||
|
||
__version__ = version = '0.0.2.dev30+gac101bd' | ||
__version_tuple__ = version_tuple = (0, 0, 2, 'dev30', 'gac101bd') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,7 +37,10 @@ def prepare_attributes(self, T, p=1): | |
self._Pz = sp.block_diag([ | ||
c._Pz for c in self._gf_list | ||
]) | ||
self._make_q() | ||
# same logic as above but for q | ||
qx = self._gf_list[g_ix]._q[:self._gf_list[g_ix].x_size] | ||
qz = np.concatenate([c._q[self._gf_list[g_ix].x_size:] for c in self._gf_list]) | ||
self._q = np.concatenate([qx, qz]) | ||
self._make_r() | ||
self._gx = self._make_gx() | ||
self._gz = self._make_gz() | ||
|
@@ -53,6 +56,9 @@ def _make_P(self): | |
c._Pz for c in self._gf_list | ||
]) | ||
|
||
def _make_r(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. comment: still always set to zero |
||
self._r = np.sum([c._r for c in self._gf_list]) | ||
|
||
def _make_gx(self): | ||
gx = [] | ||
for ix, component in enumerate(self._gf_list): | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add comment: this is related to "close to input vector" class, which is incomplete and ready for use. q is still set to be zero for all implemented classes.