diff --git a/README.md b/README.md index 0884924..f1f9a6e 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ # Dataframe API Compat -Extremely lightweight compatibility layer between pandas, Polars, and any other project which implements the [Python Dataframe API Standard](https://data-apis.org/dataframe-api/). +Extremely lightweight compatibility layer between pandas, Polars, Modin and any other project which implements the [Python Dataframe API Standard](https://data-apis.org/dataframe-api/). - ✅ No dependencies. -- ✅ Lightweight: wheel is smaller than 30 kB. +- ✅ Lightweight: wheel is smaller than 50 kB. - ✅ Simple, minimal, and predictable. Documentation, including installation instructions and tutorial, are here: https://data-apis.org/dataframe-api-compat. diff --git a/contributing.md b/contributing.md index 2003368..c5337c5 100644 --- a/contributing.md +++ b/contributing.md @@ -9,10 +9,17 @@ pip install -r requirements-dev.txt Testing ------- ``` -pytest test_standard.py --cov=dataframe_api_compat --cov=test_standard --cov-fail-under=100 +pytest tests --cov=dataframe_api_compat/pandas_standard --cov-fail-under=100 --library pandas-numpy +pytest tests --cov=dataframe_api_compat/pandas_standard --cov-fail-under=100 --library pandas-nullable +pytest tests --cov=dataframe_api_compat/polars_standard --cov-fail-under=100 --library polars-lazy +# prerequisite: `pip install -r requirements-dev-modin.txt` +pytest tests --cov=dataframe_api_compat/modin_standard --cov-fail-under=100 --library modin ``` 100% branch coverage isn't the objective - it's the bare minimum. +**Note**: there is also requirement about 100% coverage in `tests` folder, however, to achieve one +need to combine coverage from different implementations. How this is done can be seen in the `tox.yml` CI flow. + Linting ------- ``` @@ -25,11 +32,13 @@ Type Checking First, clone the [dataframe_standard](https://github.com/data-apis/dataframe-api) to some local path. Then, run: ```console -MYPYPATH= mypy dataframe_api_compat -MYPYPATH= mypy polars_standard.py +MYPYPATH= mypy dataframe_api_compat/pandas_standard dataframe_api_compat/polars_standard +# prerequisite: `pip install -r requirements-dev-modin.txt` +MYPYPATH= mypy dataframe_api_compat/modin_standard ``` For example, if you cloned both repos in the same place, this could be: ```console -MYPYPATH=../dataframe-api/spec/API_specification/ mypy dataframe_api_compat +MYPYPATH=../dataframe-api/spec/API_specification/ mypy dataframe_api_compat/pandas_standard dataframe_api_compat/polars_standard +MYPYPATH=../dataframe-api/spec/API_specification/ mypy dataframe_api_compat/modin_standard ```