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

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

Open
wants to merge 7 commits into
base: development
Choose a base branch
from

Conversation

mfisher87
Copy link
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!

Copy link

github-actions bot commented Aug 14, 2024

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


Contributing for the first time
-------------------------------
1. If you don't have one, sign up for a GitHub account (visit https://github.com/ and ‘sign up for GitHub account’).

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
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

Copy link

codecov bot commented Aug 15, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 65.98%. Comparing base (5825e51) to head (075f1f8).
Report is 16 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.

Copy link
Member

@weiji14 weiji14 left a comment

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'.

pyproject.toml Show resolved Hide resolved
@mfisher87
Copy link
Member Author

mfisher87 commented Aug 15, 2024

@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
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
Copy link
Member

@JessicaS11 JessicaS11 left a comment

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
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