Skip to content

Commit 902a79e

Browse files
Merge branch 'v4-dev' into API_change_pset_depth_to_z
2 parents 03d6676 + 37cbace commit 902a79e

File tree

6 files changed

+55
-47
lines changed

6 files changed

+55
-47
lines changed

.github/ISSUE_TEMPLATE/01_feature.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
name: 🔼 Parcels feature requests, and other enhancements
33
about: Suggest an improvement to the parcels codebase.
44
title: ""
5-
labels: ""
5+
labels: ["needs-triage"]
66
assignees: ""
77
---

.github/ISSUE_TEMPLATE/02_bug.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: "🐛 Bug Report"
22
description: Describe a bug in the parcels codebase. For support related to your specific use case, please post in Q&A in our Discussions tab.
3-
labels: ["bug"]
3+
labels: ["bug", "needs-triage"]
44
body:
55
- type: "input"
66
attributes:

.github/workflows/cache-pixi-lock.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ jobs:
1717
- uses: actions/checkout@v5
1818
with:
1919
fetch-depth: 0
20-
sparse-checkout: pixi.toml
2120
- name: Get current date
2221
id: date
2322
run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
@@ -30,7 +29,7 @@ jobs:
3029
- uses: prefix-dev/[email protected]
3130
if: ${{ !steps.restore.outputs.cache-hit }}
3231
with:
33-
pixi-version: v0.49.0
32+
pixi-version: v0.56.0
3433
run-install: false
3534
- name: Run pixi lock
3635
if: ${{ !steps.restore.outputs.cache-hit }}

docs/community/contributing.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ If you're having trouble using Parcels, feel free to create a discussion in our
4949

