-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V0.3 update #121
V0.3 update #121
Conversation
Bringing develop back up to date
include optional dependencies in pyproject.toml dynamic field
Update README.rst
Consolidating setup info
updating ptmc-removal branch of setup configurations
Removal of PTMC (depends on ptemcee for which maintenance has been dropped)
Was able to run all tox tasks successfully. Did quick review of coverage reports and sphinx output. All looked acceptable. Flake8 shows all passing, which is as to be expected since it is already integrated in the repo. Sphinx output printed a few warnings.
Built the HTML form of the docs and all looks good. The language should be cleaned up during PR review.
The 3.8/macOS python-package job failed due to a scipy package with a wrong/suspicious hash. It was trying to install 1.4, which is less than the minimum value of 1.7 specified for the package. Trying 1.7 to see if it passes again. Sphinx package builds failed with a strange error. I find in stack overflow that this error message can be related with shallow git clones. Asking action to download the full repo as suggested to see if that fixes it.
Trying to see if updating to latest version of GH action tools works.
remove py38 from workflow
From building the wheel, I see a future warning
When running the test suite I get the following warning
Is this acceptable? Citations 2 & 9 are already published. Don't need "To Appear." Citations 5 & 7 are missing their links. Citation 6 is already published Collaborators have name/affilitions, but contributors don't. Is inconsistency intended? |
Addressed by specifying the language level in
Addressed in
The contributors are listed from interactions in raising Github issues and including specific interfacing codes. That is why I kept them in Github usernames. |
I did not see any matplotlib graphics when I ran the examples this time. This makes running the examples as python scripts less than useful. |
Do you think we should have the plots saved? Or should we leave it as before, where users have to manually close the figure to advance the code? |
What's the argument for non-blocking graphics? |
When the examples were developed as notebooks, the code is not blocked by the plot. But when the examples are used as scripts, the code should not be blocked until each plot is closed. Perhaps it is my habit, but I tend to use scripts when I do not expect to interact with the code. One possible solution is to save the figures, or only use the notebooks as examples. |
I usually have my scripts write graphics to file rather than have them be interactive as well. However, if you do that for examples you might want to at least print to stdout that you are writing files and print their names. In terms of seeing how surmise is used, the notebooks seem more powerful and sufficient. You also provide links to them so that users don't even need to run the notebooks.
|
The examples mainly point to how surmise is used and they are not meant for testing. But, I listed the examples as tests after the issue we had with Example 3, when we accidentally remove functionality used in examples.
I do not know. But Jupyter has become quite the standard now.
The scripts are generated from the notebooks directly. They are no longer synchronized once changes are made to the scripts directly. I am now inclined to only maintain the notebooks and request for tests be done in notebooks. I do think having the scripts that developers can run for sanity checks is good. |
As we discussed, adding tests to your notebook and ensuring that they are run as part of a PR review would certainly be good --- your notebooks then function as examples, a secondary test suite, and a secondary means for users evaluating their installations. When I setup a software environment for a study, I do like to keep it as minimal and clean as possible. I also like to test it well before I start using it. Therefore, if a Python-based study were to be done without notebooks, then I would prefer to avoid installing Jupyter and all its dependences. In such a case, running your example scripts would be my best way forward in terms of testing. That said, it's unlikely that I personally would execute such a study without using Jupyter. |
Those are great points. I have revised the testing checklist to use Jupyter notebooks instead. |
(Finalized review checklist)
Functionality tests
Documentation review:
|
Functionality tests
Documentation review:
|
Thank you @ozgesurer.
I did clone surmise from scratch and installing it as in the instructions, and the Would you mind saving the console output and I can investigate further? Thank you. |
Those are the steps that I follow after going to the root directory:
|
=============================================== test session starts ================================================ ====================================================== ERRORS ====================================================== During handling of the above exception, another exception occurred: |
BTW, @mosesyhc Given that I was able to install using the action's install steps (via tox), maybe it is better to switch the instructions to tox version as well. This might be the quick and secured way of installing. |
Thank you, @ozgesurer. The main installation will still be through My assumption is that only developers or few users who do not find a wheel available on PyPI are required to build surmise from scratch. This may be a good rationale to instruct users to use @jared321, any thoughts? |
I believe that this is related to the existence of the Cython output file
Note that running I do not understand the test suite implementation well enough to understand why you must run it from All that to say that if the above makes sense the test instructions should just include |
@ozgesurer @jared321: Thank you so much for helping with diagnosis. I am able to reproduce the error, with @jared321's comments. The @ozgesurer: would you mind trying if running |
Within the tests directory I was able to run both python -m pytest and ./run-tests.sh without an error. @mosesyhc I can merge if you are ready :) |
List for inclusion in surmise v0.3 update:
Maintenance + tests:
Functionality: