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

1.0 Release #475

Closed
9 tasks done
WardBrian opened this issue Oct 18, 2021 · 53 comments
Closed
9 tasks done

1.0 Release #475

WardBrian opened this issue Oct 18, 2021 · 53 comments
Assignees

Comments

@WardBrian
Copy link
Member

WardBrian commented Oct 18, 2021

This is intended as the final item in the 1.0 release project

Oct. 19

  • Run release scripts for version 1.0.0rc1
  • 1.0.0rc1 on Conda

Early November

After #436

  • Run release scripts for version 1.0.0rc2
  • 1.0.0rc2 on Conda

One week later

  • Run release scripts for version 1.0.0
  • Verify doc updated on mc-stan.org and readthedocs.io
  • (for Brian) update Conda after builds have propagated. Include tqdm as a dependency
  • (optional) Post on forums/columbia stats blog
  • (later) We should let Arviz/fbprophet teams know about stabilization of the API and changes. Arviz seemed more affected when I checked. There is additionally this list of dependent packages
@serban-nicusor-toptal
Copy link
Contributor

Hey @WardBrian can I do this now or should I wait for the others (math, stan, cmdstan ) release first ?

@WardBrian
Copy link
Member Author

IMO we can do it whenever

@WardBrian
Copy link
Member Author

Did we decide whether or not to do a RC, @mitzimorris ?

@serban-nicusor-toptal
Copy link
Contributor

serban-nicusor-toptal commented Oct 19, 2021

Will 1.0.0rc1 be read fine in cmdstanpy/_version.py ?
On the RTD part we should be good with that naming

Edit: reading your post from another issue, pypi will do the right thing. Not sure about conda

@WardBrian
Copy link
Member Author

Conda will be up to me to get right, or we just won't release the rc on conda and wait for 1.0 there

@serban-nicusor-toptal
Copy link
Contributor

I think conda will be fine too, while reading this doc they point to the pypi versioning scheme

@WardBrian
Copy link
Member Author

Yes, the conda-forge KB also says this https://conda-forge.org/docs/maintainer/knowledge_base.html#pre-release-builds

Should be possible, just have to make sure I get all the settings right when things propagate

@WardBrian
Copy link
Member Author

I say we might as well run a 1.0.0rc1 build today. Not sure how long we will want to wait, a week maybe?

@serban-nicusor-toptal
Copy link
Contributor

Usually we do the rc then code freeze for one week

@mitzimorris
Copy link
Member

excellent plan - let's do it!

@serban-nicusor-toptal
Copy link
Contributor

1.0.0rc1 started release pipeline

@serban-nicusor-toptal
Copy link
Contributor

Release is now complete, RTD seems fine: https://readthedocs.org/projects/cmdstanpy/versions/

@WardBrian
Copy link
Member Author

Seems like the actual site doesn't work properly: https://cmdstanpy.readthedocs.io/

@serban-nicusor-toptal
Copy link
Contributor

After each release, they actually build the docs on their side so I would assume we need to wait a few minutes.
image

@serban-nicusor-toptal
Copy link
Contributor

rtd build is done: https://cmdstanpy.readthedocs.io/en/v1.0.0rc1/

@mitzimorris
Copy link
Member

looks good on my machine - many thanks!

@WardBrian
Copy link
Member Author

RC1 is on conda-forge now

@mitzimorris
Copy link
Member

downloaded from conda-forge, ran a notebook and exported results to arviz and no problems.

@mitzimorris
Copy link
Member

looking at the dependencies - gamestonk terminal has detailed install instructions - we should do something similar.
step zero is obnoxious, but that's the domain, I guess -
https://github.com/GamestonkTerminal/GamestonkTerminal#local-install---anaconda-and-python

@WardBrian
Copy link
Member Author

Weirdly it seems like they don't actually depend on us, at least not any more.

I wouldn't say their instructions are any more detailed than ours, they just require a lot of extra steps for their use case. I think we should link to the conda installation instructions on our page, but the rest of their instructions are unnecessary for us

@WardBrian
Copy link
Member Author

Just to confirm, we're good to go for 1.0 release tomorrow? @mitzimorris

@mitzimorris
Copy link
Member

I was slow to get the announcment up on the forums. right now I'm seeing only 16 downloads on conda-forge so far.
maybe we should wait until that number is closer to ??? 30? 40? 50?

@WardBrian
Copy link
Member Author

Hard to say. PyPi (pip) is easier to install rcs through, but harder to get download stats out of, so it's unclear how many people are actually using it. Happy to wait another week as well, so that the release comes after our meeting with the CmdStanR devs

@mitzimorris
Copy link
Member

I drew up an overview of everything deprecated that was removed - https://discourse.mc-stan.org/t/cmdstanpy-1-0-0rc1/24973/2?u=mitzimorris

next up - filing FYI issues on Prophet and Arviz et al.

@mitzimorris
Copy link
Member

@WardBrian
Copy link
Member Author

WardBrian commented Oct 25, 2021

Do we think 1.2 million downloads in the last month is correct? On the main CRAN mirror, rstan only got 126,755 downloads in the past 30 days, so this would imply our priors about where our userbase is are potentially completely wrong

Edit: matplotlib last 30 days: 33,046,236. ggplot2 last 30 days: 3,294,429

