Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
52a5d01
Remove NaN rows inserted by the _process_data method
dulacp Mar 7, 2021
91df973
Fix RebalanceOvertime if condition
dulacp Mar 9, 2021
f4fc8d7
fixed all tickers being wrongly considered when children are specified
AlbertoParravicini Apr 30, 2021
72b7053
small code change
jeamick May 1, 2021
c7b0859
removed unnecessary init, it was part of a first bug fix attempt
AlbertoParravicini May 5, 2021
47acde5
Allow different target volatilities for each asset
danilogalisteu May 14, 2021
1b88dfe
fix new black lint error
timkpaine May 15, 2021
03e89d3
Merge pull request #308 from jpmorganchase/tkp/lint
timkpaine May 15, 2021
6ada536
Merge branch 'master' into patch-1
timkpaine May 15, 2021
43af465
Merge branch 'master' into patch-1
timkpaine May 15, 2021
b98046a
Merge branch 'master' into fix-rebalance-overtime
timkpaine May 15, 2021
0fda3fa
Merge branch 'master' into fix-ticker-children
timkpaine May 15, 2021
a2f76c6
Merge pull request #289 from dulacp/fix-random-benchmark
timkpaine May 15, 2021
4c2d82b
Merge pull request #303 from jeamick/patch-1
timkpaine May 15, 2021
7c6c235
fix lint
timkpaine May 15, 2021
3fc29d4
fix lint
timkpaine May 15, 2021
3c4c067
fix lint
timkpaine May 15, 2021
b416ccf
Merge pull request #290 from dulacp/fix-rebalance-overtime
timkpaine May 15, 2021
abf3269
Merge pull request #306 from danilogalisteu/patch-1
timkpaine May 15, 2021
9d70659
Update core.py
MDDietz1 Feb 9, 2022
90b8a93
Merge pull request #1 from MDDietz1/MDDietz1-patch-1
MDDietz1 Feb 9, 2022
fdf94ec
Reduce build CI
timkpaine Feb 9, 2022
14f9074
update python_requires to >=3.7
timkpaine Feb 9, 2022
e713d49
only deploy to python >= 3.7
timkpaine Feb 9, 2022
44d93f2
fix lint problem
timkpaine Feb 9, 2022
34ffd60
Merge pull request #349 from jpmorganchase/fixlint
timkpaine Feb 9, 2022
44c29ff
Merge branch 'master' into ci
timkpaine Feb 9, 2022
b5f33fb
only build pushes to master
timkpaine Feb 9, 2022
9aa13ee
only build pushes to master
timkpaine Feb 9, 2022
3e177f8
Merge pull request #348 from pmorissette/ci
timkpaine Feb 9, 2022
e9959ff
Merge remote-tracking branch 'source/master' into mddietz1master
timkpaine Feb 9, 2022
3d188d0
Merge pull request #347 from MDDietz1/master
timkpaine Feb 9, 2022
91afe1e
Bump to version 0.2.10
timkpaine Feb 9, 2022
99c453e
Merge pull request #350 from pmorissette/0210
timkpaine Feb 9, 2022
132f7a1
cancel CI if new commits pushed, only build 1 set of PR builds, publi…
timkpaine Feb 25, 2022
ab2d4ea
Prevent security_weights from overwriting values history
MDDietz1 Mar 11, 2022
28e2f31
Merge pull request #352 from jpmorganchase/cipublish
timkpaine Mar 23, 2022
3ac98b4
fix build
timkpaine Apr 2, 2022
a1d45d1
Merge pull request #358 from jpmorganchase/tkp/ci
timkpaine Apr 2, 2022
54f8098
Update build.yml
timkpaine Apr 3, 2022
e47b9a7
Merge pull request #359 from jpmorganchase/timkpaine-patch-1
timkpaine Apr 3, 2022
d21071d
Merge branch 'pmorissette:master' into master
MDDietz1 Apr 10, 2022
3538bb0
upgrade actions versions
timkpaine May 25, 2022
470f560
don't run on schedule
timkpaine May 25, 2022
3dbce4f
use setup.py as cache file indicator
timkpaine May 26, 2022
6a1253c
Merge pull request #362 from jpmorganchase/tkp/maint
timkpaine May 26, 2022
b930085
WIP docs update, critical bugfix for pandas upgrade, move to pytest, …
timkpaine Jun 30, 2022
9ba29b6
Merge pull request #302 from AlbertoParravicini/fix-ticker-children
timkpaine Jun 30, 2022
1baebd5
add test for child strategies
timkpaine Jun 30, 2022
f2baa5a
Merge branch 'master' into tkp/docs
timkpaine Jun 30, 2022
fecdfc3
autoformat documentation configuration, restore logo file, add tests …
timkpaine Jul 1, 2022
613b1aa
remove nose and mock dependencies, replace nose approx with pytest ap…
timkpaine Jul 1, 2022
247c78d
autoformat tests
timkpaine Jul 1, 2022
dbe4ee2
add headers and improve organization of examples when generating docs
timkpaine Jul 1, 2022
5de798b
Merge pull request #370 from jpmorganchase/tkp/docs
timkpaine Jul 1, 2022
5e8a9e0
Bump actions/setup-python from 3 to 4
dependabot[bot] Jul 1, 2022
9f9f725
Bump codecov/codecov-action from 2 to 3
dependabot[bot] Jul 1, 2022
7d680dc
simplify readme with badges, add installation comments about conda-forge
timkpaine Jul 1, 2022
8af0719
Merge pull request #372 from pmorissette/dependabot/github_actions/ac…
timkpaine Jul 1, 2022
774983d
Bump actions/checkout from 2 to 3
dependabot[bot] Jul 1, 2022
44c97bf
Merge pull request #373 from pmorissette/dependabot/github_actions/co…
timkpaine Jul 1, 2022
32b5795
Merge pull request #374 from jpmorganchase/tkp/rm
timkpaine Jul 1, 2022
6d08931
Merge pull request #371 from pmorissette/dependabot/github_actions/ac…
timkpaine Jul 1, 2022
edbc9b5
Merge pull request #383 from MDDietz1/master
timkpaine Aug 24, 2022
bc9ca5c
restore missing images to docs, fixes #389
timkpaine Nov 12, 2022
43d6a66
Merge pull request #391 from pmorissette/tkp/docsimages
timkpaine Nov 12, 2022
09dfef9
add manual dispatch trigger to GitHub actions
timkpaine Nov 22, 2022
865325f
Merge pull request #395 from pmorissette/timkpaine-patch-1
timkpaine Nov 22, 2022
63ffece
added date check for return calc
brrrak Mar 13, 2023
9dabd6c
Fixing easy install typo
RoryGlenn Apr 30, 2023
8446844
Merge pull request #411 from RoryGlenn/documentation
timkpaine Apr 30, 2023
654b7a9
fix lint
timkpaine May 23, 2023
8a5dce2
bump minimum supported ffn to 0.3.7
timkpaine May 23, 2023
3b93843
fix lint for newer black
timkpaine May 23, 2023
4282e2d
Merge pull request #413 from timkpaine/tkp/ffn037
timkpaine May 23, 2023
cd43744
fix lint errors due to flake8 6.1
timkpaine Sep 4, 2023
671627c
Merge pull request #422 from timkpaine/tkp/f861
timkpaine Sep 4, 2023
c0d74d9
Bump actions/checkout from 3 to 4
dependabot[bot] Sep 4, 2023
6930ccc
Merge pull request #421 from pmorissette/dependabot/github_actions/ac…
timkpaine Sep 4, 2023
47d322b
Update backtest.py
nathanramoscfa Sep 13, 2023
b4febd1
Update setup.py
nathanramoscfa Sep 13, 2023
a1a21b0
Update setup.py
nathanramoscfa Sep 14, 2023
51ec0c0
Merge pull request #407 from brrrak/add-date-check
timkpaine Nov 20, 2023
c737843
Uplift packaging for 2023, move to rust, rework ci sciprs
timkpaine Nov 20, 2023
2581278
Merge pull request #426 from timkpaine/tkp/pkg
timkpaine Nov 20, 2023
6f30425
bump minimum python to 3.7
timkpaine Nov 20, 2023
38767ce
Merge branch 'master' into add-tqdm
timkpaine Nov 20, 2023
b67757a
Merge pull request #427 from timkpaine/tkp/37
timkpaine Nov 20, 2023
e74e902
dont clean on dist
timkpaine Nov 20, 2023
2b4c87b
Merge pull request #423 from nathanramoscfa/add-tqdm
timkpaine Nov 22, 2023
e949e06
add relative tolerance to allocate outlay check
0xEljh Nov 29, 2023
2c6a203
Merge pull request #430 from 0xEljh/master
timkpaine Dec 1, 2023
efb3e88
Bump actions/setup-python from 4 to 5
dependabot[bot] Dec 11, 2023
dadbc4d
Merge pull request #431 from pmorissette/dependabot/github_actions/ac…
timkpaine Dec 11, 2023
2ba4030
Bump codecov/codecov-action from 3 to 4
dependabot[bot] Feb 5, 2024
2c6bb3f
Merge pull request #434 from pmorissette/dependabot/github_actions/co…
timkpaine Feb 5, 2024
aeb0f1c
fixed bug which positions access did not trigger updating
zero-element Apr 4, 2024
1632271
Merge pull request #438 from zero-element/master
timkpaine Apr 4, 2024
03bc204
add numpy/pandas version tests
timkpaine Jun 23, 2024
6b8144b
Fix numpy 2 issues
timkpaine Jun 23, 2024
bb69750
Move regular ci to 3.9,3.12, add 3.12 to deploy
timkpaine Jun 23, 2024
d00fd67
Merge pull request #442 from pmorissette/tkp/reg
timkpaine Jun 23, 2024
0a1969c
Bump to 1.0.1
timkpaine Jun 23, 2024
9088f9a
Merge pull request #443 from pmorissette/tkp/101
timkpaine Jun 23, 2024
19b842c
switch base test environment to 3.11, bump minimum cython version to …
timkpaine Nov 12, 2022
4363268
include sdist in artifact upload
timkpaine Nov 12, 2022
43983f6
Merge pull request #392 from pmorissette/tkp/cibw
timkpaine Jun 24, 2024
28a1301
Small deployment fixes
timkpaine Jun 24, 2024
c0bda68
positions should not mix NaN and 0s
mkeds May 22, 2020
5e7ea60
Merge pull request #444 from pmorissette/tkp/depl
timkpaine Jun 24, 2024
1b138c5
Update ruff usage, enforce format, update workflows
timkpaine Jun 24, 2024
8d57f19
Reformat files
timkpaine Jun 24, 2024
b58f504
Merge pull request #445 from pmorissette/tkp/deps
timkpaine Jun 24, 2024
0eac305
Drop codecov and codecov badge
timkpaine Jun 24, 2024
4638d21
Merge pull request #446 from pmorissette/tkp/cc
timkpaine Jun 24, 2024
3ad49fd
Introduce an optional lag parameter in SetStat
lnzeta Jan 28, 2023
1334937
Merge pull request #403 from lantzo/patch-1
timkpaine Jun 28, 2024
bcdac71
Merge pull request #218 from mkeds/patch-1
timkpaine Jun 28, 2024
b85b3d7
Update ruff requirement from <0.5,>=0.3 to >=0.5.0,<0.6
dependabot[bot] Jul 1, 2024
95215d5
Merge pull request #447 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Jul 1, 2024
520036f
Removes chained indexing.
quant12345 Aug 5, 2024
7939b47
To access a value by position, use `ser.iloc[pos]`
quant12345 Aug 5, 2024
5945ab4
Merge pull request #449 from quant12345/loc
timkpaine Aug 5, 2024
9937174
Merge pull request #448 from quant12345/iloc
timkpaine Aug 5, 2024
653147b
bump version to 1.1.0, bump ffn min version to 1.1.0
timkpaine Aug 5, 2024
8087a3d
Merge pull request #452 from timkpaine/tkp/110
timkpaine Aug 5, 2024
adca787
Cleanup, remove future, autofix ruff problems
timkpaine Aug 6, 2024
32cb3b6
Merge pull request #453 from pmorissette/tkp/fut
timkpaine Aug 6, 2024
d3c57fd
Added instructions for contributors (local development)
danilogalisteu Sep 23, 2024
078e392
Update README.md
danilogalisteu Sep 24, 2024
3652eec
Update README.md
danilogalisteu Sep 24, 2024
4130cb7
Merge pull request #457 from danilogalisteu/patch-3
timkpaine Sep 24, 2024
7ec886d
Update ruff requirement from <0.6,>=0.5.0 to >=0.5.0,<0.7
dependabot[bot] Oct 1, 2024
2228eeb
Merge pull request #458 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Oct 1, 2024
e7cd6e5
Update ruff requirement from <0.7,>=0.5.0 to >=0.5.0,<0.8
dependabot[bot] Nov 1, 2024
6506710
Merge pull request #459 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Nov 1, 2024
4e8bf27
Update ruff requirement from <0.8,>=0.5.0 to >=0.5.0,<0.9
dependabot[bot] Dec 1, 2024
a458fe4
Merge pull request #462 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Dec 1, 2024
b3d53be
Update ruff requirement from <0.9,>=0.5.0 to >=0.5.0,<0.10
dependabot[bot] Feb 1, 2025
9ddf4ab
fix lint errors
timkpaine Feb 1, 2025
771ec80
Merge pull request #467 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Feb 2, 2025
ded4355
Bump ffn to 1.1.1, fixes #466
timkpaine Feb 11, 2025
8bf7ecf
Merge pull request #468 from pmorissette/tkp/ffn112
timkpaine Feb 11, 2025
4c829cb
Bump ffn to 1.1.2 in runtime deps too
timkpaine Feb 11, 2025
d79efce
Merge pull request #469 from pmorissette/tkp/hf
timkpaine Feb 11, 2025
029c90e
Bump to 1.1.1
timkpaine Feb 11, 2025
fdf7ea1
Merge pull request #470 from pmorissette/tkp/111
timkpaine Feb 11, 2025
2868311
Move macos runners to 13
timkpaine Feb 12, 2025
710d97a
Merge pull request #471 from timkpaine/tkp/macos
timkpaine Feb 12, 2025
020e6cb
Drop python 3.8
timkpaine Feb 12, 2025
5aa2113
Merge pull request #472 from timkpaine/tkp/drop38
timkpaine Feb 12, 2025
b4f76c2
Update ruff requirement from <0.10,>=0.5.0 to >=0.5.0,<0.12
dependabot[bot] Apr 1, 2025
f960017
Merge pull request #474 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Apr 1, 2025
65a9506
Bump to 1.1.2 for Python 3.13 wheels
timkpaine Apr 8, 2025
cc689c1
Merge pull request #476 from timkpaine/tkp/112
timkpaine Apr 8, 2025
01bd04d
Bump cibuildwheel version
timkpaine Apr 8, 2025
f54712e
Merge pull request #477 from timkpaine/tkp/cibw
timkpaine Apr 8, 2025
051978d
Update ruff requirement from <0.12,>=0.5.0 to >=0.5.0,<0.13
dependabot[bot] Jul 1, 2025
dda47fa
Merge pull request #478 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Jul 1, 2025
0b04d38
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 11, 2025
639c2a3
Merge pull request #481 from pmorissette/dependabot/github_actions/ac…
timkpaine Aug 11, 2025
e82ca83
Bump actions/setup-python from 5 to 6
dependabot[bot] Sep 8, 2025
e36c023
Merge pull request #482 from pmorissette/dependabot/github_actions/ac…
timkpaine Sep 8, 2025
67940b7
Adding a margin algorithm. Can be used to simulate brokerage margin a…
tamccall Sep 25, 2025
ac08393
Merge pull request #484 from tamccall/margin
timkpaine Sep 26, 2025
33a0c05
Update ruff requirement from <0.13,>=0.5.0 to >=0.5.0,<0.14
dependabot[bot] Oct 1, 2025
842cf73
Merge pull request #485 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Oct 2, 2025
afae931
Allowing clients to disable the progress bar on run
tamccall Oct 16, 2025
6f4f83b
Merge pull request #486 from tamccall/remove-progress-bar
timkpaine Oct 16, 2025
4e0b126
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Oct 27, 2025
80046cf
Merge pull request #487 from pmorissette/dependabot/github_actions/ac…
timkpaine Oct 27, 2025
dfa934a
Update ruff requirement from <0.14,>=0.5.0 to >=0.5.0,<0.15
dependabot[bot] Nov 1, 2025
c10754d
Merge pull request #488 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Nov 1, 2025
e42bbe9
Fix FutureWarning in backtest.py when concatenating DataFrames with d…
jonahsheep Nov 11, 2025
f631375
Merge pull request #492 from nehajosephh/fix/futurewarn-bool-dtype
timkpaine Nov 13, 2025
81aa875
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
961dcc6
Merge pull request #493 from pmorissette/dependabot/github_actions/ac…
timkpaine Nov 24, 2025
657e1d6
Bump actions/upload-artifact from 5 to 6
dependabot[bot] Dec 15, 2025
071819e
Merge pull request #494 from pmorissette/dependabot/github_actions/ac…
timkpaine Feb 23, 2026
f2bd343
Support pandas 3, add regression testing for pandas 1 and 2
timkpaine Feb 22, 2026
887833c
Merge pull request #497 from timkpaine/tkp/p3
timkpaine Feb 23, 2026
ae23636
Bump to 1.1.3
timkpaine Feb 23, 2026
b7d4592
Merge pull request #498 from timkpaine/tkp/113
timkpaine Feb 23, 2026
f56a2a8
Deal with floating point error in tests
timkpaine Feb 28, 2026
63344e7
Merge pull request #500 from timkpaine/tkp/close
timkpaine Feb 28, 2026
4a801d6
Update ruff requirement from <0.15,>=0.5.0 to >=0.5.0,<0.16
dependabot[bot] Mar 1, 2026
608d17e
Merge pull request #501 from pmorissette/dependabot/pip/ruff-gte-0.5.…
timkpaine Mar 1, 2026
168719f
Bump actions/upload-artifact from 6 to 7
dependabot[bot] Mar 2, 2026
0dd8347
Merge pull request #502 from pmorissette/dependabot/github_actions/ac…
timkpaine Mar 2, 2026
ac7f17b
Fix FutureWarning: add explicit axis=0 to DataFrame.std() in WeighInvVol
Bortlesboat Mar 3, 2026
81b45f3
Merge pull request #503 from Bortlesboat/fix-futurewarning-std-axis
timkpaine Mar 3, 2026
44e4fc1
Bump version to 1.1.4
timkpaine Mar 5, 2026
709a1a3
Merge pull request #504 from timkpaine/tkp/114
timkpaine Mar 5, 2026
fa5e40f
Drop Python 3.9, add Python 3.14
timkpaine Mar 5, 2026
89cbf02
Merge pull request #505 from timkpaine/tkp/upd
timkpaine Mar 5, 2026
075de77
unpin cibuildwheel
timkpaine Mar 15, 2026
36bb164
Merge pull request #508 from timkpaine/tkp/cibw2
timkpaine Mar 15, 2026
8d567a0
Fix progress_bar parameter not being respected by bt.run()
Bortlesboat Mar 15, 2026
cf0526b
Merge pull request #507 from Bortlesboat/fix-progress-bar
timkpaine Mar 15, 2026
a0bc24a
bump to 1.1.5
timkpaine Mar 15, 2026
c22e6ff
Merge pull request #509 from timkpaine/tkp/115
timkpaine Mar 21, 2026
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
15 changes: 0 additions & 15 deletions .coveragerc

