Skip to content

Conversation

@getzze
Copy link
Contributor

@getzze getzze commented Jul 25, 2024

Modernize the building and testing framework:

To build: hatch build or python -m build
To bump version: hatch version minor
To test: hatch run tests:run
To test with coverage: hatch run tests:run-cov && hatch run coverage:run
To build and test docs: hatch run docs:all
To run examples: hatch run examples:run -- --plot_type=boxplot --data_type=df_with_group_and_hue

To test #155 I had to write the test_script.py file and it was very convenient to use hatch environments for testing. So I thought I should actually make a PR about it :)

@codecov
Copy link

codecov bot commented Jul 27, 2024

Codecov Report

Attention: Patch coverage is 72.72727% with 3 lines in your changes missing coverage. Please review.

Project coverage is 97.27%. Comparing base (48a3771) to head (105e57b).
Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
statannotations/compat.py 72.72% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #156      +/-   ##
==========================================
+ Coverage   91.39%   97.27%   +5.87%     
==========================================
  Files          34       16      -18     
  Lines        2465     1507     -958     
  Branches        0      212     +212     
==========================================
- Hits         2253     1466     -787     
+ Misses        212       27     -185     
- Partials        0       14      +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@getzze
Copy link
Contributor Author

getzze commented Jul 31, 2024

I modified a bit the Github action so instead of calling hatch once to run all the tests, the workflow creates a matrix of python and seaborn versions (we could also add an OS matrix if needed, see https://github.com/platformdirs/platformdirs/ for the modifications to do).

Github runs matrix jobs in parallel so the tests are substantially faster.

@getzze
Copy link
Contributor Author

getzze commented Jul 31, 2024

I forgot to mention that python 3.7 is not tested (hatch was not working for me with this python version). It would be better to drop it, as it is EOL anyway.

@getzze getzze force-pushed the use-hatch branch 2 times, most recently from 21f2da1 to 9f525e2 Compare November 19, 2024 14:06
@getzze
Copy link
Contributor Author

getzze commented Nov 19, 2024

Thanks for merging #155, I rebased this PR, all tests are passing now. I will check the jupyter notebook.

Reminder: minimal python version is set to 3.8

@getzze
Copy link
Contributor Author

getzze commented Nov 19, 2024

The notebook runs correctly with python 3.12.

I added support for python 3.13 (only compatible with seaborn 0.13), the tests are passing.

@getzze
Copy link
Contributor Author

getzze commented Nov 19, 2024

Coverage is working now!

@getzze
Copy link
Contributor Author

getzze commented Nov 19, 2024

@trevismd it's ready for review

@getzze
Copy link
Contributor Author

getzze commented Nov 19, 2024

closes #150

I moved all the source files to a src folder, which avoids some errors when running tests and building docs.

Also I added some linting scripts: typos , end-of-file-fixer and trailing-whitespace

@getzze
Copy link
Contributor Author

getzze commented Mar 26, 2025

Hi @trevismd ,
I rebased this PR. It seems it has a lot of changes but most of it is getting rid of the build docs folder (that should not be tracked with git).
I believe this PR will help make the project more maintainable by moving to modern packaging with pyproject.toml.

The next step would be to add type annotations and a fast linter (ruff). But for that we need to have a pyproject.toml.

A reverted moving the source to a src folder as it is not critical and it makes the changes less trackable. If needed it can be done in a separate PR that does only that.

@phaleanopsis
Copy link
Contributor

phaleanopsis commented Jul 16, 2025

I think it would make sense to merge this PR, and then as a next step work to improve docstrings and type annotations to make the package and documentation a bit more accessible?

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.

3 participants