Skip to content

Commit cd4c388

Browse files
committed
Updated library dependencies
1 parent 40de00e commit cd4c388

4 files changed

Lines changed: 78 additions & 79 deletions

File tree

.github/workflows/run-golden-tests.yml

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,33 @@ name: golden tests
33
on: [push, pull_request]
44

55
env:
6-
PYTHON_VERSION: 3.13.5
6+
PYTHON_VERSION: '3.12'
77

88
jobs:
9-
build:
10-
runs-on: ubuntu-latest
11-
steps:
12-
- name: checkout repo content
13-
uses: actions/checkout@v4
14-
15-
- name: setup python
16-
uses: actions/setup-python@v4
17-
with:
18-
python-version: ${{ env.PYTHON_VERSION }}
19-
20-
- name: Install FinancePy dependencies and package
21-
run: |
22-
python -m pip install --upgrade pip
23-
pip install .[test]
24-
25-
- name: Run Golden tests
26-
run:
27-
python golden_tests/run_all_tests.py
28-
29-
- name: Archive code coverage results
30-
uses: actions/upload-artifact@v4
31-
with:
32-
name: result-differences-file-upload
33-
path: golden_tests/differences/*.testLog
34-
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: checkout repo content
14+
uses: actions/checkout@v4
15+
16+
- name: setup python
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: "${{ env.PYTHON_VERSION }}"
20+
21+
- name: Install FinancePy dependencies and package
22+
run: |
23+
python -m pip install --upgrade pip
24+
python -m pip install -r requirements.txt
25+
python -m pip install .[test]
26+
27+
- name: Run Golden tests
28+
run: |
29+
python golden_tests/run_all_tests.py
30+
31+
- name: Archive golden test result differences
32+
uses: actions/upload-artifact@v4
33+
with:
34+
name: result-differences-file-upload
35+
path: golden_tests/differences/*.testLog

.github/workflows/run-unit-tests.yml

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,35 @@ name: unit test action
33
on: [push, pull_request]
44

55
env:
6-
PYTHON_VERSION: 3.13.5
6+
PYTHON_VERSION: '3.12'
77

88
jobs:
9-
build:
10-
runs-on: ubuntu-latest
11-
steps:
12-
- name: checkout repo content
13-
uses: actions/checkout@v4
14-
15-
- name: setup python
16-
uses: actions/setup-python@v4
17-
with:
18-
python-version: ${{ env.PYTHON_VERSION }}
19-
20-
- name: install dependencies
21-
run: |
22-
python -m pip install --upgrade pip
23-
pip install .[test]
24-
25-
- name: show package is importable
26-
run: |
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: checkout repo content
14+
uses: actions/checkout@v4
15+
16+
- name: setup python
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: "${{ env.PYTHON_VERSION }}"
20+
21+
- name: install dependencies
22+
run: |
23+
python -m pip install --upgrade pip
24+
python -m pip install -r requirements.txt
25+
python -m pip install .[test]
26+
27+
- name: show package is importable
28+
run: |
2729
python -c "import financepy as fp; print(fp.__version__)"
2830
29-
- name: list dependencies
30-
run: |
31-
pip list
31+
- name: list dependencies
32+
run: |
33+
pip list
3234
33-
- name: unit tests
34-
run: |
35-
pytest -vv
35+
- name: unit tests
36+
run: |
37+
pytest -vv

pyproject.toml

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,30 @@
1-
[tool.black]
2-
line-length = 88
3-
4-
[tool.pyright]
5-
typeCheckingMode = "off"
6-
71
[project]
82
name = "financepy"
93
version = "1.0.2"
104
description = "A Finance Securities Valuation Library"
115
readme = "README.md"
12-
requires-python = ">=3.9"
6+
7+
# Python compatibility must match NumPy / SciPy reality
8+
requires-python = ">=3.10,<3.13"
139

1410
dependencies = [
15-
"numpy>=2.3.4",
16-
"scipy>=1.16.3",
17-
"pandas>=2.3.3",
18-
"matplotlib>=3.10.7",
19-
"numba>=0.62.1",
20-
"llvmlite>=0.45.1",
11+
"numpy>=1.26,<2.1",
12+
"scipy>=1.11,<1.14",
13+
"pandas>=2.1,<2.3",
14+
"matplotlib>=3.8,<3.9",
15+
"numba>=0.59,<0.63",
16+
"llvmlite>=0.42,<0.45",
2117
]
2218

2319
[project.optional-dependencies]
2420
dev = [
25-
"ipython==8.25.0",
26-
"mypy>=1.13",
27-
"typing-extensions>=4.12",
21+
"ipython>=8.25,<9",
22+
"mypy>=1.13,<2",
23+
"typing-extensions>=4.12,<5",
2824
]
2925

3026
test = [
31-
"pytest>=8.3",
32-
"pytest-benchmark>=4.1",
33-
"more-itertools",
27+
"pytest>=8,<9",
28+
"pytest-benchmark>=4,<5",
29+
"more-itertools>=10,<11",
3430
]
35-

requirements.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22
# I have pinned versions
33

44
# Core numeric ecosystem
5-
numpy == 2.3.4
6-
scipy == 1.16.3
7-
pandas == 2.3.3
8-
matplotlib == 3.10.7
5+
numpy==1.26.4
6+
scipy==1.11.4
7+
pandas==2.2.2
8+
matplotlib==3.8.4
9+
numba==0.61.2
10+
llvmlite==0.42.0
911

10-
# JIT compiler and LLVM interface
11-
numba == 0.62.1
12-
llvmlite == 0.45.1
1312

1413
# Developer and interactive tools
1514
ipython == 8.25.0
@@ -20,3 +19,5 @@ pytest-benchmark == 4.1
2019
mypy == 1.13
2120
typing-extensions == 4.12
2221
more-itertools
22+
23+

0 commit comments

Comments
 (0)