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

Investigate Poetry package and pyproject.toml for automated deployment #118

Closed
Zeitsperre opened this issue Nov 23, 2018 · 9 comments
Closed
Assignees
Labels
information For development/intsructional purposes standards / conventions Suggestions on ways forward

Comments

@Zeitsperre
Copy link
Collaborator

With PEP 518, dependency management has been gradually building towards a new standard to replace setup.py using pyproject.toml and .ini syntax. The gains are that this is a lot easier than rigging code to examine requirements files as well as makes it easy to start, test, implement CI services, and package projects from start to finish. One project that keeps coming up that does this is Poetry.

While we already make use of cookiecutter to build our Python packages, it can't hurt to see whether we can leverage this for automated deployment of packages to PyPI and conda/conda-forge.

@Zeitsperre Zeitsperre added standards / conventions Suggestions on ways forward information For development/intsructional purposes labels Nov 23, 2018
@Zeitsperre Zeitsperre added this to the xclim v1.2 milestone Nov 23, 2018
@Zeitsperre Zeitsperre self-assigned this Nov 23, 2018
@huard
Copy link
Collaborator

huard commented Dec 7, 2018

Sounds interesting. Caveat is I've seen half a dozen of those nifty installation tools popping up (and dying) over the last 10 years. Before we invest time, I'd like to see a couple of large scientific projects taking it up and become less bleeding edge (so that most people actually know how to use it).

@Zeitsperre
Copy link
Collaborator Author

That's fair. I'm with you on this. The values I see in this is how easy it is to create and deploy package standards and prevent us from spending effort in optimizing setup code. I'm keeping an eye on it for a day when I'm not busy, whenever that happens. ;)

@huard
Copy link
Collaborator

huard commented Dec 7, 2018

Sounds good. Don't hold your breadth... Have you spoken to Carsten about this ? You could put it on his radar.

@Zeitsperre
Copy link
Collaborator Author

Nope, haven't yet. Good suggestion. I'll open an issue in the cookiecutter repo soon.

@huard
Copy link
Collaborator

huard commented Dec 7, 2018

Or just ping him on gitter.

@huard
Copy link
Collaborator

huard commented Aug 18, 2020

@Zeitsperre I would close this due to the lack of support for conda environment.

@Zeitsperre
Copy link
Collaborator Author

Zeitsperre commented Aug 18, 2020

Poetry is supported in conda and can be used to build out recipes for packages on conda-forge, similar to pip. https://anaconda.org/anaconda/poetry. I'm porting cruft to conda-forge using poetry right now. I'm not sure what you mean.

From what I understand, poetry is a toml-based replacement for setup.py with some neat enhancements for dependency-handling and publishing to PyPI. I don't think there's anything to lose in keeping an eye on it.

@huard
Copy link
Collaborator

huard commented Aug 18, 2020

@Zeitsperre
Copy link
Collaborator Author

Dang. That's really too bad. I suppose this would be useful if we want to publish something with pure python dependencies but the lack of access to a conda channel for binaries really diminishes the value of using poetry here.

Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
information For development/intsructional purposes standards / conventions Suggestions on ways forward
Projects
None yet
Development

No branches or pull requests

2 participants