Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Prepare for v2.0.0 #25

Merged
merged 14 commits into from
Jul 19, 2022
Merged

Prepare for v2.0.0 #25

merged 14 commits into from
Jul 19, 2022

Conversation

daffidwilde
Copy link
Contributor

@daffidwilde daffidwilde commented Jul 14, 2022

Big changes breaking back-compatibility in #22. Also rendering the docs again and documenting how to do that.

* Rename `evaluator.py`

* Rename elements of `datasets.py`

* Rename + refactor `plot.py`

Function methods are not good practice as they cannot be tested.

* Write test for pairwise Cramer's function

* Clean up some loose formatting

* Rename elements of `metrics/classification.py`

* Rename `metrics/cluster.py` items + drop MSD

The single-k clustered MSD function was already so modular that it
didn't warrant being kept separate.

* Rework correlation metrics

In renaming the correlation functions, I identified an easy opportunity
to streamline the interface. Now, all correlation MSD metrics are
contained within `metrics.correlation.correlation_msd` and the method
can be chosen with `method`. This also adds Spearman and Kendall
correlation for free (thanks, `pandas`!)

* Remove pairwise Cramer's functions from `plot.py`

* Fix upper limits for correlation MSD tests

* Rename elements of `privacy.py`

Also refactor sample generation and write a test for it.

* Move feature density difference to its own module

* Rename `univariate_distance.py` as `univariate.py`

Now that all the metrics in there *are* univariate, we're away. But they
certainly are not all distances!

* Sweep for remaining feature diff occurrences

* Update metric example tests
No need for these blocks at the end of our source files--as far as I
know.
Unfortunately, grouped items aren't rendered properly by sphinx, so I've
just gone through and separated them.
@daffidwilde
Copy link
Contributor Author

Since we're publishing to PyPI, it would be sensible to move to poetry...

@daffidwilde
Copy link
Contributor Author

Unfortunately, poetry doesn't play nicely with private repositories like Artifactory, and so would not be useful for ONS machine-based development.

Please excuse the force push; I was hoping to consolidate our setup files since there's a bit of repetition. However, Python 3.6 requires the current configuration and that's the only version available on our data platform.

Leaving both of these for now, but something we could pursue in the future...

* Move literal version number to `__init__.py`

To make single-sourcing more straight forward, I've added the
`__version__` attribute literal here. I've also written a test for the
string's form.

* Point `setup.cfg` at `__init__.py` for version

* Remove `pyqt5` as dependency

* Direct `docs_src/source/conf.py` for version
* Remove and ignore `docs_src/build`

* Add example notebook to docs

* Add new extensions to conf + expand home page

* Render documentation

* Comb through README

* Rework contribution guidelines

* Fix typo in index; render again

* Remove core recursive install from dev requirement
@daffidwilde daffidwilde merged commit 326c536 into main Jul 19, 2022
@daffidwilde daffidwilde deleted the v2.0.0-prep branch July 19, 2022 17:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant