matthewwardrop / formulaic

A high-performance implementation of Wilkinson formulas for Python.
MIT License
313 stars 21 forks source link

Add type signatures to all methods, improve documentation, and enable static type checking. #147

Closed matthewwardrop closed 1 year ago

matthewwardrop commented 1 year ago

This should make the code easier to maintain, and improve the new contributor experience.

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 100.00% and no project coverage change.

Comparison is base (ceac080) 100.00% compared to head (a4dcec8) 100.00%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #147 +/- ## ========================================= Coverage 100.00% 100.00% ========================================= Files 48 48 Lines 2570 2593 +23 ========================================= + Hits 2570 2593 +23 ``` | Flag | Coverage Δ | | |---|---|---| | unittests | `100.00% <100.00%> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#carryforward-flags-in-the-pull-request-comment) to find out more. | [Impacted Files](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop) | Coverage Δ | | |---|---|---| | [formulaic/\_\_init\_\_.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL19faW5pdF9fLnB5) | `100.00% <ø> (ø)` | | | [formulaic/formula.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL2Zvcm11bGEucHk=) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/arrow.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvYXJyb3cucHk=) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/base.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvYmFzZS5weQ==) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/pandas.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvcGFuZGFzLnB5) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/types/evaluated\_factor.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvdHlwZXMvZXZhbHVhdGVkX2ZhY3Rvci5weQ==) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/types/factor\_values.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvdHlwZXMvZmFjdG9yX3ZhbHVlcy5weQ==) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/types/scoped\_factor.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvdHlwZXMvc2NvcGVkX2ZhY3Rvci5weQ==) | `100.00% <100.00%> (ø)` | | | [formulaic/materializers/types/scoped\_term.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21hdGVyaWFsaXplcnMvdHlwZXMvc2NvcGVkX3Rlcm0ucHk=) | `100.00% <100.00%> (ø)` | | | [formulaic/model\_matrix.py](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop#diff-Zm9ybXVsYWljL21vZGVsX21hdHJpeC5weQ==) | `100.00% <100.00%> (ø)` | | | ... and [28 more](https://app.codecov.io/gh/matthewwardrop/formulaic/pull/147?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Matthew+Wardrop) | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.