Skip to content

Commit 2a461ef

Browse files
authored
Update 3.8 (#47)
1 parent 0e00927 commit 2a461ef

32 files changed

+182
-140
lines changed

.github/workflows/release.yml

-25
This file was deleted.
+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Test and Publish
2+
3+
on:
4+
push:
5+
workflow_dispatch:
6+
schedule: # Run once a week to detect any regressions
7+
- cron: '0 0 * * 1'
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Set up Python ${{ matrix.python-version }}
21+
uses: actions/setup-python@v5
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
cache: "pip"
25+
allow-prereleases: true
26+
27+
- name: Install dependencies
28+
run: |
29+
pip install .[test]
30+
31+
- name: Run tests
32+
run: |
33+
python -m pytest
34+
35+
# ------------------------------------------------------------
36+
# Build the distribution and publish (on release tag).
37+
# ------------------------------------------------------------
38+
publish:
39+
runs-on: ubuntu-latest
40+
needs: [test]
41+
42+
steps:
43+
- name: Checkout source
44+
uses: actions/checkout@v4
45+
46+
- name: Get minimum Python version
47+
run: |
48+
PYTHON_VERSION=$(cat pyproject.toml | grep "requires-python" | grep -Eo "[0-9]+\.[0-9]+")
49+
echo "PYTHON_VERSION=${PYTHON_VERSION}" >> $GITHUB_ENV
50+
51+
- name: Set up Python ${{ env.PYTHON_VERSION }}
52+
uses: actions/setup-python@v5
53+
with:
54+
python-version: ${{ env.PYTHON_VERSION }}
55+
cache: "pip"
56+
57+
- name: Install build dependencies
58+
run: |
59+
pip install --upgrade pip
60+
pip install --upgrade build wheel setuptools
61+
62+
- name: Validate links
63+
uses: gaurav-nelson/github-action-markdown-link-check@v1
64+
with:
65+
file-path: README.md
66+
folder-path: examples/
67+
68+
- name: Build distributions
69+
run: python -m build
70+
71+
- name: Publish package
72+
if: github.repository == 'Project-Platypus/Rhodium' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
73+
uses: pypa/gh-action-pypi-publish@release/v1
74+
with:
75+
password: ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/tests.yml

-27
This file was deleted.

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,3 @@ libtest.so
1717
test.dll
1818
test.o
1919
rhodium.cache
20-

README.md

-13
Original file line numberDiff line numberDiff line change
@@ -132,19 +132,6 @@ plt.show()
132132
Check out the [examples](https://github.com/Project-Platypus/Rhodium/tree/master/examples) folder
133133
to see Rhodium in action!
134134

135-
## Publishing
136-
137-
To publish a new version to PyPI, use:
138-
139-
```bash
140-
python3 -m build
141-
python3 -m pip install --upgrade twine
142-
143-
# The following command publishes the build. Add `--repository testpypi` for testnig.
144-
# Use `__token__` for the username and the PyPI token to authenticate.
145-
python3 -m twine upload dist/*
146-
```
147-
148135
## References
149136

150137
1. Rhodium logo by Tyler Glaude, Creative Commons License, https://thenounproject.com/term/knight/30912/

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ authors = [
1010
]
1111
readme = "README.md"
1212
license = { file="COPYING" }
13-
requires-python = ">= 3.6"
13+
requires-python = ">= 3.8"
1414
dependencies = [
1515
"numpy",
1616
"seaborn",

rhodium/__init__.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,6 @@
1515
#
1616
# You should have received a copy of the GNU General Public License
1717
# along with Rhodium. If not, see <http://www.gnu.org/licenses/>.
18-
1918
__author__ = "David Hadka"
2019
__copyright__ = "Copyright 2015, David Hadka"
2120
__license__ = "GPLv3"

rhodium/brush.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/cache.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/classification.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/config.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/decorators.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/excel.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/expr.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/ffi.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/model.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/openmdao.py

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# Copyright 2015-2024 David Hadka
2+
#
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
5+
#
6+
# Rhodium is free software: you can redistribute it and/or modify
7+
# it under the terms of the GNU General Public License as published by
8+
# the Free Software Foundation, either version 3 of the License, or
9+
# (at your option) any later version.
10+
#
11+
# Rhodium is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with Rhodium. If not, see <http://www.gnu.org/licenses/>.
118
from .model import *
219

320
class OpenMDAOModel(Model):

rhodium/optimization.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/plot.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/rbridge.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/robustness.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/sa.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/sampling.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/test/brush_test.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

rhodium/test/cache_test.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2015-2016 David Hadka
1+
# Copyright 2015-2024 David Hadka
22
#
3-
# This file is part of Rhodium, a Python module for robust decision making and
4-
# exploratory modeling.
3+
# This file is part of Rhodium, a Python module for robust decision
4+
# making and exploratory modeling.
55
#
66
# Rhodium is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

0 commit comments

Comments
 (0)