This file was deleted.

12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "monthly"

62 changes: 39 additions & 23 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,62 @@ name: Build Status

on:
push:
branches:
- master
pull_request:
schedule:
# run on sunday nights
- cron: '0 0 * * 0'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
build:
runs-on: ${{ matrix.os }}
environment: dev

strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
os: [ubuntu-latest, macos-latest, windows-latest]
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- 3.11

steps:
- uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'setup.py'

- name: Install dependencies
run: |
python -m pip install -e .[dev]
python -m pip install -U wheel twine setuptools
run: make develop

- name: Lint
run: |
python -m flake8 bt setup.py
run: make lint

- name: Test
run: |
python -m nose --with-coverage --cover-package bt

- name: Coverage
run: |
codecov
run: make test

- name: Package and check
run: |
python setup.py sdist bdist_wheel
python -m twine check dist/*
run: make dist

- name: Install cibuildwheel
run: python -m pip install cibuildwheel

- name: Build wheels
run: python -m cibuildwheel --output-dir dist
env:
CIBW_BUILD: "cp311-*"

- name: Check Wheels
run: twine check dist/*

- uses: actions/upload-artifact@v7
with:
path: ./dist/*.whl
name: wheel-test-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}
115 changes: 91 additions & 24 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,51 +1,118 @@
name: Deploy

on:
on:
push:
tags:
- 'v*'
workflow_dispatch:

jobs:
build:
runs-on: ${{ matrix.os }}
environment: dev

strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.6, 3.7, 3.8, 3.9]
os:
- ubuntu-latest
- macos-latest
- windows-latest
include:
- python-version: "3.10"
cibuildwheel: "cp10"
- python-version: "3.11"
cibuildwheel: "cp311"
- python-version: "3.12"
cibuildwheel: "cp312"
- python-version: "3.13"
cibuildwheel: "cp313"
- python-version: "3.14"
cibuildwheel: "cp314"

steps:
- uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install -e .[dev]
make develop
python -m pip install -U wheel twine setuptools

- name: Lint
run: |
python -m flake8 bt setup.py
- name: Install cibuildwheel
run: python -m pip install cibuildwheel

- name: Test
run: |
python -m nose --with-coverage --cover-package bt
- name: Python Wheel Steps (Linux - cibuildwheel)
run: python -m cibuildwheel --output-dir dist
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-manylinux*"
CIBW_ARCHS_LINUX: x86_64 aarch64
CIBW_BUILD_VERBOSITY: 3
if: ${{ runner.os == 'Linux' }}

- name: Package and check
run: |
python setup.py sdist bdist_wheel
python -m twine check dist/*
- name: Python Build Steps (Macos)
run: python -m cibuildwheel --output-dir dist
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-macos*"
CIBW_ARCHS_MACOS: x86_64 arm64
CIBW_BUILD_VERBOSITY: 3
if: ${{ matrix.os == 'macos-latest' }}

- name: Publish distribution 📦 to PyPI
if: ${{ startsWith(github.ref, 'refs/tags') && matrix.os != 'ubuntu-latest' }}
- name: Python Build Steps (Windows)
run: python -m cibuildwheel --output-dir dist
env:
TWINE_USERNAME: ${{ secrets.PYPI_UN }}
TWINE_PASSWORD: ${{ secrets.PYPI_PW }}
run: |
python -m twine upload dist/* --skip-existing || echo "Failed to deploy"
CIBW_BUILD: "${{ matrix.cibuildwheel }}-win_amd64"
if: ${{ matrix.os == 'windows-latest' }}

- name: Check Wheels
run: twine check dist/*

- name: Upload Wheel
uses: actions/upload-artifact@v7
with:
name: wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}
path: dist/*.whl

# - name: Publish distribution 📦 to PyPI
# if: ${{ startsWith(github.ref, 'refs/tags') && matrix.os != 'ubuntu-latest' }}
# env:
# TWINE_USERNAME: ${{ secrets.PYPI_UN }}
# TWINE_PASSWORD: ${{ secrets.PYPI_PW }}
# run: make upload
build_sdist:
strategy:
matrix:
os:
- ubuntu-latest
python-version:
- '3.10'

runs-on: ${{ matrix.os }}

steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: make develop

- name: Python SDist Steps
run: python setup.py sdist

- name: Check sdist
run: twine check dist/*.tar.gz

- name: Upload SDist
uses: actions/upload-artifact@v7
with:
name: sdist
path: dist/*.tar.gz
54 changes: 54 additions & 0 deletions .github/workflows/regression.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Regression and Version Tests

on:
push:
branches:
- master
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
build:
runs-on: ${{ matrix.os }}
environment: dev

strategy:
matrix:
python-version:
- 3.11
os:
- ubuntu-latest
pandas_version:
- '>=1,<2'
- '>=2,<3'
- '>=3,<4'
numpy_version:
- '<2'
- '>=2'
exclude:
- numpy_version: '>=2'
pandas_version: '>=1,<2'

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'setup.py'

- name: Install dependencies
run: make develop

- name: Install specific pandas and numpy versions
run: pip install "pandas${{ matrix.pandas_version }}" "numpy${{ matrix.numpy_version }}"

- name: Test
run: make test
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ htmlcov/
.cache
nosetests.xml
coverage.xml
python_junit.xml

# Translations
*.mo
Expand Down Expand Up @@ -70,3 +71,5 @@ docs/source/.ipynb_checkpoints/
# macOS
.DS_Store

# jupyter
.ipynb_checkpoints
File renamed without changes.
23 changes: 12 additions & 11 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
graft bt
graft ffn
include LICENSE
include README.md
include pyproject.toml

include LICENSE.txt
include README.rst
include setup.py
prune docs
prune tests

graft docs
prune docs/build

global-exclude *.so
global-exclude *.pyd
# Patterns to exclude from any directory
global-exclude *~
global-exclude *.pyc
global-exclude .git*
global-exclude .DS_Store
global-exclude *.pyo
global-exclude .git
global-exclude .ipynb_checkpoints
global-exclude .mypy_cache
global-exclude .DS_Store
Loading