Skip to content

Commit

Permalink
v0.5.0 (#28)
Browse files Browse the repository at this point in the history
  • Loading branch information
goulart-paul authored Apr 25, 2023
1 parent 488104c commit cb135f3
Show file tree
Hide file tree
Showing 89 changed files with 5,023 additions and 1,441 deletions.
43 changes: 0 additions & 43 deletions .github/workflows/pypi-linux-test.yaml

This file was deleted.

55 changes: 0 additions & 55 deletions .github/workflows/pypi-macos-test.yaml

This file was deleted.

72 changes: 0 additions & 72 deletions .github/workflows/pypi-win-test.yaml

This file was deleted.

58 changes: 36 additions & 22 deletions .github/workflows/pypi.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: pypi

on:
workflow_dispatch:
pull_request:
branches:
- main
Expand All @@ -22,28 +23,32 @@ jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
matrix:
target: [x86_64, i686, aarch64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
architecture: x64

- name: Build wheels
uses: messense/maturin-action@v1
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
command: build
manylinux: auto
args: --release --out dist --features python -i python${{ env.PYTHON_VERSION }}
- name: Install built wheel
args: -v --release --out dist -i python${{ env.PYTHON_VERSION }} --features "python"

- name: Install and test built wheel
if: matrix.target == 'x86_64'
run: |
python -m pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
python -c "import clarabel"
python examples/python/example_qp.py
python examples/python/example_sdp.py
- name: Upload wheels
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
Expand All @@ -58,33 +63,43 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
architecture: x64

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
default: true

- name: Build wheels - x86_64
uses: messense/maturin-action@v1
uses: PyO3/maturin-action@v1
with:
target: x86_64
args: --release --out dist --features python -i python${{ env.PYTHON_VERSION }}
- name: Install built wheel - x86_64
command: build
args: --release -i python${{ env.PYTHON_VERSION }} --out dist --features "python"

- name: Install and test built wheel - x86_64
run: |
pip install --upgrade pip
pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
python -c "import clarabel"
python examples/python/example_qp.py
python examples/python/example_sdp.py
- name: Build wheels - universal2
uses: messense/maturin-action@v1
uses: PyO3/maturin-action@v1
with:
args: --release --universal2 --out dist --features python -i python${{ env.PYTHON_VERSION }}
- name: Install built wheel - universal2
command: build
args: --release -i python${{ env.PYTHON_VERSION }} --universal2 --out dist --features "python"

- name: Install and test built wheel - universal2
run: |
pip install --upgrade pip
pip install dist/${{ env.PACKAGE_NAME }}-*universal2.whl --force-reinstall
python -c "import clarabel"
python examples/python/example_qp.py
python examples/python/example_sdp.py
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
Expand All @@ -103,23 +118,22 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
architecture: ${{ matrix.target }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
default: true

- name: Build wheels
uses: messense/maturin-action@v1
uses: PyO3/maturin-action@v1
with:
command: build
target: ${{ matrix.target }}
args: --release --out dist --features python -i python${{ env.PYTHON_VERSION }}
- name: Install built wheel
args: --release --out dist -i python${{ env.PYTHON_VERSION }} --features "python"

- name: Install and test built wheel
shell: bash
run: |
python -m pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
python -c "import clarabel"
python examples/python/example_qp.py
python examples/python/example_sdp.py
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
Expand All @@ -136,7 +150,7 @@ jobs:
- windows
- linux
steps:
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: wheels
- uses: actions/setup-python@v2
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ Cargo.lock
/env
notes*.txt
/dist
__pycache__
*.so*
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@
# Changelog

Changes for the Julia version of Clarabel are documented in this file. For the Rust version, see [here](https://github.com/oxfordcontrol/clarabel.rs/CHANGELOG.md).
Changes for the Rust version of Clarabel are documented in this file. For the Julia version, see [here](https://github.com/oxfordcontrol/Clarabel.jl/blob/main/CHANGELOG.md).

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

Version numbering in this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). We aim to keep the core solver functionality and minor releases in sync between the Rust/Python and Julia implementations. Small fixes that affect one implementation only may result in the patch release versions differing.

## [0.5.0] - 2023-25-04
### Changed

This version ports support for PSD cones from the Julia version to Rust, with internal supporting modifications to both versions to keep implementations synchronized.

### Rust specific changes

- Package implements a variety of dense linear algebra functions using BLAS/LAPACK in support of the PSD cone implementation. Provides various build options for using different BLAS/LAPACK external libraries.

- Python interface makes direct access to SciPy BLAS/LAPACK internal function pointers so that no external library linking is required for distribution via PyPI.


## [0.4.1] - 2023-08-03

### Changed
Expand Down Expand Up @@ -58,6 +70,7 @@ offline against the Julia-based benchmark problem suite, but this will not appea
- Ported all documentation to the common site [here](https://github.com/oxfordcontrol/ClarabelDocs)


[0.5.0]: https://github.com/oxfordcontrol/Clarabel.rs/compare/v0.4.1...v0.5.0
[0.4.1]: https://github.com/oxfordcontrol/Clarabel.rs/compare/v0.4.0...v0.4.1
[0.4.0]: https://github.com/oxfordcontrol/Clarabel.rs/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/oxfordcontrol/Clarabel.rs/compare/v0.2.0...v0.3.0
Expand Down
Loading

0 comments on commit cb135f3

Please sign in to comment.