PrimeIntellect/SWE-rebench-V2 huggingface dataset:
Repository: OceanParcels/parcels (python)

Issue:
Adding metadata to ParticleFile
For reproducibility, it would be good to add more metadata to a `ParticleFiles` object. 

We should add at least be the version number of Parcels with which the file was generated, and probably also whether it was run in Scipy or JIT mode.

Furthermore, there should be a new method to add metadata to a `ParticleFile` object, so that users can for example store what type of diffusion constant they used

Pull request:
Metadata in ParticleFiles
This PR adds support for easy addition of metadata in `ParticleFile` objects. The minimum metadata is the Parcels version, but other metadata can be added by the user through the `ParticleFile.add_metadata()` function.

This PR fixes #433 

Patch:
diff --git a/parcels/particlefile.py b/parcels/particlefile.py
index 2fc244ed..abc8fecf 100644
--- a/parcels/particlefile.py
+++ b/parcels/particlefile.py
@@ -4,6 +4,10 @@ import netCDF4
 from datetime import timedelta as delta
 from parcels.loggers import logger
 from os import path
+try:
+    from parcels._version import version as parcels_version
+except:
+    raise EnvironmentError('Parcels version can not be retrieved. Have you run ''python setup.py install''?')
 
 
 __all__ = ['ParticleFile']
@@ -54,6 +58,7 @@ class ParticleFile(object):
         self.dataset.feature_type = "trajectory"
         self.dataset.Conventions = "CF-1.6/CF-1.7"
         self.dataset.ncei_template_version = "NCEI_NetCDF_Trajectory_Template_v2.0"
+        self.dataset.parcels_version = parcels_version
         self.dataset.parcels_mesh = self.particleset.fieldset.gridset.grids[0].mesh
 
         # Create ID variable according to CF conventions
@@ -121,6 +126,15 @@ class ParticleFile(object):
         """Write all buffered data to disk"""
         self.dataset.sync()
 