5050
In the [Projects panel](https://github.com/OceanParcels/parcels/projects?query=is%3Aopen), you'll see the "Parcels development" project. This is used by the core development team for project management, as well as drafting up new ideas for the codebase that aren't mature enough to be issues themselves. Everything in "backlog" is not being actively worked on and is fair game for open source contributions.
5151

52-
(editing-parcels-code)=
53-
5452
## Development
5553

5654
### Environment setup
@@ -77,7 +75,19 @@ Now you have a development installation of Parcels, as well as a bunch of develo
7775

7876
### Pixi workflows
7977

80-
You can use the following Pixi commands to run common development tasks.
78+
**Typical development workflow**
79+
80+
1. Make your code changes
81+
2. Run `pixi run lint` to ensure code formatting and style compliance
82+
3. Run `pixi run tests` to verify your changes don't break existing functionality
83+
4. If you've added new features, run `pixi run typing` to check type annotations
84+
5. If you've modified documentation, run `pixi run docs` to build and verify the docs
85+
86+
```{tip}
87+
You can run `pixi info` to see all available environments and `pixi task list` to see all available tasks across environments.
88+
```
89+
90+
See below for more Pixi commands relevant to development.
8191

8292
**Testing**
8393

@@ -99,21 +109,13 @@ You can use the following Pixi commands to run common development tasks.
99109

100110
Parcels supports testing against different environments (e.g., different Python versions) with different feature sets. In CI we test against these environments, and you can too locally. For example:
101111

102-
- `pixi run -e test-py311 tests` - Run tests using Python 3.11
103-
- `pixi run -e test-py312 tests` - Run tests using Python 3.12
112+
- `pixi run -e test-py311 tests` - Run tests in the environment containing Python 3.11
113+
- `pixi run -e test-py312 tests` - Run tests in the environment containing Python 3.12
104114

105115
The name of the workflow on GitHub contains the command you have to run locally to recreate the workflow - making it super easy to reproduce CI failures locally.
106116

107-
**Typical development workflow**
108-
109-
1. Make your code changes
110-
2. Run `pixi run lint` to ensure code formatting and style compliance
111-
3. Run `pixi run tests` to verify your changes don't break existing functionality
112-
4. If you've added new features, run `pixi run typing` to check type annotations
113-
5. If you've modified documentation, run `pixi run docs` to build and verify the docs
114-
115117
```{tip}
116-
You can run `pixi info` to see all available environments and `pixi task list` to see all available tasks across environments.
118+
For those familiar with Conda, you are used to activating an environment. With Pixi, you can do the same by doing `pixi shell <env-name>`. For example, `pixi shell test-latest` will drop you into a shell where you can run commands such as `pytest` like normal. You can exit the shell with `exit` or `Ctrl+D`.
117119
```
118120

119121
### Changing code

docs/documentation/index.md

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,71 +2,76 @@
22

33
Shown below are several documentation and tutorial Jupyter notebooks and scripts which go through various aspects of Parcels.
44

5+
```{note}
6+
The tutorials written for Parcels v3 are currently being updated for Parcels v4. Shown below are only the notebooks which have been updated.
7+
[Feel free to post a Discussion on GitHub](https://github.com/OceanParcels/Parcels/discussions/categories/ideas) if you feel like v4 needs a specific tutorial that wasn't in v3, or [post an issue](https://github.com/OceanParcels/Parcels/issues/new?template=01_feature.md) if you feel that the notebooks below can be improved!
8+
```
9+
510
```{nbgallery}
611
:caption: Overview
712
:name: tutorial-overview
813
9-
../examples/tutorial_parcels_structure.ipynb
10-
../examples/parcels_tutorial.ipynb
11-
../examples/tutorial_output.ipynb
14+
<!-- ../examples/tutorial_parcels_structure.ipynb -->
15+
<!-- ../examples/parcels_tutorial.ipynb -->
16+
<!-- ../examples/tutorial_output.ipynb -->
1217
```
1318

1419
```{nbgallery}
1520
:caption: Setting up FieldSets
1621
:name: tutorial-fieldsets
1722
18-
../examples/documentation_indexing.ipynb
19-
../examples/tutorial_nemo_curvilinear.ipynb
20-
../examples/tutorial_nemo_3D.ipynb
21-
../examples/tutorial_croco_3D.ipynb
22-
../examples/tutorial_timevaryingdepthdimensions.ipynb
23-
../examples/tutorial_periodic_boundaries.ipynb
24-
../examples/tutorial_interpolation.ipynb
25-
../examples/tutorial_unitconverters.ipynb
23+
<!-- ../examples/documentation_indexing.ipynb -->
24+
<!-- ../examples/tutorial_nemo_curvilinear.ipynb -->
25+
<!-- ../examples/tutorial_nemo_3D.ipynb -->
26+
<!-- ../examples/tutorial_croco_3D.ipynb -->
27+
<!-- ../examples/tutorial_timevaryingdepthdimensions.ipynb -->
28+
<!-- ../examples/tutorial_periodic_boundaries.ipynb -->
29+
<!-- ../examples/tutorial_interpolation.ipynb -->
30+
<!-- ../examples/tutorial_unitconverters.ipynb -->
2631
```
2732

2833
```{nbgallery}
2934
:caption: Creating ParticleSets
3035
:name: tutorial-particlesets
3136
32-
../examples/tutorial_delaystart.ipynb
37+
<!-- ../examples/tutorial_delaystart.ipynb -->
3338
```
3439

3540
```{nbgallery}
3641
:caption: Writing kernels to be executed on each particle
3742
:name: tutorial-kernels
3843
39-
../examples/tutorial_diffusion.ipynb
40-
../examples/tutorial_sampling.ipynb
41-
../examples/tutorial_particle_field_interaction.ipynb
42-
../examples/tutorial_interaction.ipynb
43-
../examples/tutorial_analyticaladvection.ipynb
44-
../examples/tutorial_kernelloop.ipynb
44+
<!-- ../examples/tutorial_diffusion.ipynb -->
45+
<!-- ../examples/tutorial_sampling.ipynb -->
46+
<!-- ../examples/tutorial_particle_field_interaction.ipynb -->
47+
<!-- ../examples/tutorial_interaction.ipynb -->
48+
<!-- ../examples/tutorial_analyticaladvection.ipynb -->
49+
<!-- ../examples/tutorial_kernelloop.ipynb -->
4550
```
4651

4752
```{nbgallery}
4853
:caption: Other tutorials
4954
:name: tutorial-other
5055
51-
../examples/tutorial_peninsula_AvsCgrid.ipynb
52-
../examples/documentation_MPI.ipynb
53-
../examples/documentation_stuck_particles.ipynb
54-
../examples/documentation_unstuck_Agrid.ipynb
55-
../examples/documentation_LargeRunsOutput.ipynb
56-
../examples/documentation_geospatial.ipynb
57-
../examples/documentation_advanced_zarr.ipynb
56+
<!-- ../examples/tutorial_peninsula_AvsCgrid.ipynb -->
57+
<!-- ../examples/documentation_MPI.ipynb -->
58+
<!-- ../examples/documentation_stuck_particles.ipynb -->
59+
<!-- ../examples/documentation_unstuck_Agrid.ipynb -->
60+
<!-- ../examples/documentation_LargeRunsOutput.ipynb -->
61+
<!-- ../examples/documentation_geospatial.ipynb -->
62+
<!-- ../examples/documentation_advanced_zarr.ipynb -->
5863
```
5964

6065
```{nbgallery}
6166
:caption: Worked examples
6267
:name: tutorial-examples
6368
6469
../examples/tutorial_Argofloats.ipynb
65-
../examples/documentation_homepage_animation.ipynb
70+
<!-- ../examples/documentation_homepage_animation.ipynb -->
6671
```
6772

6873
## Python Example Scripts
6974

70-
```{toctree}
75+
<!-- ```{toctree}
7176
additional_examples
72-
```
77+
``` -->

pixi.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ platforms = ["win-64", "linux-64", "osx-64", "osx-arm64"]
77
[package]
88
name = "parcels"
99
version = "dynamic" # dynamic versioning needs better support in pixi https://github.com/prefix-dev/pixi/issues/2923#issuecomment-2598460666 . Putting `version = "dynamic"` here for now until pixi recommends something else.
10+
license = "MIT" # can remove this once https://github.com/prefix-dev/pixi-build-backends/issues/397 is resolved
1011

1112
[package.build]
12-
backend = { name = "pixi-build-python", version = "==0.3.2" }
13+
backend = { name = "pixi-build-python", version = "==0.4.0" }
1314

1415
[package.host-dependencies]
1516
setuptools = "*"
@@ -26,6 +27,7 @@ pre-commit = { features = ["pre-commit"], no-default-feature = true }
2627

2728
[dependencies] # keep section in sync with pyproject.toml dependencies
2829
python = ">=3.11,<3.13"
30+
parcels = { path = "." }
2931
netcdf4 = ">=1.1.9"
3032
numpy = ">=1.9.1"
3133
tqdm = "*"

0 commit comments

Comments
 (0)