Skip to content
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

Remove all Python-related code #290

Merged
merged 20 commits into from
Jul 28, 2023
Merged

Remove all Python-related code #290

merged 20 commits into from
Jul 28, 2023

Conversation

sethaxen
Copy link
Member

@sethaxen sethaxen commented Jul 27, 2023

This is a massive update that removes all Python-related code from the package.

It also:

  • removes kde and summarystats. These will be added back in later, which will be a non-breaking change
  • removes all plotting functions from the API. They will be in their own package, and this API will not be shared with the package(s) that implement the plotting functions for Julia plotting packages
  • removes JSON files for example data that were left over from before we created ArviZExampleData
  • removes the now-unused DataFrames dependency, which significantly reduces loadtime
  • updates the docs

Closes #92 #172 #187
Fixes #130 #137 #188 #206
Relates #129

With this PR, we are more-or-less ready for a new breaking release, except we should release the plotting package first, which should either be in its own repo or in this one (in this case some of these commits will be reverted so we can move the code to a subdir and keep the git history)

Load time comparison

Before this PR:

julia> @time using ArviZ
/home/sethaxen/.julia/conda/3/x86_64/lib/python3.10/site-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 1.25.0
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
  4.517639 seconds (5.48 M allocations: 331.207 MiB, 3.31% gc time, 26.13% compilation time: 82% of which was recompilation)

After this PR:

julia> @time using ArviZ
  0.942154 seconds (1.93 M allocations: 108.814 MiB, 4.21% gc time, 0.84% compilation time)

This reduces to 0.77s on v1.10.0-alpha1, and #288 should also significantly reduce load time.

Edit: and 0.58s on v1.10.0-beta1!

@sethaxen
Copy link
Member Author

I've opted to move the PyPlot code to a new repo https://github.com/arviz-devs/ArviZPyPlot.jl, since it will likely be much less developed in the future than the Julia plotting packages and thus does not need to be very tightly coupled to changes in this package. That package depends on v0.9 of this package, so I will merge this PR, open a PR removing the Quickstart docs, register v0.9, and then after ArviZPyPlot is registered revert the PR to reintroduce the Quickstart docs.

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.

Make ArviZ.jl more Julian Support new arviz v0.10.0 features
1 participant