+    def add_metadata(self, name, message):
+        """Add metadata to :class:`parcels.particleset.ParticleSet`
+        :param name: Name of the metadata variabale
+        :param message: message to be written
+        """
+        if self.dataset is None:
+            self.open_dataset()
+        setattr(self.dataset, name, message)
+
     def write(self, pset, time, sync=True, deleted_only=False):
         """Write :class:`parcels.particleset.ParticleSet` data to file
 


Test patch:
diff --git a/tests/test_particle_sets.py b/tests/test_particle_sets.py
index 1a027844..cfd1c945 100644
--- a/tests/test_particle_sets.py
+++ b/tests/test_particle_sets.py
@@ -424,6 +424,7 @@ def test_variable_written_ondelete(fieldset, mode, tmpdir, npart=3):
     pset = ParticleSet(fieldset, pclass=ptype[mode], lon=lon, lat=lat)
 
     outfile = pset.ParticleFile(name=filepath, write_ondelete=True)
+    outfile.add_metadata('runtime', runtime)
     pset.execute(move_west, runtime=runtime, dt=dt, output_file=outfile,
                  recovery={ErrorCode.ErrorOutOfBounds: DeleteP})
     ncfile = Dataset(filepath+".nc", 'r', 'NETCDF4')
Repository: JoshuaKGoldberg/create-typescript-app (ts)

Issue:
🐛 Bug: release-it-action is outdated and broken
### Bug Report Checklist

- [x] I have tried restarting my IDE and the issue persists.
- [x] I have pulled the latest `main` branch of the repository.
- [x] I have [searched for related issues](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aissue) and found none that matched my issue.

### Expected

The release workflow created in `.github/workflows/release.yml` should wpublish packages

### Actual

https://github.com/JoshuaKGoldberg/package-json-validator/issues/181:

```plaintext
Run JoshuaKGoldberg/release-it-action@160bc18e6032d4a7653df46c4eb6a148a0b6d961
file:///home/runner/work/_actions/JoshuaKGoldberg/release-it-action/160bc18e6032d4a[7](https://github.com/JoshuaKGoldberg/package-json-validator/actions/runs/14221795840/job/39851451304#step:5:8)653df46c4eb6a148a0b6d961/dist/index.js:262
    throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
          ^

TypeError: Input does not meet YAML 1.2 "Core Schema" specification: skip-branch-protections
Support boolean input list: `true | True | TRUE | false | False | FALSE`
```

This is caused by using a broken, older version of https://github.com/JoshuaKGoldberg/release-it-action.

### Additional Info

🎁 

Pull request:
fix: bump release-it-action to 0.3.1
## PR Checklist

- [x] Addresses an existing open issue: fixes #2116
- [x] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in [CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md) were taken

## Overview

🎁 

Patch:
diff --git a/src/blocks/blockReleaseIt.ts b/src/blocks/blockReleaseIt.ts
index 66bf225..02d4b23 100644
--- a/src/blocks/blockReleaseIt.ts
+++ b/src/blocks/blockReleaseIt.ts
@@ -155,7 +155,7 @@ export const blockReleaseIt = base.createBlock({
 									},
 									uses: resolveUses(
 										"JoshuaKGoldberg/release-it-action",
-										"v0.2.2",
+										"v0.3.1",
 										options.workflowsVersions,
 									),
 								},


Test patch:
diff --git a/src/blocks/blockReleaseIt.test.ts b/src/blocks/blockReleaseIt.test.ts
index 3f902c7..e79baac 100644
--- a/src/blocks/blockReleaseIt.test.ts
+++ b/src/blocks/blockReleaseIt.test.ts
@@ -119,7 +119,7 @@ describe("blockReleaseIt", () => {
 			      - env:
 			          GITHUB_TOKEN: \${{ secrets.ACCESS_TOKEN }}
 			          NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
-			        uses: JoshuaKGoldberg/release-it-action@v0.2.2
+			        uses: JoshuaKGoldberg/release-it-action@v0.3.1
 
 
 			name: Release
@@ -278,7 +278,7 @@ describe("blockReleaseIt", () => {
 			      - env:
 			          GITHUB_TOKEN: \${{ secrets.ACCESS_TOKEN }}
 			          NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
-			        uses: JoshuaKGoldberg/release-it-action@v0.2.2
+			        uses: JoshuaKGoldberg/release-it-action@v0.3.1
 
 
 			name: Release
Repository: timothycrosley/isort (python)

Issue:
zipimport rewritten
The built-in `from zipimport import zipimporter` is rewritten as `from zip import zipimporter` and classified as third party.

Pull request:
Fix mangling of imports that end in "import" or "from".
Fixes #224 and #214.

Patch:
diff --git a/ACKNOWLEDGEMENTS.md b/ACKNOWLEDGEMENTS.md
index a6bba7d0..c174166a 100644
--- a/ACKNOWLEDGEMENTS.md
+++ b/ACKNOWLEDGEMENTS.md
@@ -39,6 +39,8 @@ Code Contributors
 - Kasper Jacobsen (@dinoshauer)
 - Sebastian Pipping (@hartwork)
 - Helen Sherwood-Taylor (@helenst)
+- Mocker (@Zuckonit)
+- Tim Graham (@timgraham)
 
 Documenters
 ===================
diff --git a/isort/isort.py b/isort/isort.py
index beb36bc5..8fafd9d0 100644
--- a/isort/isort.py
+++ b/isort/isort.py
@@ -594,8 +594,13 @@ class SortImports(object):
 
     def _strip_syntax(self, import_string):
         import_string = import_string.replace("_import", "[[i]]")
-        for remove_syntax in ['\\', '(', ')', ",", 'from ', 'import ']:
+        for remove_syntax in ['\\', '(', ')', ',']:
             import_string = import_string.replace(remove_syntax, " ")
+        import_list = import_string.split()
+        for key in ('from', 'import'):
+            if key in import_list:
+                import_list.remove(key)
+        import_string = ' '.join(import_list)
         import_string = import_string.replace("[[i]]", "_import")
         return import_string
 


Test patch:
diff --git a/test_isort.py b/test_isort.py
index 180c506f..7fde1b43 100644
--- a/test_isort.py
+++ b/test_isort.py
@@ -1181,3 +1181,16 @@ def test_sticky_comments():
                   "# Used for type-hinting (ref: https://github.com/davidhalter/jedi/issues/414).\n"
                   "from selenium.webdriver.remote.webdriver import WebDriver  # noqa\n")
     assert SortImports(file_contents=test_input).output == test_input
+
+
+def test_zipimport():
+    """Imports ending in "import" shouldn't be clobbered"""
+    test_input = "from zipimport import zipimport\n"
+    assert SortImports(file_contents=test_input).output == test_input
+
+
+def test_from_ending():
+    """Imports ending in "from" shouldn't be clobbered."""
+    test_input = "from foo import get_foo_from, get_foo\n"
+    expected_output = "from foo import get_foo, get_foo_from\n"
+    assert SortImports(file_contents=test_input).output == expected_output
Repository: rochacbruno/dynaconf (python)