Maybe Python is just way more popular across the board?

@WardBrian
Copy link
Member Author

Prophet does pin us, but it isn't downloaded that much:
https://pepy.tech/project/prophet

Really odd. I think the numbers are probably correct (Google BigData seems like they'd know how to count) but I have no clue where they'd be coming from. According to pepy (and any other site) we got more downloads this month than prophet and arviz combined by a factor of two

@mitzimorris
Copy link
Member

no clue, but those are the stats. CmdStanPy and PyStan are both way up there. lotta Python users? lotta AWS instances running production pipelines?

@ahartikainen
Copy link
Contributor

@mitzimorris
Copy link
Member

OK, after some digging, SO and pypi say that internal mirrors might explain what we're seeing -

python docs: https://packaging.python.org/guides/analyzing-pypi-package-downloads/

Highly inaccurate: A number of things prevent the download counts from being accurate, some of which include:

  • Internal or unofficial mirrors (can both raise or lower download counts)

old SO post: https://stackoverflow.com/questions/9648015/pypi-download-counts-seem-unrealistic

FWIW, Google Colab notebooks now include, CmdStanPy (0.9.5), PyStan (2.19), and fbprophet .

@WardBrian
Copy link
Member Author

I was looking at the package prophet, which looks like another clone of fbprophet? Strange

so yes, that probably is our number of downloads, just not the number of users most likely

@mitzimorris
Copy link
Member

let's release 1.0 next Tuesday - Nov 2nd.
I'll put together a post for Andrew's blog together over the weekend and run it by you guys (including @ahartikainen!) beforehand.

@WardBrian
Copy link
Member Author

Do we want to patch #486 first? It should be a very simple change

@mitzimorris
Copy link
Member

sure - could you do this?

@ahartikainen
Copy link
Contributor

Sounds good.

For arviz do we need to check anything special?

@WardBrian
Copy link
Member Author

Note: We will now be doing a rc2 and delaying the release until #436

@serban-nicusor-toptal
Copy link
Contributor

Please let me know if/when I need to run the rc2 or if I can help with anything here.

@WardBrian
Copy link
Member Author

Thanks Nic, will do. It will probably be at least a couple days or so to get #436 good to go

@WardBrian
Copy link
Member Author

So @mitzimorris how do you feel about cutting a RC2? If we mostly have doc left to write we can do that during the release period, but if we think there are more changes could be good to wait?

@mitzimorris
Copy link
Member

Yes!!!!
please, let's cut a release and announce on Discourse

@mitzimorris
Copy link
Member

@ahartikainen - noticed Arviz issue w/ cmdstanpy - is there anything needed from our side? arviz-devs/arviz#1646 (comment)

@WardBrian
Copy link
Member Author

rc2 is out on pypi, conda will follow (probably tomorrow)

@mitzimorris
Copy link
Member

slouching towards Beta - https://discourse.mc-stan.org/t/cmdstanpy-1-0-0rc2/25337

@WardBrian
Copy link
Member Author

On conda now

@WardBrian
Copy link
Member Author

#499 is simple but important enough that I think we should cut rc3 when it's patched. It won't need a conda version, as it only effects non-conda installs.

@WardBrian
Copy link
Member Author

Do we want to release 1.0 this week? Latest rc will have been out for 2 weeks on Thursday

@mitzimorris
Copy link
Member

yes!!!

@mitzimorris
Copy link
Member

mitzimorris commented Nov 30, 2021

@rok-cesnovar @jgabry - OK if we do a 1.0 CmdStanPy release tomorrow? (Dec 1)
where is CmdStanR at?

@WardBrian
Copy link
Member Author

I think we should do it tomorrow (Dec 2) so that the RC had a full 2 weeks.

We should also note in the release forum/blog post that 1.0.0 is supported on Python 3.6 through 3.10, but future versions will require 3.7 (I think it's pretty unlikely we fit in a 1.1 in the next 20 days before 3.6 hits EOL)

@WardBrian
Copy link
Member Author

Here goes nothing https://github.com/stan-dev/cmdstanpy/actions/runs/1531682007

@mitzimorris
Copy link
Member

mitzimorris commented Dec 2, 2021

here's a blurb - it's a bit dry:

Announcing version 1.0 of CmdStanPy!

CmdStanPy is now available via Conda Forge: https://anaconda.org/conda-forge/cmdstanpy
and PyPi: https://pypi.org/project/cmdstanpy/

Reasons to use CmdStanPy:

  1. Runs with latest Stan release

  2. Easy to install: CmdStanPy can automatically CmdStan and the underlying C++ toolchains

  3. Scalable: can fit big models and big dataset - if CmdStan can fit a model and dataset, so can CmdStanPy.

  4. Cross-platform: runs on Linux, macOS, and Windows.

  5. Non-restrictive lisence: BSD-3 license: https://github.com/stan-dev/cmdstanpy/blob/develop/LICENSE.md

CmdStanPy provdes access to the Stan compiler, inference algorithms, and diagnostics.
It supports both development and production workflows and is well-suited for teaching and learning Stan.

@WardBrian
Copy link
Member Author

I think the blurb is good! I'd also add a link to the repo and docs homepage

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

No branches or pull requests

4 participants