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

GNIP 73 - Use Poetry #5756

Closed
1 of 5 tasks
frafra opened this issue Feb 24, 2020 · 15 comments
Closed
1 of 5 tasks

GNIP 73 - Use Poetry #5756

frafra opened this issue Feb 24, 2020 · 15 comments
Labels
gnip A GeoNodeImprovementProcess Issue

Comments

@frafra
Copy link
Contributor

frafra commented Feb 24, 2020

GNIP 73 - Use Poetry

Overview

Initial support for pyproject.toml as been added recently. This proposal is meant to further extend its usage and rely on Poetry as build system.

Proposed By

frafra | francesco.frassinelli (at) nina.no

Assigned to Release

This proposal is for GeoNode 3.1.

State

  • Under Discussion
  • In Progress
  • Completed
  • Rejected
  • Deferred

Motivation

Poetry has a clear distinction between requirements to be satisfied and version-locked dependencies, as well as standard vs dev requirements, built-in support for virtual envs, scripts, updates, etc. It also PEP 517 compliant.

Proposal

#5739 added initial support for pyproject.toml as a growing number of tools rely on it (such as black, see #5720) while maintaining compatibility with the existing build system, which relies on setup.py. This proposal is meant to use Poetry as build system (thus relying on pyproject.toml and poetry.lock files only) and remove setup.py and requirements files entirely.

GeoNode setup.py file implements a custom mechanism to tag builds based on git revisions. Poetry 1.0 does not have a similar mechanism. Poetry 1.1 is going to support plugins, which should provide a mechanism for dynamic version tagging. poetry-publish can be used in the meanwhile while providing extra checks before publishing the package.

Dependabot will not be affected, as pyproject.toml and Poetry are supported.

Documentation, CI and publishing/release procedures should be updated.

Backwards Compatibility

poetry export can export requirements files for pip and there are tools to generate setup.py too, (like https://pypi.org/project/poetry-setup/), but keeping file synced could be troublesome.

Future evolution

N/A.

Feedback

Update this section with relevant feedbacks, if any.

Voting

Project Steering Committee:

  • Alessio Fabiani: ✓
  • Francesco Bartoli: ✓
  • Simone Dalmasso:
  • Toni Schoenbuchner: ✓
  • Florian Hoedt: ✓
  • Giovanni Allegri: ✓

Links

Remove unused links below.

@frafra frafra added the gnip A GeoNodeImprovementProcess Issue label Feb 24, 2020
@gannebamm
Copy link
Contributor

+1 from non PSC Member. Many thanks @frafra for modernizing GeoNodes project infrastructure

@t-book
Copy link
Contributor

t-book commented Feb 24, 2020

+1 thanks @frafra !

@francbartoli
Copy link
Member

+1 @frafra. This will further improve the reliability of our docker images which could be based then on deterministic artifacts.

@afabiani
Copy link
Member

+1

@afabiani
Copy link
Member

@frafra please remember to update the wiki page also, thanks.

@giohappy
Copy link
Contributor

+1

@t-book
Copy link
Contributor

t-book commented Mar 24, 2020

@frafra as the majority of PSC members voted I think this can be seen as accepted. Thanks!

@gannebamm gannebamm added this to the 3.1 milestone Apr 2, 2020
@gannebamm
Copy link
Contributor

This is a good idea, but since @frafra seems to have left the community I would mark this as TBD. Definitly not 3.1 Milestone. Others?

@gannebamm gannebamm removed this from the 3.1 milestone Oct 1, 2020
@frafra
Copy link
Contributor Author

frafra commented Oct 1, 2020

Sorry for the long pause :-)
I would still be interested in that, but I have been overloaded with other activities, but I think I can work on that at the end of the year if you want.

@giohappy
Copy link
Contributor

@frafra are you still working on this?

@frafra
Copy link
Contributor Author

frafra commented Apr 30, 2021

@giohappy no, but I really hope to resume working on GeoNode in May.
I do not want to slow you down if you want to pick up this issue by the way.

@giohappy
Copy link
Contributor

giohappy commented May 3, 2021

np @frafra just to know if this should be considered stale.

@t-book
Copy link
Contributor

t-book commented Sep 14, 2022

I would say now this can be considered stale, @frafra maybe close and reopen if needed?

@frafra
Copy link
Contributor Author

frafra commented Sep 14, 2022

Yes, I am sorry for that. I hope to get back on it later.

@frafra frafra closed this as completed Sep 14, 2022
@t-book
Copy link
Contributor

t-book commented Sep 14, 2022

No worries!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gnip A GeoNodeImprovementProcess Issue
Projects
None yet
Development

No branches or pull requests

6 participants