Issue:
[bug] RuntimeError: dictionary changed size during iteration when using @del within dynaconf_merge logic
**Describe the bug**
The following [line](https://github.com/rochacbruno/dynaconf/blob/25fed5dc27d1dd78c368d7464f7d160b46aa1d24/dynaconf/utils/__init__.py#L49
) is bugged, changing dict size during iteration, via pop() leads to 

```
RuntimeError: dictionary changed size during iteration
```

**To Reproduce**
You can run following python code which is assumed to be very simple interpretation of the code line above:
```
new = {"a": 1}

for k, v in new.items():
    new.pop(k, None)
```

1. To reproduce it with `dynaconf`, use following config.yaml
```
default:
  options:
    A: 1
    B: 2
development:
  options:
    dynaconf_merge:
      B: "@del"
```

**Expected behavior**
No RuntimeError, key marked with `@del` is removed from merge result


Pull request:
fix object_merge issue #285 with  meta value
PR recreated #286 to fix some styling issues before merging

fix #285 

Patch:
diff --git a/dynaconf/utils/__init__.py b/dynaconf/utils/__init__.py
index b53c55d..03fd061 100644
--- a/dynaconf/utils/__init__.py
+++ b/dynaconf/utils/__init__.py
@@ -40,7 +40,7 @@ def object_merge(old, new, unique=False):
                 object_merge(value, new[key])
 
         # Cleanup of MetaValues on New dict
-        for key, value in new.items():
+        for key, value in list(new.items()):
             if getattr(new[key], "dynaconf_reset", False):
                 # new Reset triggers cleanup of existing data
                 new[key] = new[key].value


Test patch:
diff --git a/tests/test_utils.py b/tests/test_utils.py
index a87ff5d..1abc3cd 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -165,6 +165,16 @@ def test_merge_existing_dict():
     assert new == {"host": "localhost", "port": 666, "user": "admin"}
 
 
+def test_merge_dict_with_meta_values():
+    existing = {"A": 1, "B": 2, "C": 3}
+    new = {
+        "B": parse_conf_data("@del", tomlfy=True),
+        "C": parse_conf_data("@reset 4", tomlfy=True),
+    }
+    object_merge(existing, new)
+    assert new == {"A": 1, "C": 4}
+
+
 def test_trimmed_split():
     # No sep
     assert trimmed_split("hello") == ["hello"]
Repository: sindresorhus/got (ts)

Issue:
Prevent usage of Basic Auth in URL
From: https://github.com/sindresorhus/got/issues/105#issuecomment-141696906

Passing Basic Auth in the URL is deprecated and not even possible anymore in Chrome and IE: http://serverfault.com/questions/371907/can-you-pass-user-pass-for-http-basic-authentication-in-url-parameters https://tools.ietf.org/html/rfc3986#section-3.2.1

In the next major version of `got` we should throw and tell the user to use the `auth` option instead.


Pull request:
Throw on authentication in url string
Closes #106

Patch:
diff --git a/index.js b/index.js
index 6bcf4b8..c850a75 100644
--- a/index.js
+++ b/index.js
@@ -182,9 +182,17 @@ function normalizeArguments(url, opts) {
 		throw new Error('Parameter `url` must be a string or object, not ' + typeof url);
 	}
 
+	if (typeof url === 'string') {
+		url = urlLib.parse(prependHttp(url));
+
+		if (url.auth) {
+			throw new Error('Basic authentication must be done with auth option');
+		}
+	}
+
 	opts = objectAssign(
 		{protocol: 'http:', path: ''},
-		typeof url === 'string' ? urlLib.parse(prependHttp(url)) : url,
+		url,
 		opts
 	);
 


Test patch:
diff --git a/test/arguments.js b/test/arguments.js
index cad270a..7d78121 100644
--- a/test/arguments.js
+++ b/test/arguments.js
@@ -52,6 +52,13 @@ test('arguments - overrides querystring from opts', t => {
 	});
 });
 
+test('arguments - should throw with auth in url', t => {
+	t.throws(() => {
+		got(`https://test:45d3ps453@account.myservice.com/api/token`, () => {});
+	}, /Basic authentication must be done with auth option/);
+	t.end();
+});
+
 test.after('arguments - cleanup', t => {
 	s.close();
 	t.end();