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

PyPI release checklist #67

Closed
ml-evs opened this issue Nov 4, 2019 · 9 comments
Closed

PyPI release checklist #67

ml-evs opened this issue Nov 4, 2019 · 9 comments

Comments

@ml-evs
Copy link
Member

ml-evs commented Nov 4, 2019

Hi all, we should prepare a PyPI release once we're up to date with v0.10.0 of the spec, as the paper approaches a final draft.

This issue is intended to track packaging changes before the release, and NOT missing features/functionality of the release, which we can track at #29.

  • Currently it looks like @dwinston is the maintainer on PyPI, so we might need to get that changed (not sure if Donny is still following here, so we should reach out to him)?
  • Should we align PyPI major.minor version numbers with the specification? A third number can be free to track hotfixes to both the server and any changes that reflect minor fixes to the spec.
  • We should decide which versions of dependencies to lock in, the important ones being Lark, FastAPI and pydantic.
  • Should we switch dependency handling to pipenv? switch to pipenv? #37
@CasperWA
Copy link
Member

CasperWA commented Nov 4, 2019

* Should we align PyPI major.minor version numbers with the specification? A third number can be free to track hotfixes to both the server and any changes that reflect minor fixes to the spec.

I think this is a reasonable idea.

* We should decide which versions of dependencies to lock in, the important ones being Lark, FastAPI and pydantic.

Maybe we should even divide it out, so that one can install this package without the server, i.e., only having Lark and pydantic as the base dependencies, so that one can use the basic parts of the repo: the models and parser?
At least this makes sense for me, and would for anyone, who simply wants to use the models, but a different technology for the server implementation (although still use Python... 😃 )

@ml-evs
Copy link
Member Author

ml-evs commented Nov 4, 2019

Seems sensible, if we add a validator this will be another use case where all deps are not needed.

@fekad
Copy link
Contributor

fekad commented Nov 5, 2019

* Should we align PyPI major.minor version numbers with the specification? A third number can be free to track hotfixes to both the server and any changes that reflect minor fixes to the spec.

I think this is a reasonable idea.

I completely agree that the version should be related to the actual version of the specification.

* We should decide which versions of dependencies to lock in, the important ones being Lark, FastAPI and pydantic.

Maybe we should even divide it out, so that one can install this package without the server, i.e., only having Lark and pydantic as the base dependencies, so that one can use the basic parts of the repo: the models and parser?
At least this makes sense for me, and would for anyone, who simply wants to use the models, but a different technology for the server implementation (although still use Python... 😃 )

Sorry to ask, but do we really need pipy for this repository? Only a "few" people (mostly developers) will use this tool and I'm quite sure that all of them will prefer GitHub (especially when the releases are available on Github). I'm just not convinced there will be always somebody to keep pipy up-to-date just because we can.

"Pip install" can be used with GitHub if needed:
pip install git+https://github.com/Materials-Consortia/optimade-python-tools.git

@ml-evs
Copy link
Member Author

ml-evs commented Nov 5, 2019

Sorry to ask, but do we really need pipy for this repository? Only a "few" people (mostly developers) will use this tool and I'm quite sure that all of them will prefer GitHub (especially when the releases are available on Github). I'm just not convinced there will be always somebody to keep pipy up-to-date just because we can.

We already have one, so the question is whether we delete it or not! The question is whether this repo will ever be used for more general tools, e.g. quick command line tools that can be used to query all databases (in which case I would support a PyPI and be happy to maintain it). Otherwise, I guess I agree, as long as we make the installation instructions clear.

@ltalirz
Copy link
Member

ltalirz commented Nov 5, 2019

I would suggest we follow the practice of tagging releases from time to time and if desired, I'm happy to add a travis job that will automatically deploy new tags to PyPI (no action needed)

@dwinston
Copy link
Contributor

dwinston commented Nov 5, 2019

Hi all, I still get emails on these issues, but I haven't been in the practice of reading through them as of late. I anticipated from this issue's subject that my assistance may be necessary to add owner(s)/maintainer(s) to the optimade pypi package. I need to invite by pypi.org username, so we need one or more of you to create a pypi.org account and tell me your username on this thread so I can add as an owner (who can add/remove maintainers).

@ltalirz
Copy link
Member

ltalirz commented Nov 5, 2019

thanks Donny, indeed that would be helpful - mine is leopold.talirz

@dwinston
Copy link
Contributor

dwinston commented Nov 5, 2019

Okay, @ltalirz is an owner of optimade on PyPI -- I will leave it to him to add additional folks as desired because he now has all the powers.

@CasperWA
Copy link
Member

CasperWA commented Feb 3, 2020

Closing this issue, as we are on track with releasing on PyPI and will use other issues to collect information when it's necessary to release another Major or Minor version.

@CasperWA CasperWA closed this as completed Feb 3, 2020
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

5 participants