Skip to content

Move dependencies from requirements files into pyproject.toml, add extra groups for dev, docs - #565

Open
mfisher87 wants to merge 7 commits into
developmentfrom
pyproject-deps
Open

Move dependencies from requirements files into pyproject.toml, add extra groups for dev, docs#565
mfisher87 wants to merge 7 commits into
developmentfrom
pyproject-deps

Conversation

@mfisher87

Copy link
Copy Markdown
Member

Resolves #552

I hope you don't mind, I took a pass at the contributing doc and made some formatting fixes and re-organized things a little bit in a way that I thought would make it more accessible. Would love some input!

@github-actions

github-actions Bot commented Aug 14, 2024

Copy link
Copy Markdown

Binder 👈 Launch a binder notebook on this branch for commit 0c992db

I will automatically update this comment whenever this PR is modified

Binder 👈 Launch a binder notebook on this branch for commit 6f84616

Binder 👈 Launch a binder notebook on this branch for commit 97c765e

Binder 👈 Launch a binder notebook on this branch for commit 3261cc9

Binder 👈 Launch a binder notebook on this branch for commit b1935b2

Binder 👈 Launch a binder notebook on this branch for commit 075f1f8

@mfisher87 mfisher87 changed the title Move dependencies from requirements files into project metadata Move dependencies from requirements files into pyproject.toml, add extra groups for dev, docs Aug 14, 2024

2. Clone the icepyx repo: Open a terminal window.
Navigate to the folder on your computer where you want to store icepyx.
For example,

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

If there's no indentation, the text is rendered separately from the list.

Before:

image

After:

image

@codecov

codecov Bot commented Aug 15, 2024

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.98%. Comparing base (5825e51) to head (075f1f8).
⚠️ Report is 104 commits behind head on development.

Additional details and impacted files
@@             Coverage Diff              @@
##           development     #565   +/-   ##
============================================
  Coverage        65.98%   65.98%           
============================================
  Files               36       36           
  Lines             3052     3052           
  Branches           538      538           
============================================
  Hits              2014     2014           
  Misses             950      950           
  Partials            88       88           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@weiji14 weiji14 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I hope you don't mind, I took a pass at the contributing doc and made some formatting fixes and re-organized things a little bit in a way that I thought would make it more accessible. Would love some input!

In this case, the documentation changes (which are quite substantial) should probably be a separate PR... One reason is so that we have 2 changelog entries, one under the the 'Documentation' section and one under 'Maintenance'.

Comment thread pyproject.toml
@mfisher87

mfisher87 commented Aug 15, 2024

Copy link
Copy Markdown
Member Author

@weiji14 Some of the documentation changes are tightly coupled with this PR. I'm assuming you want those to stay, but the others to be in a different PR?

EDIT: extracted everything that wasn't entangled with installation instructions to #566 EDITEDIT: Missed some...

@mfisher87
mfisher87 marked this pull request as draft August 15, 2024 14:19
@mfisher87
mfisher87 marked this pull request as ready for review August 15, 2024 14:37
@mfisher87
mfisher87 marked this pull request as draft August 15, 2024 14:41
@mfisher87

Copy link
Copy Markdown
Member Author

😩 Two hours ago, Ruff enabled formatting and checking of Jupyter Notebooks by default. New PR coming for that.

@mfisher87
mfisher87 marked this pull request as ready for review August 15, 2024 15:01
@mfisher87
mfisher87 requested a review from weiji14 August 15, 2024 15:01

@JessicaS11 JessicaS11 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I haven't reviewed it line-by-line yet, but see my comment in #552.

@mfisher87

Copy link
Copy Markdown
Member Author

Yes, if the conda environment has pip installed! How are you currently installing requirements.txt into a conda environment?

This is a deal breaker for me. I want to be able to create my environment with all potential dependencies and only have to pip install icepyx -e (emphasis on the editable part). I've had enough headaches to last my lifetime with pip installing too many packages after creating a skeleton new conda environment. I'm not 100% closed off on this idea, but I need to do a lot more reading and learning before I'm comfortable going ahead with it.

I'm not sure what changes you're requesting here or what the dealbreaker is, could you provide some more info? We're still doing an editable install with pip in this proposal like in the current documentation -- having pip in the conda environment is not a new requirement. The main difference is representing the optional/extra dependencies in a standard way in project metadata. The proposed workflow here will work the same with a python venv, with conda, or with another tool to manage the environment.

I think what you may be remembering is pip's unfortunate history before it was capable of dependency resolution. Back then, it would install the packages you requested in order, and if dependencies conflicted, it would choose the last one and blow away the needs of previous packages! But now it does truly resolve dependencies: https://pip.pypa.io/en/stable/topics/dependency-resolution/

@mfisher87 mfisher87 added the help wanted Extra attention is needed label Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wanted Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move requirements*.txt files into pyproject.toml

3 participants