Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Should pyproject.toml have a dev dependencies section? #763

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

Closed
Huite opened this issue Jan 22, 2024 · 2 comments · Fixed by #822
Closed

Should pyproject.toml have a dev dependencies section? #763

Huite opened this issue Jan 22, 2024 · 2 comments · Fixed by #822
Assignees
Labels
setup Installation

Comments

@Huite
Copy link
Contributor

Huite commented Jan 22, 2024

I wonder whether we still need a dev section for the pyproject toml.

Mostly, we expect people to install imod-python from conda-forge (or get it via Deltaforge). In that case, the whole pyproject dependencies aren't relevant, since it's the recipe that defines the dependencies.

However, we also release imod python on PyPI and there are people who do not use conda-forge (for whatever reason). For this reason, we've tried to keep a "minimal" version installable via pip, which is why we have the current required dependencies:

dependencies = [
    'pandas',
    'numba',
    'numba_celltree',
    'numpy',
    'pooch',
    'scipy',
    'xarray',
]

The more problematic stuff is things like netCDF4, GDAL, PROJ, etc. For this, the idea is that they're optional dependencies. They are available via optional-dependencies all, which should result in the same packages as the conda-forge install.

For stuff that only developers need (sphinx, etc.), the dev deps are separate. However, since we expect/recommend to use pixi now, we might as well get rid of it?

@github-project-automation github-project-automation bot moved this to 📯 New in iMOD Suite Jan 22, 2024
@Huite Huite added the setup Installation label Jan 22, 2024
@Huite
Copy link
Contributor Author

Huite commented Jan 22, 2024

Also: shouldn't xugrid be included in the required dependencies, as well as e.g. dask? Since I remember an issue (from Hendrik?) where he couldn't read IDFs due to dask missing.

@JoerivanEngelen
Copy link
Contributor

I think the dev dependencies can be removed with the introduction of pixi.

Also: shouldn't xugrid be included in the required dependencies, as well as e.g. dask? Since I remember an issue (from Hendrik?) where he couldn't read IDFs due to dask missing.

Since #707, these have been added. I however, noticed a inconsitency in pinned packages: in pixi.toml xugrid = ">=0.6.4", whereas in pyproject.toml "xugrid >=0.3.0".

Furthermore, another mistake is that hatchling is missing from the pixi.toml. This will probably cause issues when we try to release.

@JoerivanEngelen JoerivanEngelen moved this from 📯 New to 🤝 Accepted in iMOD Suite Feb 5, 2024
@JoerivanEngelen JoerivanEngelen self-assigned this Feb 5, 2024
github-merge-queue bot pushed a commit that referenced this issue Feb 5, 2024
Fixes #763

# Description
<!---
Thanks for opening a PR!

Please add your description here of changes made and how they are going
to
resolve the linked issue 
-->

* Remove dev dependencies from pyproject.toml
* Synchronizes package versions in with pyproject.toml and pixi.toml
* Add hatchling to pixi.toml
* Updates lock file

# Checklist
<!---
Before requesting review, please go through this checklist:
-->

- [x] Links to correct issue
- [ ] Update changelog, if changes affect users
- [x] PR title starts with ``Issue #nr``, e.g. ``Issue #737``
- [ ] Unit tests were added
- [ ] **If feature added**: Added/extended example
@github-project-automation github-project-automation bot moved this from 🤝 Accepted to ✅ Done in iMOD Suite Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
setup Installation
Projects
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

2 participants