Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Replace custom build system with Poetry#792

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed

Conversation

eecavanna
Copy link
Collaborator

@eecavannaeecavanna commentedNov 23, 2024
edited
Loading

In this branch, I am working on replacing the currentpip-tools-based build system with a Poetry-based one.

As of now, all the containers start up OK in my development environment. I have deleted therequirements directory. I have introduced Poetry and updated the Dockerfiles and all other dependent files I've come across so far, accordingly. I have not tested the behavior of the Runtime or Dagster (beyond confirming their web UIs load) and have not run the automated tests locally (they run OK on GitHub Actions, though).

Details

I'll add some details here when this branch is further along.

It seems to me that multiple programs — all of whose code is managed in this repo — share a single dependency list (meaning, there's one bucket of dependencies/packages that different applications pull from as they need something, but that bucket containsall dependencies ofall programs). That may be another opportunity for simplification/cleanup here: separate the different programs (e.g. Dagster stuff, maybe eventually the standalone Minter) out into their own Poetry projects. We can discuss this.

Note: The Mongo migration notebooks donot share a dependency list/bucket with the rest of the applications in the repo. Those notebookshappen to live in the repo, but don't have any dependency upon anything in the repo outside of their own directory (they depend only on either packages definedwithin that directory, or packages hosted on PyPI).

Related issue(s)

Fixes#563

Related subsystem(s)

  • Runtime API (except the Minter)
  • Minter
  • Dagster
  • Project documentation (in thedocs directory)
  • MongoDB migrations
  • Other

Testing

  • I tested these changes (explain below)
  • I did not test these changes

I confirmed that whatever tests GitHub Actions runs, all pass.

Documentation

  • Ihave not checked for relevant documentation yet (e.g. in thedocs directory)
  • I haveupdated all relevant documentation so it will remain accurate
  • Other (explain below)

Maintainability

  • Every Python function I defined includes a docstring(test functions are exempt from this)
  • Every Python function parameter I introduced includes a type hint (e.g.study_id: str)
  • All "to do" or "fix me" Python comments I added begin with either# TODO or# FIXME
  • I usedblack to format all the Python files I created/modified
  • The PR title is in the imperative mood (e.g. "Do X") and not the declarative mood (e.g. "Does X" or "Did X")

@eecavannaeecavanna linked an issueNov 23, 2024 that may beclosed by this pull request
@eecavannaeecavanna self-assigned thisNov 23, 2024
@eecavanna
Copy link
CollaboratorAuthor

I'm pleasantly surprised that the GHA workflows all passed! I'll resume looking at this PR next week.

@eecavanna
Copy link
CollaboratorAuthor

Hi@dwinston, if we stop using the currentpip-tools-based dependency management solution and, instead, use a Poetry-based one, do you know whether it will still be necessary to have the filessetup.py andtasks.py in the repo?

I'm not too familiar with those files. Based on my vague memory of when you,@pkalita-lbl,@shreddd, and I worked on automating Runtime-related parts of the release process (last year, when making commitcbd58f3 and nearby commits), I believe these files came into play when buildingnmdc-runtime as a Python package that would be published to PyPI. I don't know whether they are used in any other situations.

@dwinston
Copy link
Collaborator

@eecavanna they are not currently used. Destroy them.

@eecavanna
Copy link
CollaboratorAuthor

Thanks,@dwinston. I'll put them on my ✂️ list.

@@ -16,15 +16,18 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*

# Install Poetry.
RUN pip install poetry
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

what version of poetry? is there a "go-to" docker image that distributes poetry?

@eecavanna
Copy link
CollaboratorAuthor

I'll resolve the current issues and then shelve this until stakeholders are back in the office.

@dwinston
Copy link
Collaborator

dwinston commentedApr 30, 2025
edited
Loading

(movedcomment to#563)

@eecavanna
Copy link
CollaboratorAuthor

eecavanna commentedJun 27, 2025
edited
Loading

During today's infrastructure meeting, we talked about "leapfrogging" Poetry and, instead, going straight to uv.@dwinston and I were both in favor of that.@shreddd and I have both gotten a little bit of experience using uv as part of the BERtron work. Also,@pkalita-lbl mentioned (here) LinkML is starting to move toward uv.

I will shelve this Poetry-specific PR and create a ticket about moving to uv.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@dwinstondwinstondwinston left review comments

Assignees

@eecavannaeecavanna

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

Replacepip-tools-based build system withuv
2 participants
@eecavanna@dwinston

[8]ページ先頭

©2009-2025 Movatter.jp