Skip to content

feat: add GitHub Actions CI workflow for automated testing#26

Open
westonplatter wants to merge 2 commits intomarcdemers:mainfrom
westonplatter:feat/issues-23-automated-ci
Open

feat: add GitHub Actions CI workflow for automated testing#26
westonplatter wants to merge 2 commits intomarcdemers:mainfrom
westonplatter:feat/issues-23-automated-ci

Conversation

@westonplatter
Copy link
Copy Markdown

@westonplatter westonplatter commented Jan 24, 2026

  • Create .github/workflows/ci.yml with Python 3.10-3.13 matrix
  • Update setup.py with test extras (pytest) and modern Python classifiers
  • Update numba requirement to >=0.61.0 for Python 3.10+ support
  • Fix test file paths in test_entrypoints.py to use pathlib for proper resolution when running from project root

side note: CI will fail until py_lets_be_rational dependency issue is resolved. The package imports from _testcapi which is unavailable in standard Python. See vollib/py_vollib#27 - fix exists in repo but is not published to PyPI.

Example of the Python 3.10-3.14 tests passing => https://github.com/westonplatter/py_vollib_vectorized/actions/runs/21319719922

Closes #23

- Create .github/workflows/ci.yml with Python 3.10-3.13 matrix
- Update setup.py with test extras (pytest) and modern Python classifiers
- Update numba requirement to >=0.61.0 for Python 3.10+ support
- Fix test file paths in test_entrypoints.py to use pathlib for
  proper resolution when running from project root

side note: CI will fail until py_lets_be_rational dependency issue is resolved.
The package imports from _testcapi which is unavailable in standard Python.
See vollib/py_vollib#27 - fix exists in repo
but is not published to PyPI.
knaps added a commit to knaps/py_vollib_vectorized that referenced this pull request Mar 27, 2026
…s#19, marcdemers#20, marcdemers#21, marcdemers#26)

- Fix model='black' crash: remove extra `b` arg from 5 original greeks,
  fix wrong arg order in gamma_black and syntax error in rho_black (marcdemers#20)
- Fix pandas index-alignment in price_dataframe() with np.asarray() (marcdemers#21)
- Fix vectorized_black discounting: apply exp(-r*t) to match py_vollib (marcdemers#19)
- Switch all S/F numerical bumps from absolute (dS=0.01) to relative
  (h=S*1e-4), preventing NaN for small spot prices (marcdemers#18)
- Fix test file paths with pathlib so tests run from project root (marcdemers#26)
- Add GitHub Actions CI workflow, update Python classifiers to 3.10-3.13,
  bump numba>=0.61.0, replace distutils with setuptools (marcdemers#26)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automated CI - looking for feedback

1 participant