Spaces:
Sleeping
Sleeping
File size: 126,295 Bytes
6d6193f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | export const evalData = [
{
"repo_name": "chanedwin/pydistinct",
"repo_url": "https://github.com/chanedwin/pydistinct",
"commit_hash": "afecd6c9226a9eee3bad3e2610c34f32026db6f7",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,4 +1,4 @@\n scipy\n statsmodels\n numpy\n-m2r\n+m2r\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,38 +1,2 @@\n-import setuptools\r\n-\r\n-setuptools.setup(\r\n- name=\"pydistinct\",\r\n- version=\"0.6.4\",\r\n- author=\"Edwin Chan\",\r\n- author_email=\"edwinchan@u.nus.edu\",\r\n- description=\"Package for estimating distinct values in a population\",\r\n- long_description=\"\"\" This package provides statistical estimators to predict a population's total number of distinct values from a sample sequence - given a sample sequence of n values with only d distinct values, predict the total number of distinct values D that exists in the population N.\r\n-\r\n- Sample use cases :\r\n- \r\n- estimating the number of unique insects in a population from a field sample\r\n- estimating the number of unique words in a document given a sentence or a paragraph\r\n- estimating the number of unique items in a database from a few sample rows\r\n- Please send all bugs reports/issues/queries to chanedwin91@gmail.com for fastest response!\r\n- \r\n- See https://github.com/chanedwin/pydistinct for more information \r\n- \"\"\",\r\n- long_description_content_type=\"text/markdown\",\r\n- url=\"https://github.com/chanedwin/pydistinct/\",\r\n- download_url='https://github.com/chanedwin/pydistinct/archive/0.5.tar.gz',\r\n- keywords=['distinct', 'value', 'estimators', 'sample', 'sequences'],\r\n- install_requires=[\r\n- 'scipy',\r\n- 'statsmodels',\r\n- 'xgboost',\r\n- 'numpy',\r\n- 'm2r'\r\n- ],\r\n-\r\n- packages=setuptools.find_packages(),\r\n- classifiers=[\r\n- \"Programming Language :: Python :: 3\",\r\n- \"License :: OSI Approved :: MIT License\",\r\n- \"Operating System :: OS Independent\",\r\n- ],\r\n-)\r\n+import setuptools\n+setuptools.setup(name='pydistinct', version='0.6.4', author='Edwin Chan', author_email='edwinchan@u.nus.edu', description='Package for estimating distinct values in a population', long_description=\" This package provides statistical estimators to predict a population's total number of distinct values from a sample sequence - given a sample sequence of n values with only d distinct values, predict the total number of distinct values D that exists in the population N.\\n\\n Sample use cases :\\n \\n estimating the number of unique insects in a population from a field sample\\n estimating the number of unique words in a document given a sentence or a paragraph\\n estimating the number of unique items in a database from a few sample rows\\n Please send all bugs reports/issues/queries to chanedwin91@gmail.com for fastest response!\\n \\n See https://github.com/chanedwin/pydistinct for more information \\n \", long_description_content_type='text/markdown', url='https://github.com/chanedwin/pydistinct/', download_url='https://github.com/chanedwin/pydistinct/archive/0.5.tar.gz', keywords=['distinct', 'value', 'estimators', 'sample', 'sequences'], install_requires=['scipy', 'statsmodels', 'xgboost', 'numpy', 'm2r'], packages=setuptools.find_packages(), classifiers=['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent'])\n\\ No newline at end of file\n--- setup_chanedwin__pydistinct.sh\n+++ setup_chanedwin__pydistinct.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install -r docs/requirements.txt\n--- test_chanedwin__pydistinct.sh\n+++ test_chanedwin__pydistinct.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest pydistinct.test\n",
"test_patch": "",
"gold_patch": "--- pydistinct/stats_estimators.py\n+++ pydistinct/stats_estimators.py\n@@ -44,7 +44,7 @@\n \r\n def memo_fact(x, memo_dict): # memoize factorial function to make it faster\r\n if x not in memo_dict:\r\n- memo_dict[x] = np.math.factorial(x)\r\n+ memo_dict[x] = math.factorial(x)\r\n return memo_dict[x], memo_dict\r\n \r\n sum_goodman = 0\r\n",
"reproduction_target_date": "2020-03-25",
"reproduction_target_version": "3.7.7",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY chanedwin__pydistinct .\n\nRUN bash /work/setup_chanedwin__pydistinct.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_chanedwin__pydistinct.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "docutils==0.22\nm2r==0.3.1\nmistune==0.8.4\nnumpy==2.3.2\npackaging==25.0\npandas==2.3.1\npatsy==1.0.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nscipy==1.16.1\nsix==1.17.0\nstatsmodels==0.14.5\ntzdata==2025.2\n",
"test_type": "unittest",
"test_files": "pydistinct/test.py",
"test_count": 19,
"related_modules": "numpy",
"py_file_count": 9,
"total_loc_python": 1829,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "Shokr/orderingSystem",
"repo_url": "https://github.com/Shokr/orderingSystem",
"commit_hash": "20afc2e7344ad49fb1ff35bd62541c1560fdf490",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,67 +1,67 @@\n-argon2-cffi==20.1.0\n-asgiref==3.3.1\n-attrs==20.3.0\n-certifi==2020.12.5\n-cffi==1.14.5\n-chardet==4.0.0\n-click==7.1.2\n-coreapi==2.3.3\n-coreschema==0.0.4\n-coverage==5.5\n-cryptography==3.4.6\n-defusedxml==0.7.1\n-Django==3.1.7\n-django-cors-headers==3.7.0\n-django-debug-toolbar==3.2\n-django-extensions==3.1.1\n-django-filter==2.4.0\n-django-model-utils==4.1.1\n-django-money==1.3.1\n-django-simpleui==2021.4\n-django-templated-mail==1.1.1\n-djangorestframework==3.12.2\n-djangorestframework-simplejwt==4.6.0\n-djoser==2.1.0\n-drf-yasg==1.20.0\n-factory-boy==3.2.0\n-Faker==6.6.2\n-gunicorn==20.0.4\n-h11==0.12.0\n-idna==2.10\n-inflection==0.5.1\n-iniconfig==1.1.1\n-itypes==1.2.0\n-Jinja2==2.11.3\n-lxml==4.6.2\n-Markdown==3.3.4\n-MarkupSafe==1.1.1\n-mock==4.0.3\n-model-bakery==1.1.1\n-oauthlib==3.1.0\n-packaging==20.9\n-pluggy==0.13.1\n-py==1.10.0\n-py-moneyed==0.8.0\n-pycparser==2.20\n-PyJWT==2.0.1\n-pyparsing==2.4.7\n-pytest==6.2.2\n-pytest-django==4.1.0\n-pytest-factoryboy==2.1.0\n-python-dateutil==2.8.1\n-python3-openid==3.2.0\n-pytz==2021.1\n-requests==2.25.1\n-requests-oauthlib==1.3.0\n-ruamel.yaml==0.16.13\n-ruamel.yaml.clib==0.2.2\n-six==1.15.0\n-social-auth-app-django==4.0.0\n-social-auth-core==4.1.0\n-sqlparse==0.4.1\n-text-unidecode==1.3\n-toml==0.10.2\n-uritemplate==3.0.1\n-urllib3==1.26.4\n-uvicorn==0.13.4\n-whitenoise==5.2.0\n+argon2-cffi\n+asgiref\n+attrs\n+certifi\n+cffi\n+chardet\n+click\n+coreapi\n+coreschema\n+coverage\n+cryptography\n+defusedxml\n+Django\n+django-cors-headers\n+django-debug-toolbar\n+django-extensions\n+django-filter\n+django-model-utils\n+django-money\n+django-simpleui\n+django-templated-mail\n+djangorestframework\n+djangorestframework-simplejwt\n+djoser\n+drf-yasg\n+factory-boy\n+Faker\n+gunicorn\n+h11\n+idna\n+inflection\n+iniconfig\n+itypes\n+Jinja2\n+lxml\n+Markdown\n+MarkupSafe\n+mock\n+model-bakery\n+oauthlib\n+packaging\n+pluggy\n+py\n+py-moneyed\n+pycparser\n+PyJWT\n+pyparsing\n+pytest\n+pytest-django\n+pytest-factoryboy\n+python-dateutil\n+python3-openid\n+pytz\n+requests\n+requests-oauthlib\n+ruamel.yaml\n+ruamel.yaml.clib\n+six\n+social-auth-app-django\n+social-auth-core\n+sqlparse\n+text-unidecode\n+toml\n+uritemplate\n+urllib3\n+uvicorn\n+whitenoise\n\\ No newline at end of file\n--- setup_Shokr__orderingSystem.sh\n+++ setup_Shokr__orderingSystem.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_Shokr__orderingSystem.sh\n+++ test_Shokr__orderingSystem.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- config/urls.py\n+++ config/urls.py\n@@ -3,7 +3,7 @@\n \"\"\"\n \n from django.conf import settings\n-from django.conf.urls import url\n+from django.urls import re_path\n from django.conf.urls.static import static\n \n from django.contrib import admin\n@@ -32,10 +32,10 @@\n \n # OpenApi URLS\n urlpatterns += [\n- url(r'^swagger(?P<format>\\.json|\\.yaml)$', schema_view.without_ui(cache_timeout=0),\n+ re_path(r'^swagger(?P<format>\\.json|\\.yaml)$', schema_view.without_ui(cache_timeout=0),\n name='schema-json'),\n- url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),\n- url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),\n+ re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),\n+ re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),\n ]\n \n # API URLS\n--- users/api/serializers.py\n+++ users/api/serializers.py\n@@ -1,6 +1,6 @@\n from django.contrib.auth import authenticate\n from django.contrib.auth.hashers import make_password\n-from django.utils.translation import ugettext_lazy as _\n+from django.utils.translation import gettext_lazy as _\n \n from rest_framework.authtoken.models import Token\n \n",
"reproduction_target_date": "2021-03-21",
"reproduction_target_version": "3.8.8",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY Shokr__orderingSystem .\n\nRUN bash /work/setup_Shokr__orderingSystem.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_Shokr__orderingSystem.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "argon2-cffi==25.1.0\nargon2-cffi-bindings==25.1.0\nasgiref==3.9.1\nattrs==25.3.0\nbabel==2.17.0\ncertifi==2025.7.14\ncffi==1.17.1\nchardet==5.2.0\ncharset-normalizer==3.4.2\nclick==8.2.1\ncoreapi==2.3.3\ncoreschema==0.0.4\ncoverage==7.10.1\ncryptography==45.0.5\ndefusedxml==0.7.1\nDjango==5.2.4\ndjango-cors-headers==4.7.0\ndjango-debug-toolbar==6.0.0\ndjango-extensions==4.1\ndjango-filter==25.1\ndjango-model-utils==5.0.0\ndjango-money==3.5.4\ndjango-simpleui==2025.6.24\ndjango-templated-mail==1.1.1\ndjangorestframework==3.16.0\ndjangorestframework_simplejwt==5.5.1\ndjoser==2.3.3\ndrf-yasg==1.21.10\nfactory_boy==3.3.3\nFaker==37.5.3\ngunicorn==23.0.0\nh11==0.16.0\nidna==3.10\ninflection==0.5.1\niniconfig==2.1.0\nitypes==1.2.0\nJinja2==3.1.6\nlxml==6.0.0\nMarkdown==3.8.2\nMarkupSafe==3.0.2\nmock==5.2.0\nmodel-bakery==1.20.5\noauthlib==3.3.1\npackaging==25.0\npluggy==1.6.0\npy==1.11.0\npy-moneyed==3.0\npycparser==2.22\nPygments==2.19.2\nPyJWT==2.10.1\npyparsing==3.2.3\npytest==8.4.1\npytest-django==4.11.1\npytest-factoryboy==2.8.1\npython-dateutil==2.9.0.post0\npython3-openid==3.2.0\npytz==2025.2\nPyYAML==6.0.2\nrequests==2.32.4\nrequests-oauthlib==2.0.0\nruamel.yaml==0.18.14\nruamel.yaml.clib==0.2.12\nsetuptools==80.9.0\nsix==1.17.0\nsocial-auth-app-django==5.5.1\nsocial-auth-core==4.7.0\nsqlparse==0.5.3\ntext-unidecode==1.3\ntoml==0.10.2\ntyping_extensions==4.14.1\ntzdata==2025.2\nuritemplate==4.2.0\nurllib3==2.5.0\nuvicorn==0.35.0\nwhitenoise==6.9.0\n",
"test_type": "pytest",
"test_files": "conftest.py",
"test_count": 18,
"related_modules": "Django",
"py_file_count": 55,
"total_loc_python": 1663,
"difficulty": "Medium",
"license": ""
},
{
"repo_name": "angulito/the-real-devops-challenge",
"repo_url": "https://github.com/angulito/the-real-devops-challenge",
"commit_hash": "06dda29b045b57659cc64fb4f2ed47865acfee51",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,11 +1,11 @@\n-Click==7.0\n-Flask==1.0.2\n-Flask-API==1.0\n-Flask-PyMongo==2.2.0\n-isodate==0.6.0\n-itsdangerous==1.1.0\n-Jinja2==2.10\n-MarkupSafe==1.1.0\n-pymongo==3.7.2\n-six==1.11.0\n-Werkzeug==0.14.1\n\\ No newline at end of file\n+Click\n+Flask\n+Flask-API\n+Flask-PyMongo\n+isodate\n+itsdangerous\n+Jinja2\n+MarkupSafe\n+pymongo\n+six\n+Werkzeug\n\\ No newline at end of file\n--- setup_angulito__the-real-devops-challenge.sh\n+++ setup_angulito__the-real-devops-challenge.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install -r requirements_dev.txt\n--- test_angulito__the-real-devops-challenge.sh\n+++ test_angulito__the-real-devops-challenge.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest tests.test_restaurant\n",
"test_patch": "",
"gold_patch": "--- src/mongoflask.py\n+++ src/mongoflask.py\n@@ -2,11 +2,11 @@\n \n import isodate as iso\n from bson import ObjectId\n-from flask.json import JSONEncoder\n+from flask.json.provider import DefaultJSONProvider\n from werkzeug.routing import BaseConverter\n \n \n-class MongoJSONEncoder(JSONEncoder):\n+class MongoJSONEncoder(DefaultJSONProvider):\n def default(self, o):\n if isinstance(o, (datetime, date)):\n return iso.datetime_isoformat(o)\n",
"reproduction_target_date": "2018-11-25",
"reproduction_target_version": "3.6.7",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY angulito__the-real-devops-challenge .\n\nRUN bash /work/setup_angulito__the-real-devops-challenge.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_angulito__the-real-devops-challenge.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "blinker==1.9.0\nclick==8.2.1\ndnspython==2.7.0\nFlask==3.1.1\nFlask-API==3.1\nFlask-PyMongo==3.0.1\niniconfig==2.1.0\nisodate==0.7.2\nitsdangerous==2.2.0\nJinja2==3.1.6\nMarkupSafe==3.0.2\nmock==5.2.0\npackaging==25.0\npluggy==1.6.0\nPygments==2.19.2\npymongo==4.13.2\npytest==8.4.1\nsix==1.17.0\nWerkzeug==3.1.3\n",
"test_type": "unittest",
"test_files": "tests/test_restaurant.py",
"test_count": 3,
"related_modules": "flask",
"py_file_count": 5,
"total_loc_python": 108,
"difficulty": "Easy",
"license": "Apache-2.0"
},
{
"repo_name": "polyatail/aiosocketpool",
"repo_url": "https://github.com/polyatail/aiosocketpool",
"commit_hash": "5ad53a005e88baafc608db5678e51497b3c5f07d",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -4,194 +4,70 @@\n #\n # pip-compile --generate-hashes\n #\n-appdirs==1.4.4 \\\n- --hash=sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41 \\\n- --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128\n- # via black\n-async-timeout==3.0.1 \\\n- --hash=sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f \\\n- --hash=sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3\n- # via -r requirements.in\n-attrs==20.3.0 \\\n- --hash=sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6 \\\n- --hash=sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700\n- # via pytest\n-black==21.4b2 \\\n- --hash=sha256:bff7067d8bc25eb21dcfdbc8c72f2baafd9ec6de4663241a52fb904b304d391f \\\n- --hash=sha256:fc9bcf3b482b05c1f35f6a882c079dc01b9c7795827532f4cc43c0ec88067bbc\n- # via -r requirements.in\n-click==7.1.2 \\\n- --hash=sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a \\\n- --hash=sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc\n- # via\n- # black\n- # pip-tools\n-flake8==3.9.1 \\\n- --hash=sha256:1aa8990be1e689d96c745c5682b687ea49f2e05a443aff1f8251092b0014e378 \\\n- --hash=sha256:3b9f848952dddccf635be78098ca75010f073bfe14d2c6bda867154bea728d2a\n- # via -r requirements.in\n-importlib-metadata==4.0.1 \\\n- --hash=sha256:8c501196e49fb9df5df43833bdb1e4328f64847763ec8a50703148b73784d581 \\\n- --hash=sha256:d7eb1dea6d6a6086f8be21784cc9e3bcfa55872b52309bc5fad53a8ea444465d\n- # via -r requirements.in\n-iniconfig==1.1.1 \\\n- --hash=sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 \\\n- --hash=sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32\n- # via pytest\n-mccabe==0.6.1 \\\n- --hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 \\\n- --hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f\n- # via flake8\n-mypy-extensions==0.4.3 \\\n- --hash=sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d \\\n- --hash=sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8\n- # via black\n-packaging==20.9 \\\n- --hash=sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5 \\\n- --hash=sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a\n- # via pytest\n-pathspec==0.8.1 \\\n- --hash=sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd \\\n- --hash=sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d\n- # via black\n-pep517==0.10.0 \\\n- --hash=sha256:ac59f3f6b9726a49e15a649474539442cf76e0697e39df4869d25e68e880931b \\\n- --hash=sha256:eba39d201ef937584ad3343df3581069085bacc95454c80188291d5b3ac7a249\n- # via pip-tools\n-pip-tools==6.1.0 \\\n- --hash=sha256:197e3f8839095ccec3ad1ef410e0804c07d9f17dff1c340fb417ca2b63feacc9 \\\n- --hash=sha256:400bf77e29cca48c31abc210042932bb52dcc138ef4ea4d52c5db429aa8ae6ee\n- # via -r requirements.in\n-pluggy==0.13.1 \\\n- --hash=sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 \\\n- --hash=sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d\n- # via pytest\n-py==1.10.0 \\\n- --hash=sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3 \\\n- --hash=sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a\n- # via pytest\n-pycodestyle==2.7.0 \\\n- --hash=sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068 \\\n- --hash=sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef\n- # via flake8\n-pydocstyle==6.0.0 \\\n- --hash=sha256:164befb520d851dbcf0e029681b91f4f599c62c5cd8933fd54b1bfbd50e89e1f \\\n- --hash=sha256:d4449cf16d7e6709f63192146706933c7a334af7c0f083904799ccb851c50f6d\n- # via -r requirements.in\n-pyflakes==2.3.1 \\\n- --hash=sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3 \\\n- --hash=sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db\n- # via flake8\n-pyparsing==2.4.7 \\\n- --hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \\\n- --hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b\n- # via packaging\n-pytest-asyncio==0.15.1 \\\n- --hash=sha256:2564ceb9612bbd560d19ca4b41347b54e7835c2f792c504f698e05395ed63f6f \\\n- --hash=sha256:3042bcdf1c5d978f6b74d96a151c4cfb9dcece65006198389ccd7e6c60eb1eea\n- # via -r requirements.in\n-pytest==6.2.3 \\\n- --hash=sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634 \\\n- --hash=sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc\n- # via\n- # -r requirements.in\n- # pytest-asyncio\n-regex==2021.4.4 \\\n- --hash=sha256:01afaf2ec48e196ba91b37451aa353cb7eda77efe518e481707e0515025f0cd5 \\\n- --hash=sha256:11d773d75fa650cd36f68d7ca936e3c7afaae41b863b8c387a22aaa78d3c5c79 \\\n- --hash=sha256:18c071c3eb09c30a264879f0d310d37fe5d3a3111662438889ae2eb6fc570c31 \\\n- --hash=sha256:1e1c20e29358165242928c2de1482fb2cf4ea54a6a6dea2bd7a0e0d8ee321500 \\\n- --hash=sha256:281d2fd05555079448537fe108d79eb031b403dac622621c78944c235f3fcf11 \\\n- --hash=sha256:314d66636c494ed9c148a42731b3834496cc9a2c4251b1661e40936814542b14 \\\n- --hash=sha256:32e65442138b7b76dd8173ffa2cf67356b7bc1768851dded39a7a13bf9223da3 \\\n- --hash=sha256:339456e7d8c06dd36a22e451d58ef72cef293112b559010db3d054d5560ef439 \\\n- --hash=sha256:3916d08be28a1149fb97f7728fca1f7c15d309a9f9682d89d79db75d5e52091c \\\n- --hash=sha256:3a9cd17e6e5c7eb328517969e0cb0c3d31fd329298dd0c04af99ebf42e904f82 \\\n- --hash=sha256:47bf5bf60cf04d72bf6055ae5927a0bd9016096bf3d742fa50d9bf9f45aa0711 \\\n- --hash=sha256:4c46e22a0933dd783467cf32b3516299fb98cfebd895817d685130cc50cd1093 \\\n- --hash=sha256:4c557a7b470908b1712fe27fb1ef20772b78079808c87d20a90d051660b1d69a \\\n- --hash=sha256:52ba3d3f9b942c49d7e4bc105bb28551c44065f139a65062ab7912bef10c9afb \\\n- --hash=sha256:563085e55b0d4fb8f746f6a335893bda5c2cef43b2f0258fe1020ab1dd874df8 \\\n- --hash=sha256:598585c9f0af8374c28edd609eb291b5726d7cbce16be6a8b95aa074d252ee17 \\\n- --hash=sha256:619d71c59a78b84d7f18891fe914446d07edd48dc8328c8e149cbe0929b4e000 \\\n- --hash=sha256:67bdb9702427ceddc6ef3dc382455e90f785af4c13d495f9626861763ee13f9d \\\n- --hash=sha256:6d1b01031dedf2503631d0903cb563743f397ccaf6607a5e3b19a3d76fc10480 \\\n- --hash=sha256:741a9647fcf2e45f3a1cf0e24f5e17febf3efe8d4ba1281dcc3aa0459ef424dc \\\n- --hash=sha256:7c2a1af393fcc09e898beba5dd59196edaa3116191cc7257f9224beaed3e1aa0 \\\n- --hash=sha256:7d9884d86dd4dd489e981d94a65cd30d6f07203d90e98f6f657f05170f6324c9 \\\n- --hash=sha256:90f11ff637fe8798933fb29f5ae1148c978cccb0452005bf4c69e13db951e765 \\\n- --hash=sha256:919859aa909429fb5aa9cf8807f6045592c85ef56fdd30a9a3747e513db2536e \\\n- --hash=sha256:96fcd1888ab4d03adfc9303a7b3c0bd78c5412b2bfbe76db5b56d9eae004907a \\\n- --hash=sha256:97f29f57d5b84e73fbaf99ab3e26134e6687348e95ef6b48cfd2c06807005a07 \\\n- --hash=sha256:980d7be47c84979d9136328d882f67ec5e50008681d94ecc8afa8a65ed1f4a6f \\\n- --hash=sha256:a91aa8619b23b79bcbeb37abe286f2f408d2f2d6f29a17237afda55bb54e7aac \\\n- --hash=sha256:ade17eb5d643b7fead300a1641e9f45401c98eee23763e9ed66a43f92f20b4a7 \\\n- --hash=sha256:b9c3db21af35e3b3c05764461b262d6f05bbca08a71a7849fd79d47ba7bc33ed \\\n- --hash=sha256:bd28bc2e3a772acbb07787c6308e00d9626ff89e3bfcdebe87fa5afbfdedf968 \\\n- --hash=sha256:bf5824bfac591ddb2c1f0a5f4ab72da28994548c708d2191e3b87dd207eb3ad7 \\\n- --hash=sha256:c0502c0fadef0d23b128605d69b58edb2c681c25d44574fc673b0e52dce71ee2 \\\n- --hash=sha256:c38c71df845e2aabb7fb0b920d11a1b5ac8526005e533a8920aea97efb8ec6a4 \\\n- --hash=sha256:ce15b6d103daff8e9fee13cf7f0add05245a05d866e73926c358e871221eae87 \\\n- --hash=sha256:d3029c340cfbb3ac0a71798100ccc13b97dddf373a4ae56b6a72cf70dfd53bc8 \\\n- --hash=sha256:e512d8ef5ad7b898cdb2d8ee1cb09a8339e4f8be706d27eaa180c2f177248a10 \\\n- --hash=sha256:e8e5b509d5c2ff12f8418006d5a90e9436766133b564db0abaec92fd27fcee29 \\\n- --hash=sha256:ee54ff27bf0afaf4c3b3a62bcd016c12c3fdb4ec4f413391a90bd38bc3624605 \\\n- --hash=sha256:fa4537fb4a98fe8fde99626e4681cc644bdcf2a795038533f9f711513a862ae6 \\\n- --hash=sha256:fd45ff9293d9274c5008a2054ecef86a9bfe819a67c7be1afb65e69b405b3042\n- # via black\n-snowballstemmer==2.1.0 \\\n- --hash=sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2 \\\n- --hash=sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914\n- # via pydocstyle\n-toml==0.10.2 \\\n- --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \\\n- --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f\n- # via\n- # black\n- # pep517\n- # pytest\n-typed-ast==1.4.3 \\\n- --hash=sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace \\\n- --hash=sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff \\\n- --hash=sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266 \\\n- --hash=sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528 \\\n- --hash=sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6 \\\n- --hash=sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808 \\\n- --hash=sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4 \\\n- --hash=sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363 \\\n- --hash=sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341 \\\n- --hash=sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04 \\\n- --hash=sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41 \\\n- --hash=sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e \\\n- --hash=sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3 \\\n- --hash=sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899 \\\n- --hash=sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805 \\\n- --hash=sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c \\\n- --hash=sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c \\\n- --hash=sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39 \\\n- --hash=sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a \\\n- --hash=sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3 \\\n- --hash=sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7 \\\n- --hash=sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f \\\n- --hash=sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075 \\\n- --hash=sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0 \\\n- --hash=sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40 \\\n- --hash=sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428 \\\n- --hash=sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927 \\\n- --hash=sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3 \\\n- --hash=sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f \\\n- --hash=sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65\n- # via -r requirements.in\n-typing-extensions==3.7.4.3 \\\n- --hash=sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918 \\\n- --hash=sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c \\\n- --hash=sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f\n- # via -r requirements.in\n-zipp==3.4.1 \\\n- --hash=sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76 \\\n- --hash=sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098\n- # via importlib-metadata\n+appdirs\n+# via black\n+async-timeout\n+# via -r requirements.in\n+attrs\n+# via pytest\n+black\n+# via -r requirements.in\n+click\n+# via\n+# black\n+# pip-tools\n+flake8\n+# via -r requirements.in\n+importlib-metadata\n+# via -r requirements.in\n+iniconfig\n+# via pytest\n+mccabe\n+# via flake8\n+mypy-extensions\n+# via black\n+packaging\n+# via pytest\n+pathspec\n+# via black\n+pep517\n+# via pip-tools\n+pip-tools\n+# via -r requirements.in\n+pluggy\n+# via pytest\n+py\n+# via pytest\n+pycodestyle\n+# via flake8\n+pydocstyle\n+# via -r requirements.in\n+pyflakes\n+# via flake8\n+pyparsing\n+# via packaging\n+pytest-asyncio\n+# via -r requirements.in\n+pytest\n+# via\n+# -r requirements.in\n+# pytest-asyncio\n+regex\n+# via black\n+snowballstemmer\n+# via pydocstyle\n+toml\n+# via\n+# black\n+# pep517\n+# pytest\n+typed-ast\n+# via -r requirements.in\n+typing-extensions\n+# via -r requirements.in\n+zipp\n+# via importlib-metadata\n \n # WARNING: The following packages were not pinned, but pip requires them to be\n # pinned when the requirements file includes hashes. Consider using the --allow-unsafe flag.\n-# pip\n+# pip\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,33 +1,6 @@\n from setuptools import setup, find_packages\n-\n-with open(\"aiosocketpool/version.py\") as version_file:\n+with open('aiosocketpool/version.py') as version_file:\n exec(version_file.read())\n-\n-with open(\"README.md\") as readme:\n+with open('README.md') as readme:\n README = readme.read()\n-\n-setup(\n- name=\"aiosocketpool\",\n- version=__version__,\n- packages=find_packages(exclude=[\"*test*\"]),\n- install_requires=[\"async_timeout>=3.0.1\"],\n- extras_require={\n- \"testing\": [\n- \"black>=19.3b0\",\n- \"flake8>=3.7.8\",\n- \"pip-tools>=4.2.0\",\n- \"pydocstyle>=4.0.0\",\n- \"pytest>=5.1.0\",\n- \"pytest-asyncio>=0.10.0\",\n- ]\n- },\n- author=\"Roo Sczesnak\",\n- author_email=\"andrewscz@gmail.com\",\n- description=\"An asyncio-compatible socket pool\",\n- long_description=README,\n- long_description_content_type=\"text/markdown\",\n- license=\"MIT License\",\n- keyword=\"asyncio socketpool aiosocketpool\",\n- url=\"https://github.com/polyatail/aiosocketpool\",\n- test_suite=\"tests\",\n-)\n+setup(name='aiosocketpool', version=__version__, packages=find_packages(exclude=['*test*']), install_requires=['async_timeout'], extras_require={'testing': ['black', 'flake8', 'pip-tools', 'pydocstyle', 'pytest', 'pytest-asyncio']}, author='Roo Sczesnak', author_email='andrewscz@gmail.com', description='An asyncio-compatible socket pool', long_description=README, long_description_content_type='text/markdown', license='MIT License', keyword='asyncio socketpool aiosocketpool', url='https://github.com/polyatail/aiosocketpool', test_suite='tests')\n\\ No newline at end of file\n--- setup_polyatail__aiosocketpool.sh\n+++ setup_polyatail__aiosocketpool.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_polyatail__aiosocketpool.sh\n+++ test_polyatail__aiosocketpool.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- aiosocketpool/__init__.py\n+++ aiosocketpool/__init__.py\n@@ -9,8 +9,6 @@\n from typing import Optional\n import weakref\n \n-import async_timeout\n-\n \n def can_use_kqueue():\n # kqueue doesn't work on OS X 10.6 and below\n@@ -171,7 +169,7 @@\n \n loop = asyncio.get_event_loop()\n \n- with async_timeout.timeout(self.timeout):\n+ async with asyncio.timeout(self.timeout):\n await loop.sock_connect(self._socket, (self.host, self.port))\n \n if not is_connected(self._socket):\n@@ -228,7 +226,7 @@\n \"\"\"\n loop = asyncio.get_event_loop()\n \n- with async_timeout.timeout(self.timeout):\n+ async with asyncio.timeout(self.timeout):\n return await loop.sock_sendall(self._socket, data)\n \n async def recv(self, size: Optional[int] = 1024) -> bytes:\n@@ -247,7 +245,7 @@\n \"\"\"\n loop = asyncio.get_event_loop()\n \n- with async_timeout.timeout(self.timeout):\n+ async with asyncio.timeout(self.timeout):\n return await loop.sock_recv(self._socket, size)\n \n async def recv_exactly(self, size: int) -> bytes:\n",
"reproduction_target_date": "2021-05-01",
"reproduction_target_version": "3.8.9",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY polyatail__aiosocketpool .\n\nRUN bash /work/setup_polyatail__aiosocketpool.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_polyatail__aiosocketpool.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "appdirs==1.4.4\nasync-timeout==5.0.1\nattrs==25.3.0\nblack==25.1.0\nbuild==1.2.2.post1\nclick==8.2.1\nflake8==7.3.0\nimportlib_metadata==8.7.0\niniconfig==2.1.0\nmccabe==0.7.0\nmypy_extensions==1.1.0\npackaging==25.0\npathspec==0.12.1\npep517==0.13.1\npip-tools==7.4.1\nplatformdirs==4.3.8\npluggy==1.6.0\npy==1.11.0\npycodestyle==2.14.0\npydocstyle==6.3.0\npyflakes==3.4.0\nPygments==2.19.2\npyparsing==3.2.3\npyproject_hooks==1.2.0\npytest==8.4.1\npytest-asyncio==1.1.0\nregex==2025.7.33\nsetuptools==80.9.0\nsnowballstemmer==3.0.1\ntoml==0.10.2\ntyped_ast==1.5.5\ntyping_extensions==4.14.1\nwheel==0.45.1\nzipp==3.23.0\n",
"test_type": "pytest",
"test_files": "tests/test_socketpool.py",
"test_count": 3,
"related_modules": "async-timeout",
"py_file_count": 5,
"total_loc_python": 710,
"difficulty": "Medium",
"license": "MIT"
},
{
"repo_name": "uichathurika/laptimize",
"repo_url": "https://github.com/uichathurika/laptimize",
"commit_hash": "973a25468d5a9bac96467391595d04dcac780e7a",
"patch": "--- setup.py\n+++ setup.py\n@@ -1,40 +1,12 @@\n from setuptools import setup, find_packages\n-\n try:\n import pypandoc\n-\n long_description = pypandoc.convert('README.md', 'rst')\n-except(IOError, ImportError):\n+except (IOError, ImportError):\n long_description = open('README.md').read()\n-\n VERSION = '1.0.0'\n DESCRIPTION = 'package to solve separable non linear optimization problems'\n URL = 'https://github.com/uichathurika/laptimize'\n-INSTALL_REQUIRES = [\n- 'numpy',\n- 'pandas',\n- 'pulp'\n-]\n+INSTALL_REQUIRES = ['numpy', 'pandas', 'pulp']\n LICENSE = 'MIT'\n-\n-setup(\n- name=\"laptimize\",\n- version=VERSION,\n- author=\"Ishanga Udatiyawala\",\n- author_email=\"uichathurika@gmail.com\",\n- description=DESCRIPTION,\n- long_description=long_description,\n- long_description_content_type=\"text/markdown\",\n- packages=find_packages(),\n- install_requires=INSTALL_REQUIRES,\n-\n- keywords=['python', 'non linear optimization', 'separable programming', 'branch and bound', 'global solution'],\n- classifiers=[\n- \"Development Status :: 3 - Alpha\",\n- \"Intended Audience :: Education\",\n- \"Programming Language :: Python :: 3.6\",\n- \"Operating System :: Microsoft :: Windows\",\n- \"Natural Language :: English\",\n- \"Topic :: Scientific/Engineering :: Mathematics\"\n- ]\n-)\n+setup(name='laptimize', version=VERSION, author='Ishanga Udatiyawala', author_email='uichathurika@gmail.com', description=DESCRIPTION, long_description=long_description, long_description_content_type='text/markdown', packages=find_packages(), install_requires=INSTALL_REQUIRES, keywords=['python', 'non linear optimization', 'separable programming', 'branch and bound', 'global solution'], classifiers=['Development Status :: 3 - Alpha', 'Intended Audience :: Education', 'Programming Language :: Python :: 3.6', 'Operating System :: Microsoft :: Windows', 'Natural Language :: English', 'Topic :: Scientific/Engineering :: Mathematics'])\n\\ No newline at end of file\n--- setup_uichathurika__laptimize.sh\n+++ setup_uichathurika__laptimize.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install .\n+pip install pytest\n--- test_uichathurika__laptimize.sh\n+++ test_uichathurika__laptimize.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- laptimize/branch_and_bound_solver.py\n+++ laptimize/branch_and_bound_solver.py\n@@ -11,7 +11,7 @@\n '''Initialising the parameters'''\n self.error = error\n self._lower_bound = 0\n- self._upper_bound = np.Infinity\n+ self._upper_bound = np.inf\n self._constraint = dict()\n self._constraint_status = []\n self._objective_initial = []\n--- laptimize/solver.py\n+++ laptimize/solver.py\n@@ -45,10 +45,12 @@\n combine_segment_curve = pd.concat([segment, curve], axis=1)\n lb0, ub0, k, k_lower, k_upper, segment_key = BranchAndBoundSolver(self.error).create_subproblems(\n piecewise_lp, combine_segment_curve, self.constraints)\n- solution_df = solution_df.append({'iteration_no': 0, 'sub_problem_no': 0, 'piecewise_lp': piecewise_lp,\n- 'segment': segment, 'curve': curve,\n- 'lb': lb0, 'ub': ub0, 'k': k, 'k_lower': k_lower, 'k_upper': k_upper,\n- 'branching_node': segment_key}, ignore_index=True)\n+ solution_df = pd.concat([solution_df, pd.DataFrame([\n+ {'iteration_no': 0, 'sub_problem_no': 0, 'piecewise_lp': piecewise_lp,\n+ 'segment': segment, 'curve': curve,\n+ 'lb': lb0, 'ub': ub0, 'k': k, 'k_lower': k_lower, 'k_upper': k_upper,\n+ 'branching_node': segment_key}\n+ ])], ignore_index=True)\n global_df = pd.DataFrame()\n while (len(solution_df)) > 0 and (len(solution_df) <= 100):\n solution_df, global_df = self.sub_problem_solve(solution_df, combine_segment_curve, global_df)\n@@ -109,16 +111,17 @@\n ub1 = min(node.ub, ub1)\n lb1 = max(node.lb, lb1)\n \n- solution_df = solution_df.append(\n+ solution_df = pd.concat([solution_df, pd.DataFrame([\n {'iteration_no': iteration_no, 'sub_problem_no': sub_problem_no,\n- 'piecewise_lp': piecewise_lp1,\n- 'segment': segment1, 'curve': curve1,\n- 'lb': lb1, 'ub': ub1, 'k': k1, 'k_lower': k_lower1, 'k_upper': k_upper1,\n- 'branching_node': segment_key1}, ignore_index=True)\n+ 'piecewise_lp': piecewise_lp1,\n+ 'segment': segment1, 'curve': curve1,\n+ 'lb': lb1, 'ub': ub1, 'k': k1, 'k_lower': k_lower1, 'k_upper': k_upper1,\n+ 'branching_node': segment_key1}\n+ ])], ignore_index=True)\n sub_problem_no += 1\n iteration_no += 1\n else:\n- global_df = global_df.append(node, ignore_index=True)\n+ global_df = pd.concat([global_df, pd.DataFrame([node])], ignore_index=True)\n solution_df.drop([index], inplace=True)\n solution_df = solution_df.reset_index(drop=True)\n return solution_df, global_df\n",
"reproduction_target_date": "2021-03-29",
"reproduction_target_version": "3.6.13",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY uichathurika__laptimize .\n\nRUN bash /work/setup_uichathurika__laptimize.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_uichathurika__laptimize.sh\"]\n",
"version_source": "setup.py",
"script_source": "setup.py",
"dependency_versions": "iniconfig==2.1.0\nlaptimize @ file:///work\nnumpy==2.3.2\npackaging==25.0\npandas==2.3.1\npluggy==1.6.0\nPuLP==3.2.2\nPygments==2.19.2\npytest==8.4.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nsix==1.17.0\ntzdata==2025.2\n",
"test_type": "pytest",
"test_files": "laptimize/test/test_solver.py, laptimize/test/test_curve_approximation.py, laptimize/test/test_branch_and_bound_solver.py, laptimize/test/test_lap_model.py",
"test_count": 12,
"related_modules": "numpy, pandas",
"py_file_count": 16,
"total_loc_python": 1302,
"difficulty": "Hard",
"license": "MIT"
},
{
"repo_name": "ronikobrosly/causal-curve",
"repo_url": "https://github.com/ronikobrosly/causal-curve",
"commit_hash": "a06fd687a5f746d1cdc5cdef18a65e73230a57d3",
"patch": "--- docs/requirements.txt\n+++ docs/requirements.txt\n@@ -16,4 +16,4 @@\n scipy\n six\n sphinx_rtd_theme\n-statsmodels\n+statsmodels\n\\ No newline at end of file\n--- requirements.txt\n+++ requirements.txt\n@@ -16,4 +16,4 @@\n scipy\n six\n sphinx_rtd_theme\n-statsmodels\n+statsmodels\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,44 +1,4 @@\n import setuptools\n-\n-with open(\"README.md\", \"r\") as fh:\n+with open('README.md', 'r') as fh:\n long_description = fh.read()\n-\n-setuptools.setup(\n- name=\"causal-curve\",\n- version=\"1.0.6\",\n- author=\"Roni Kobrosly\",\n- author_email=\"roni.kobrosly@gmail.com\",\n- description=\"A python library with tools to perform causal inference using \\\n- observational data when the treatment of interest is continuous.\",\n- long_description=long_description,\n- long_description_content_type=\"text/markdown\",\n- url=\"https://github.com/ronikobrosly/causal-curve\",\n- packages=setuptools.find_packages(include=['causal_curve']),\n- classifiers=[\n- \"Programming Language :: Python :: 3\",\n- \"License :: OSI Approved :: MIT License\",\n- \"Operating System :: OS Independent\",\n- ],\n- python_requires='>=3.6',\n- install_requires=[\n- 'black',\n- 'coverage',\n- 'future',\n- 'joblib',\n- 'numpy',\n- 'numpydoc',\n- 'pandas',\n- 'patsy',\n- 'progressbar2',\n- 'pygam',\n- 'pytest',\n- 'python-dateutil',\n- 'python-utils',\n- 'pytz',\n- 'scikit-learn',\n- 'scipy',\n- 'six',\n- 'sphinx_rtd_theme',\n- 'statsmodels'\n- ]\n-)\n+setuptools.setup(name='causal-curve', version='1.0.6', author='Roni Kobrosly', author_email='roni.kobrosly@gmail.com', description='A python library with tools to perform causal inference using observational data when the treatment of interest is continuous.', long_description=long_description, long_description_content_type='text/markdown', url='https://github.com/ronikobrosly/causal-curve', packages=setuptools.find_packages(include=['causal_curve']), classifiers=['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent'], python_requires='>=3.6', install_requires=['black', 'coverage', 'future', 'joblib', 'numpy', 'numpydoc', 'pandas', 'patsy', 'progressbar2', 'pygam', 'pytest', 'python-dateutil', 'python-utils', 'pytz', 'scikit-learn', 'scipy', 'six', 'sphinx_rtd_theme', 'statsmodels'])\n\\ No newline at end of file\n--- setup_ronikobrosly__causal-curve.sh\n+++ setup_ronikobrosly__causal-curve.sh\n@@ -0,0 +1,6 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install -r docs/requirements.txt\n+pip install pytest\n--- test_ronikobrosly__causal-curve.sh\n+++ test_ronikobrosly__causal-curve.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- causal_curve/gps_classifier.py\n+++ causal_curve/gps_classifier.py\n@@ -121,6 +121,6 @@\n \"\"\"\n return logit(\n self.gam_results.predict_proba(\n- np.array([T, self.gps_function(T).mean()]).reshape(1, -1)\n+ np.array([T, self.gps_function(T).mean()], dtype=\"object\").reshape(1, -1)\n )\n )\n--- causal_curve/gps_regressor.py\n+++ causal_curve/gps_regressor.py\n@@ -117,7 +117,7 @@\n in the case of a continuous outcome.\n \"\"\"\n return self.gam_results.predict(\n- np.array([T, self.gps_function(T).mean()]).reshape(1, -1)\n+ np.array([T, self.gps_function(T).mean()], dtype=\"object\").reshape(1, -1)\n )\n \n def point_estimate_interval(self, T, ci=0.95):\n@@ -154,5 +154,5 @@\n associated with a point estimate in the case of a continuous outcome.\n \"\"\"\n return self.gam_results.prediction_intervals(\n- np.array([T, self.gps_function(T).mean()]).reshape(1, -1), width=width\n+ np.array([T, self.gps_function(T).mean()], dtype=\"object\").reshape(1, -1), width=width\n )\n",
"reproduction_target_date": "2022-04-20",
"reproduction_target_version": "3.10.4",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY ronikobrosly__causal-curve .\n\nRUN bash /work/setup_ronikobrosly__causal-curve.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_ronikobrosly__causal-curve.sh\"]\n",
"version_source": "setup.py",
"script_source": "requirements.txt",
"dependency_versions": "alabaster==1.0.0\nbabel==2.17.0\nblack==25.1.0\ncertifi==2025.7.14\ncharset-normalizer==3.4.2\nclick==8.2.1\ncoverage==7.10.1\ndocutils==0.21.2\nfuture==1.0.0\nidna==3.10\nimagesize==1.4.1\niniconfig==2.1.0\nJinja2==3.1.6\njoblib==1.5.1\nMarkupSafe==3.0.2\nmypy_extensions==1.1.0\nnumpy==2.3.2\nnumpydoc==1.9.0\npackaging==25.0\npandas==2.3.1\npathspec==0.12.1\npatsy==1.0.1\nplatformdirs==4.3.8\npluggy==1.6.0\nprogressbar2==4.5.0\npygam==0.10.1\nPygments==2.19.2\npytest==8.4.1\npython-dateutil==2.9.0.post0\npython-utils==3.9.1\npytz==2025.2\nrequests==2.32.4\nroman-numerals-py==3.1.0\nscikit-learn==1.7.1\nscipy==1.16.1\nsix==1.17.0\nsnowballstemmer==3.0.1\nSphinx==8.2.3\nsphinx-rtd-theme==3.0.2\nsphinxcontrib-applehelp==2.0.0\nsphinxcontrib-devhelp==2.0.0\nsphinxcontrib-htmlhelp==2.1.0\nsphinxcontrib-jquery==4.1\nsphinxcontrib-jsmath==1.0.1\nsphinxcontrib-qthelp==2.0.0\nsphinxcontrib-serializinghtml==2.0.0\nstatsmodels==0.14.5\nthreadpoolctl==3.6.0\ntyping_extensions==4.14.1\ntzdata==2025.2\nurllib3==2.5.0\n",
"test_type": "pytest",
"test_files": "tests/unit/test_core.py, tests/integration/test_tmle.py, tests/unit/test_gps_core.py, tests/integration/test_mediation.py, tests/integration/test_gps.py, tests/unit/test_gps_regressor.py, tests/unit/test_tmle_core.py, tests/unit/test_tmle_regressor.py, tests/unit/test_mediation.py, tests/unit/test_gps_classifier.py",
"test_count": 122,
"related_modules": "numpy",
"py_file_count": 25,
"total_loc_python": 3620,
"difficulty": "Medium",
"license": "MIT"
},
{
"repo_name": "lockepatton/sonipy",
"repo_url": "https://github.com/lockepatton/sonipy",
"commit_hash": "edc9015cad24a5598a06ccfffa5b42c061811c13",
"patch": "--- setup.py\n+++ setup.py\n@@ -1,24 +1,4 @@\n import setuptools\n-\n with open('README.md', 'r') as fh:\n long_description = fh.read()\n-\n-setuptools.setup(\n- name='sonipy',\n- version='1.1',\n- author='Locke Patton',\n- author_email='locke.patton@cfa.harvard.edu',\n- description='Sonification of 2D plots',\n- long_description=long_description,\n- long_description_content_type='text/markdown',\n- url='https://github.com/lockepatton/sonipy',\n- packages=setuptools.find_packages(),\n- classifiers=[\n- 'Programming Language :: Python :: 3.6',\n- 'Programming Language :: Python :: 3.7',\n- 'Programming Language :: Python :: 3.8',\n- 'Programming Language :: Python :: 3.9',\n- 'License :: OSI Approved :: MIT License',\n- 'Operating System :: OS Independent',\n- ],\n- install_requires=['numpy>=1.16.5', 'matplotlib', 'seaborn', 'pandas', 'scipy', 'pydub','IPython'])\n+setuptools.setup(name='sonipy', version='1.1', author='Locke Patton', author_email='locke.patton@cfa.harvard.edu', description='Sonification of 2D plots', long_description=long_description, long_description_content_type='text/markdown', url='https://github.com/lockepatton/sonipy', packages=setuptools.find_packages(), classifiers=['Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent'], install_requires=['numpy', 'matplotlib', 'seaborn', 'pandas', 'scipy', 'pydub', 'IPython'])\n\\ No newline at end of file\n--- setup_lockepatton__sonipy.sh\n+++ setup_lockepatton__sonipy.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install .\n+pip install pytest\n--- test_lockepatton__sonipy.sh\n+++ test_lockepatton__sonipy.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- sonipy/thinkdsp.py\n+++ sonipy/thinkdsp.py\n@@ -79,7 +79,7 @@\n wave: Wave\n \"\"\"\n zs = wave.quantize(self.bound, self.dtype)\n- self.fp.writeframes(zs.tostring())\n+ self.fp.writeframes(zs.tobytes())\n \n def close(self, duration=0):\n \"\"\"Closes the file.\n",
"reproduction_target_date": "2021-06-21",
"reproduction_target_version": "3.9.5",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY lockepatton__sonipy .\n\nRUN bash /work/setup_lockepatton__sonipy.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_lockepatton__sonipy.sh\"]\n",
"version_source": "setup.py",
"script_source": "setup.py",
"dependency_versions": "asttokens==3.0.0\ncontourpy==1.3.3\ncycler==0.12.1\ndecorator==5.2.1\nexecuting==2.2.0\nfonttools==4.59.0\niniconfig==2.1.0\nipython==9.4.0\nipython_pygments_lexers==1.1.1\njedi==0.19.2\nkiwisolver==1.4.8\nmatplotlib==3.10.3\nmatplotlib-inline==0.1.7\nnumpy==2.3.2\npackaging==25.0\npandas==2.3.1\nparso==0.8.4\npexpect==4.9.0\npillow==11.3.0\npluggy==1.6.0\nprompt_toolkit==3.0.51\nptyprocess==0.7.0\npure_eval==0.2.3\npydub==0.25.1\nPygments==2.19.2\npyparsing==3.2.3\npytest==8.4.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nscipy==1.16.1\nseaborn==0.13.2\nsix==1.17.0\nsonipy @ file:///work\nstack-data==0.6.3\ntraitlets==5.14.3\ntzdata==2025.2\nwcwidth==0.2.13\n",
"test_type": "pytest",
"test_files": "tests/test_visualisation.py, tests/test_frequency.py, tests/test_durations.py, tests/test_sonify.py, tests/test_thinkdsp.py",
"test_count": 47,
"related_modules": "numpy",
"py_file_count": 15,
"total_loc_python": 2162,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "mscroggs/CEEFAX",
"repo_url": "https://github.com/mscroggs/CEEFAX",
"commit_hash": "8e7a075de1809064b77360da24ebbbaa409c3bf2",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1 +1 @@\n-numpy\n+numpy\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,30 +1,8 @@\n import os\n from setuptools import setup\n-\n-os.system(\"cp VERSION LICENSE.txt contributors.txt ceefax/\")\n-\n-with open(\"README.md\") as f:\n+os.system('cp VERSION LICENSE.txt contributors.txt ceefax/')\n+with open('README.md') as f:\n long_description = f.read()\n-\n-with open(\"VERSION\") as f:\n+with open('VERSION') as f:\n v = f.read()\n-\n-setup(\n- name='ceefax',\n- version=v,\n- description='CEEFAX core',\n- license=\"MIT\",\n- long_description=long_description,\n- long_description_content_type=\"text/markdown\",\n- author='Matthew Scroggs',\n- author_email='ceefax@mscroggs.co.uk',\n- url=\"http://www.github.com/mscroggs/CEEFAX\",\n- packages=['ceefax', 'ceefax.ceefax', 'ceefax.ceegraph', 'ceefax.cupt',\n- 'ceefax.error', 'ceefax.fonts', 'ceefax.functions', 'ceefax.helpers',\n- 'ceefax.page', 'ceefax.pages',\n- 'ceefax.fonts.size4bold', 'ceefax.fonts.size7',\n- 'ceefax.fonts.size7extracondensed', 'ceefax.fonts.size4',\n- 'ceefax.fonts.size4mono', 'ceefax.fonts.size7condensed'],\n- package_data={'': ['VERSION', 'LICENSE.txt', 'contributors.txt']},\n- include_package_data=True,\n-)\n+setup(name='ceefax', version=v, description='CEEFAX core', license='MIT', long_description=long_description, long_description_content_type='text/markdown', author='Matthew Scroggs', author_email='ceefax@mscroggs.co.uk', url='http://www.github.com/mscroggs/CEEFAX', packages=['ceefax', 'ceefax.ceefax', 'ceefax.ceegraph', 'ceefax.cupt', 'ceefax.error', 'ceefax.fonts', 'ceefax.functions', 'ceefax.helpers', 'ceefax.page', 'ceefax.pages', 'ceefax.fonts.size4bold', 'ceefax.fonts.size7', 'ceefax.fonts.size7extracondensed', 'ceefax.fonts.size4', 'ceefax.fonts.size4mono', 'ceefax.fonts.size7condensed'], package_data={'': ['VERSION', 'LICENSE.txt', 'contributors.txt']}, include_package_data=True)\n\\ No newline at end of file\n--- setup_mscroggs__CEEFAX.sh\n+++ setup_mscroggs__CEEFAX.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_mscroggs__CEEFAX.sh\n+++ test_mscroggs__CEEFAX.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- ceefax/page/PageManager.py\n+++ ceefax/page/PageManager.py\n@@ -8,10 +8,7 @@\n from ceefax.error.exceptions import ConfigError, PageError, TimeUp\n import traceback\n \n-try:\n- from imp import reload\n-except:\n- pass\n+from importlib import reload\n \n \n def alarm(signum, frame):\n",
"reproduction_target_date": "2021-02-16",
"reproduction_target_version": "3.8.7",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY mscroggs__CEEFAX .\n\nRUN bash /work/setup_mscroggs__CEEFAX.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_mscroggs__CEEFAX.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "iniconfig==2.1.0\nnumpy==2.3.2\npackaging==25.0\npluggy==1.6.0\nPygments==2.19.2\npytest==8.4.1\n",
"test_type": "pytest",
"test_files": "test/test_pages.py, test/test_time.py, test/test_fonts.py",
"test_count": 14,
"related_modules": "builtin",
"py_file_count": 52,
"total_loc_python": 5566,
"difficulty": "Medium",
"license": "MIT"
},
{
"repo_name": "brmc/shortbus",
"repo_url": "https://github.com/brmc/shortbus",
"commit_hash": "965dbfbc30bc2d8685e8ca42e7ded9cd11f3fdbb",
"patch": "--- requirements_dev.txt\n+++ requirements_dev.txt\n@@ -1,10 +1,9 @@\n-pip==9.0.1\n-bumpversion==0.5.3\n-wheel==0.29.0\n-watchdog==0.8.3\n-flake8==2.6.0\n-tox==2.3.1\n-coverage==4.1\n-Sphinx==1.5.2\n-\n+pip\n+bumpversion\n+wheel\n+watchdog\n+flake8\n+tox\n+coverage\n+Sphinx\n \n--- setup.py\n+++ setup.py\n@@ -1,46 +1,8 @@\n-#!/usr/bin/env python\n-# -*- coding: utf-8 -*-\n-\n from setuptools import setup\n-\n with open('README.rst') as readme_file:\n readme = readme_file.read()\n-\n with open('HISTORY.rst') as history_file:\n history = history_file.read()\n-\n-requirements = [\n- 'pyyaml',\n- 'lxml'\n-]\n-\n+requirements = ['pyyaml', 'lxml']\n test_requirements = []\n-\n-setup(\n- name='shortbus',\n- version='0.2.2',\n- description=\"Tools to convert Sublime Text snippets into Jetbrains live templates and vice versa\",\n- long_description=readme + '\\n\\n' + history,\n- author=\"Brian McClure\",\n- author_email='brian@mcclure.pw',\n- url='https://github.com/brmc/shortbus',\n- packages=[\n- 'shortbus',\n- ],\n- package_dir={'shortbus':\n- 'shortbus'},\n- include_package_data=True,\n- install_requires=requirements,\n- license=\"MIT license\",\n- zip_safe=False,\n- keywords='shortbus',\n- classifiers=[\n- 'Development Status :: 2 - Pre-Alpha',\n- 'Intended Audience :: Developers',\n- 'License :: OSI Approved :: MIT License',\n- 'Natural Language :: English',\n- 'Programming Language :: Python :: 3.6',\n- ],\n- test_suite='tests',\n- tests_require=test_requirements\n-)\n+setup(name='shortbus', version='0.2.2', description='Tools to convert Sublime Text snippets into Jetbrains live templates and vice versa', long_description=readme + '\\n\\n' + history, author='Brian McClure', author_email='brian@mcclure.pw', url='https://github.com/brmc/shortbus', packages=['shortbus'], package_dir={'shortbus': 'shortbus'}, include_package_data=True, install_requires=requirements, license='MIT license', zip_safe=False, keywords='shortbus', classifiers=['Development Status :: 2 - Pre-Alpha', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Programming Language :: Python :: 3.6'], test_suite='tests', tests_require=test_requirements)\n\\ No newline at end of file\n--- setup_brmc__shortbus.sh\n+++ setup_brmc__shortbus.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install -r requirements_dev.txt\n--- test_brmc__shortbus.sh\n+++ test_brmc__shortbus.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest tests.test_transpiler\n",
"test_patch": "",
"gold_patch": "--- shortbus/components.py\n+++ shortbus/components.py\n@@ -2,7 +2,8 @@\n # -*- coding: utf-8 -*-\n import re\n import warnings\n-from collections import OrderedDict, Callable\n+from collections import OrderedDict\n+from collections.abc import Callable\n from functools import wraps\n from typing import Tuple, List\n from xml import etree\n",
"reproduction_target_date": "2018-01-04",
"reproduction_target_version": "3.6.4",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY brmc__shortbus .\n\nRUN bash /work/setup_brmc__shortbus.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_brmc__shortbus.sh\"]\n",
"version_source": "setup.py",
"script_source": "requirements.txt",
"dependency_versions": "alabaster==1.0.0\nbabel==2.17.0\nbump2version==1.0.1\nbumpversion==0.6.0\ncachetools==6.1.0\ncertifi==2025.7.14\nchardet==5.2.0\ncharset-normalizer==3.4.2\ncolorama==0.4.6\ncoverage==7.10.1\ndistlib==0.4.0\ndocutils==0.21.2\nfilelock==3.18.0\nflake8==7.3.0\nidna==3.10\nimagesize==1.4.1\nJinja2==3.1.6\nlxml==6.0.0\nMarkupSafe==3.0.2\nmccabe==0.7.0\npackaging==25.0\nplatformdirs==4.3.8\npluggy==1.6.0\npycodestyle==2.14.0\npyflakes==3.4.0\nPygments==2.19.2\npyproject-api==1.9.1\nPyYAML==6.0.2\nrequests==2.32.4\nroman-numerals-py==3.1.0\nsnowballstemmer==3.0.1\nSphinx==8.2.3\nsphinxcontrib-applehelp==2.0.0\nsphinxcontrib-devhelp==2.0.0\nsphinxcontrib-htmlhelp==2.1.0\nsphinxcontrib-jsmath==1.0.1\nsphinxcontrib-qthelp==2.0.0\nsphinxcontrib-serializinghtml==2.0.0\ntox==4.28.3\nurllib3==2.5.0\nvirtualenv==20.32.0\nwatchdog==6.0.0\nwheel==0.45.1\n",
"test_type": "unittest",
"test_files": "tests/test_transpiler.py",
"test_count": 7,
"related_modules": "builtin",
"py_file_count": 9,
"total_loc_python": 1028,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "clbarnes/h5py_like",
"repo_url": "https://github.com/clbarnes/h5py_like",
"commit_hash": "6a1e23ce7337882de2dff16558e3640af305d790",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,11 +1,11 @@\n-numpy==1.20.3\n-pytest==6.2.4\n-h5py==3.2.1\n-setuptools==57.0.0\n-wheel==0.36.2\n-twine==3.4.1\n-pre-commit==2.13.0\n-flake8==3.9.2\n-bump2version==1.0.1\n-black==21.5b2\n-tox==3.23.1\n+numpy\n+pytest\n+h5py\n+setuptools\n+wheel\n+twine\n+pre-commit\n+flake8\n+bump2version\n+black\n+tox\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,33 +1,5 @@\n from setuptools import find_packages, setup\n-\n-\n-with open(\"README.md\") as f:\n+with open('README.md') as f:\n readme = f.read()\n-\n-extras = {\"test\": [\"pytest>=4.6.3\"]}\n-\n-setup(\n- author=\"Chris Lloyd Barnes\",\n- author_email=\"barnesc@janelia.hhmi.org\",\n- classifiers=[\n- \"Development Status :: 2 - Pre-Alpha\",\n- \"Intended Audience :: Developers\",\n- \"License :: OSI Approved :: MIT License\",\n- \"Natural Language :: English\",\n- \"Programming Language :: Python :: 3.8\",\n- \"Programming Language :: Python :: 3.7\",\n- ],\n- description=\"Abstract base classes for making h5py-like objects.\",\n- install_requires=[\"numpy\"],\n- license=\"MIT license\",\n- long_description=readme,\n- long_description_content_type=\"text/markdown\",\n- include_package_data=True,\n- extras_require=extras,\n- keywords=\"h5py\",\n- name=\"h5py_like\",\n- packages=find_packages(exclude=[\"tests\"]),\n- url=\"https://github.com/clbarnes/h5py_like\",\n- version=\"0.6.0\",\n- zip_safe=False,\n-)\n+extras = {'test': ['pytest>=4.6.3']}\n+setup(author='Chris Lloyd Barnes', author_email='barnesc@janelia.hhmi.org', classifiers=['Development Status :: 2 - Pre-Alpha', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.7'], description='Abstract base classes for making h5py-like objects.', install_requires=['numpy'], license='MIT license', long_description=readme, long_description_content_type='text/markdown', include_package_data=True, extras_require=extras, keywords='h5py', name='h5py_like', packages=find_packages(exclude=['tests']), url='https://github.com/clbarnes/h5py_like', version='0.6.0', zip_safe=False)\n\\ No newline at end of file\n--- setup_clbarnes__h5py_like.sh\n+++ setup_clbarnes__h5py_like.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_clbarnes__h5py_like.sh\n+++ test_clbarnes__h5py_like.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "--- tests/test_shape_utils.py\n+++ tests/test_shape_utils.py\n@@ -168,7 +168,7 @@\n assert isinstance(chunks, tuple)\n assert len(chunks) == len(shape)\n assert all([0 < c <= max(s, 1) for c, s in zip(chunks, shape)])\n- bytes_per_chunk = typesize * np.product(chunks)\n+ bytes_per_chunk = typesize * np.prod(chunks)\n assert bytes_per_chunk < CHUNK_MAX\n \n \n",
"gold_patch": "--- h5py_like/shape_utils.py\n+++ h5py_like/shape_utils.py\n@@ -332,7 +332,7 @@\n \n # Determine the optimal chunk size in bytes using a PyTables expression.\n # This is kept as a float.\n- dset_size = np.product(chunks) * typesize\n+ dset_size = np.prod(chunks) * typesize\n target_size = CHUNK_BASE * (2 ** np.log10(dset_size / (1024.0 * 1024)))\n \n if target_size > CHUNK_MAX:\n@@ -347,7 +347,7 @@\n # 1b. We're within 50% of the target chunk size, AND\n # 2. The chunk is smaller than the maximum chunk size\n \n- chunk_bytes = np.product(chunks) * typesize\n+ chunk_bytes = np.prod(chunks) * typesize\n \n if (\n chunk_bytes < target_size\n@@ -355,7 +355,7 @@\n ) and chunk_bytes < CHUNK_MAX:\n break\n \n- if np.product(chunks) == 1:\n+ if np.prod(chunks) == 1:\n break # Element size larger than CHUNK_MAX\n \n chunks[idx % ndims] = np.ceil(chunks[idx % ndims] / 2.0)\n--- h5py_like/test_utils/dataset.py\n+++ h5py_like/test_utils/dataset.py\n@@ -112,7 +112,7 @@\n def test_threaded_read(self, file_, threads):\n shape = (20, 20)\n chunks = (10, 10)\n- data = np.arange(np.product(shape), dtype=int).reshape(shape)\n+ data = np.arange(np.prod(shape), dtype=int).reshape(shape)\n ds = self.dataset(file_, data, chunks=chunks)\n ds.threads = threads\n \n",
"reproduction_target_date": "2021-06-07",
"reproduction_target_version": "3.8.10",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY clbarnes__h5py_like .\n\nRUN bash /work/setup_clbarnes__h5py_like.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_clbarnes__h5py_like.sh\"]\n",
"version_source": "setup.py",
"script_source": "requirements.txt",
"dependency_versions": "black==25.1.0\nbump2version==1.0.1\ncachetools==6.1.0\ncertifi==2025.7.14\ncffi==1.17.1\ncfgv==3.4.0\nchardet==5.2.0\ncharset-normalizer==3.4.2\nclick==8.2.1\ncolorama==0.4.6\ncryptography==45.0.5\ndistlib==0.4.0\ndocutils==0.22\nfilelock==3.18.0\nflake8==7.3.0\nh5py==3.14.0\nid==1.5.0\nidentify==2.6.12\nidna==3.10\niniconfig==2.1.0\njaraco.classes==3.4.0\njaraco.context==6.0.1\njaraco.functools==4.2.1\njeepney==0.9.0\nkeyring==25.6.0\nmarkdown-it-py==3.0.0\nmccabe==0.7.0\nmdurl==0.1.2\nmore-itertools==10.7.0\nmypy_extensions==1.1.0\nnh3==0.3.0\nnodeenv==1.9.1\nnumpy==2.3.2\npackaging==25.0\npathspec==0.12.1\nplatformdirs==4.3.8\npluggy==1.6.0\npre_commit==4.2.0\npycodestyle==2.14.0\npycparser==2.22\npyflakes==3.4.0\nPygments==2.19.2\npyproject-api==1.9.1\npytest==8.4.1\nPyYAML==6.0.2\nreadme_renderer==44.0\nrequests==2.32.4\nrequests-toolbelt==1.0.0\nrfc3986==2.0.0\nrich==14.1.0\nSecretStorage==3.3.3\nsetuptools==80.9.0\ntox==4.28.3\ntwine==6.1.0\nurllib3==2.5.0\nvirtualenv==20.32.0\nwheel==0.45.1\n",
"test_type": "pytest",
"test_files": "tests/test_subclasses.py, tests/test_shape_utils.py",
"test_count": 141,
"related_modules": "numpy",
"py_file_count": 20,
"total_loc_python": 2248,
"difficulty": "Medium",
"license": "MIT"
},
{
"repo_name": "exa-analytics/exa",
"repo_url": "https://github.com/exa-analytics/exa",
"commit_hash": "ff3ae2b0eb646b76ac2fd39203a3907e8b4e2f54",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,10 +1,10 @@\n-numba>=0.50\n-numpy>=1.0\n-pandas>=1.0.5\n-networkx>=2.0\n-matplotlib>=3.0\n-pytest>=5.0\n-seaborn>=0.10\n-sympy>=1.5\n-tables>=3.6\n-PyYAML>=3.0\n+numba\n+numpy\n+pandas\n+networkx\n+matplotlib\n+pytest\n+seaborn\n+sympy\n+tables\n+PyYAML\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,48 +1,18 @@\n-#!/usr/bin/env python\n import os\n from setuptools import setup, find_packages\n-\n-\n-NAME = \"exa\"\n-DESCRIPTION = \"A framework for data engineering and science\"\n-STATIC = \"static\"\n-README = \"README.md\"\n-REQUIREMENTS = \"requirements.txt\"\n+NAME = 'exa'\n+DESCRIPTION = 'A framework for data engineering and science'\n+STATIC = 'static'\n+README = 'README.md'\n+REQUIREMENTS = 'requirements.txt'\n try:\n import pypandoc\n- LONG_DESCRIPTION = pypandoc.convert_file(README, \"rst\")\n+ LONG_DESCRIPTION = pypandoc.convert_file(README, 'rst')\n except ImportError:\n with open(README) as f:\n LONG_DESCRIPTION = f.read()\n with open(REQUIREMENTS) as f:\n DEPENDENCIES = f.read().splitlines()\n-with open(os.path.abspath(os.path.join(os.path.dirname(__file__), \"exa\", \"static\", \"version.txt\"))) as f:\n+with open(os.path.abspath(os.path.join(os.path.dirname(__file__), 'exa', 'static', 'version.txt'))) as f:\n __version__ = f.read().strip()\n-\n-\n-setup(\n- name=NAME,\n- version=__version__,\n- description=DESCRIPTION,\n- long_description=LONG_DESCRIPTION,\n- package_data={NAME: [STATIC + \"/*\"]},\n- include_package_data=True,\n- install_requires=DEPENDENCIES,\n- packages=find_packages(),\n- zip_safe=False,\n- license=\"Apache License Version 2.0\",\n- author=\"The Exa Analytics development team\",\n- author_email=\"exa.data.analytics@gmail.com\",\n- project_urls={\n- \"Bug Tracker\": \"https://github.com/exa-analytics/exa/issues\",\n- \"Documentation\": \"https://exa-analytics.github.io/exa/\",\n- \"Source Code\": \"https://github.com/exa-analytics/exa\"\n- },\n- classifiers=[\n- \"Intended Audience :: Developers\",\n- \"Intended Audience :: Science/Research\",\n- \"License :: OSI Approved :: Apache Software License\",\n- \"Programming Language :: Python :: 3\",\n- \"Natural Language :: English\"\n- ]\n-)\n+setup(name=NAME, version=__version__, description=DESCRIPTION, long_description=LONG_DESCRIPTION, package_data={NAME: [STATIC + '/*']}, include_package_data=True, install_requires=DEPENDENCIES, packages=find_packages(), zip_safe=False, license='Apache License Version 2.0', author='The Exa Analytics development team', author_email='exa.data.analytics@gmail.com', project_urls={'Bug Tracker': 'https://github.com/exa-analytics/exa/issues', 'Documentation': 'https://exa-analytics.github.io/exa/', 'Source Code': 'https://github.com/exa-analytics/exa'}, classifiers=['Intended Audience :: Developers', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: Python :: 3', 'Natural Language :: English'])\n\\ No newline at end of file\n--- setup_exa-analytics__exa.sh\n+++ setup_exa-analytics__exa.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_exa-analytics__exa.sh\n+++ test_exa-analytics__exa.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- exa/core/editor.py\n+++ exa/core/editor.py\n@@ -297,7 +297,7 @@\n Returns:\n pd.DataFrame: structured data\n \"\"\"\n- if isinstance(ncol, (int, np.int, np.int64, np.int32)):\n+ if isinstance(ncol, (int, np.int64, np.int32)):\n return pd.read_csv(io.StringIO('\\n'.join(self[start:stop])), delim_whitespace=True, names=range(ncol), **kwargs)\n else:\n return pd.read_csv(io.StringIO('\\n'.join(self[start:stop])), delim_whitespace=True, names=ncol, **kwargs)\n",
"reproduction_target_date": "2020-11-06",
"reproduction_target_version": "3.8.6",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY exa-analytics__exa .\n\nRUN bash /work/setup_exa-analytics__exa.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_exa-analytics__exa.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "blosc2==3.6.1\ncertifi==2025.7.14\ncharset-normalizer==3.4.2\ncontourpy==1.3.3\ncycler==0.12.1\nfonttools==4.59.0\nidna==3.10\niniconfig==2.1.0\nkiwisolver==1.4.8\nllvmlite==0.44.0\nmatplotlib==3.10.3\nmpmath==1.3.0\nmsgpack==1.1.1\nndindex==1.10.0\nnetworkx==3.5\nnumba==0.61.2\nnumexpr==2.11.0\nnumpy==2.2.6\npackaging==25.0\npandas==2.3.1\npillow==11.3.0\nplatformdirs==4.3.8\npluggy==1.6.0\npy-cpuinfo==9.0.0\nPygments==2.19.2\npyparsing==3.2.3\npytest==8.4.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nPyYAML==6.0.2\nrequests==2.32.4\nseaborn==0.13.2\nsix==1.17.0\nsympy==1.14.0\ntables==3.10.2\ntyping_extensions==4.14.1\ntzdata==2025.2\nurllib3==2.5.0\n",
"test_type": "pytest",
"test_files": "exa/tests/test_typed.py, exa/util/tests/test_conversions.py, exa/tests/test_static.py, exa/util/tests/test_io.py, exa/core/tests/test_container.py, exa/util/tests/test_isotopes.py, exa/core/tests/test_numerical.py, exa/util/tests/test_units.py, exa/core/tests/test_error.py, exa/util/tests/test_constants.py, exa/core/tests/test_editor.py, exa/util/tests/test_utility.py, exa/util/tests/test_nbvars.py",
"test_count": 67,
"related_modules": "numpy",
"py_file_count": 36,
"total_loc_python": 3950,
"difficulty": "Easy",
"license": "Apache-2.0"
},
{
"repo_name": "mixkorshun/django-antispam",
"repo_url": "https://github.com/mixkorshun/django-antispam",
"commit_hash": "e0c74984423486ed5b89d0a86be5191af2b0efcc",
"patch": "--- setup.py\n+++ setup.py\n@@ -1,47 +1,2 @@\n from setuptools import setup, find_packages\n-\n-setup(\n- name='django-antispam',\n- version='1.0.3',\n- url='https://github.com/mixkorshun/django-antispam',\n- description='Anti-spam protection tools for django applications.',\n- keywords=['anti-spam', 'antispam', 'spam'],\n-\n- long_description=open('README.rst', 'r').read(),\n-\n- author='Vladislav Bakin',\n- author_email='mixkorshun@gmail.com',\n- maintainer='Vladislav Bakin',\n- maintainer_email='mixkorshun@gmail.com',\n-\n- license='MIT',\n-\n- install_requires=[\n- 'django',\n-\n- 'python-akismet',\n- ],\n-\n- tests_require=[\n- 'mock~=3.0',\n- ],\n-\n- packages=find_packages(exclude=['tests.*', 'tests']),\n-\n- test_suite='tests',\n-\n- classifiers=[\n- 'Development Status :: 5 - Production/Stable',\n- 'Intended Audience :: Developers',\n- 'Environment :: Web Environment',\n- 'Framework :: Django',\n- 'Natural Language :: English',\n- 'License :: OSI Approved :: MIT License',\n- 'Programming Language :: Python',\n- 'Programming Language :: Python :: 3',\n- 'Programming Language :: Python :: 3.4',\n- 'Programming Language :: Python :: 3.5',\n- 'Programming Language :: Python :: 3.6',\n- 'Programming Language :: Python :: 3.7',\n- ],\n-)\n+setup(name='django-antispam', version='1.0.3', url='https://github.com/mixkorshun/django-antispam', description='Anti-spam protection tools for django applications.', keywords=['anti-spam', 'antispam', 'spam'], long_description=open('README.rst', 'r').read(), author='Vladislav Bakin', author_email='mixkorshun@gmail.com', maintainer='Vladislav Bakin', maintainer_email='mixkorshun@gmail.com', license='MIT', install_requires=['django', 'python-akismet'], tests_require=['mock'], packages=find_packages(exclude=['tests.*', 'tests']), test_suite='tests', classifiers=['Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Environment :: Web Environment', 'Framework :: Django', 'Natural Language :: English', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7'])\n\\ No newline at end of file\n--- setup_mixkorshun__django-antispam.sh\n+++ setup_mixkorshun__django-antispam.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install .\n+pip install mock~=3.0\n--- test_mixkorshun__django-antispam.sh\n+++ test_mixkorshun__django-antispam.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest tests.akismet.test_entities tests.akismet.test_client tests.akismet.test_utils tests.captcha.test_forms tests.captcha.test_widgets tests.captcha.test_templatetags tests.honeypot.test_forms tests.honeypot.test_widgets\n",
"test_patch": "",
"gold_patch": "--- antispam/captcha/forms.py\n+++ antispam/captcha/forms.py\n@@ -3,7 +3,7 @@\n from django.conf import settings\n from django.core.exceptions import ValidationError\n from django.utils.module_loading import import_string\n-from django.utils.translation import ugettext_lazy as _\n+from django.utils.translation import gettext_lazy as _\n \n from . import default_settings\n \n--- antispam/honeypot/forms.py\n+++ antispam/honeypot/forms.py\n@@ -1,6 +1,6 @@\n from django import forms\n from django.core.exceptions import ValidationError\n-from django.utils.translation import ugettext_lazy as _\n+from django.utils.translation import gettext_lazy as _\n \n from .widgets import HoneypotInput\n \n",
"reproduction_target_date": "2020-05-25",
"reproduction_target_version": "3.7.7",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY mixkorshun__django-antispam .\n\nRUN bash /work/setup_mixkorshun__django-antispam.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_mixkorshun__django-antispam.sh\"]\n",
"version_source": "setup.py",
"script_source": "setup.py",
"dependency_versions": "asgiref==3.9.1\ncertifi==2025.7.14\ncharset-normalizer==3.4.2\nDjango==5.2.4\ndjango-antispam @ file:///work\nidna==3.10\nmock==3.0.5\npython-akismet==0.4.3\nrequests==2.32.4\nsix==1.17.0\nsqlparse==0.5.3\nurllib3==2.5.0\n",
"test_type": "unittest",
"test_files": "tests/captcha/test_widgets.py, tests/captcha/test_templatetags.py, tests/honeypot/test_widgets.py, tests/akismet/test_utils.py, tests/captcha/test_forms.py, tests/akismet/test_client.py, tests/honeypot/test_forms.py, tests/akismet/test_entities.py",
"test_count": 34,
"related_modules": "Django",
"py_file_count": 29,
"total_loc_python": 1062,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "exleym/Flask-Filter",
"repo_url": "https://github.com/exleym/Flask-Filter",
"commit_hash": "28ee1bde0b91d18c5eceb46929ecfc3af19722c6",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,49 +1,49 @@\n-alabaster==0.7.12\n-atomicwrites==1.3.0\n-attrs==19.3.0\n-Babel==2.10.3\n-bleach==5.0.1\n-certifi==2018.11.29\n-chardet==3.0.4\n-charset-normalizer==2.1.1\n-click==8.1.3\n-coverage==4.5.4\n-docutils==0.14\n-Flask==2.2.2\n-flask-marshmallow==0.9.0\n-Flask-SQLAlchemy==2.5.1\n-idna==2.8\n-imagesize==1.1.0\n-importlib-metadata==4.12.0\n-iniconfig==1.1.1\n-itsdangerous==2.1.2\n-Jinja2==3.1.2\n-MarkupSafe==2.1.1\n-marshmallow==3.2.0\n-marshmallow-sqlalchemy==0.15.0\n-more-itertools==7.2.0\n-packaging==18.0\n-pkginfo==1.5.0.1\n-pluggy==0.13.0\n-py==1.11.0\n-Pygments==2.13.0\n-pyparsing==2.3.0\n-pytest==7.1.3\n-pytest-cov==2.8.1\n-pytz==2018.7\n-readme-renderer==24.0\n-requests==2.28.1\n-requests-toolbelt==0.9.1\n-six==1.11.0\n-snowballstemmer==1.2.1\n-Sphinx==1.8.2\n-sphinxcontrib-websupport==1.1.0\n-SQLAlchemy==1.3.19\n-tomli==2.0.1\n-tqdm==4.36.1\n-twine==2.0.0\n-urllib3==1.26.5\n-wcwidth==0.1.7\n-webencodings==0.5.1\n-Werkzeug==2.2.2\n-zipp==0.6.0\n+alabaster\n+atomicwrites\n+attrs\n+Babel\n+bleach\n+certifi\n+chardet\n+charset-normalizer\n+click\n+coverage\n+docutils\n+Flask\n+flask-marshmallow\n+Flask-SQLAlchemy\n+idna\n+imagesize\n+importlib-metadata\n+iniconfig\n+itsdangerous\n+Jinja2\n+MarkupSafe\n+marshmallow\n+marshmallow-sqlalchemy\n+more-itertools\n+packaging\n+pkginfo\n+pluggy\n+py\n+Pygments\n+pyparsing\n+pytest\n+pytest-cov\n+pytz\n+readme-renderer\n+requests\n+requests-toolbelt\n+six\n+snowballstemmer\n+Sphinx\n+sphinxcontrib-websupport\n+SQLAlchemy\n+tomli\n+tqdm\n+twine\n+urllib3\n+wcwidth\n+webencodings\n+Werkzeug\n+zipp\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,17 +1,2 @@\n-\n from setuptools import find_packages, setup\n-\n-setup(\n- name='Flask-Filter',\n- version='0.1.1',\n- author=\"Exley McCormick\",\n- author_email=\"exleym@gmail.com\",\n- description=\"A Flask extension for creating standard resource searches\",\n- packages=find_packages(exclude=[\"tests\", \"docs\", \"contrib\"]),\n- license='Creative Commons Attribution-Noncommercial-Share Alike license',\n- long_description=open('README.md').read(),\n- long_description_content_type=\"text/markdown\",\n- url=\"https://github.com/exleym/Flask-Filter \",\n- setup_requires=[\"pytest-runner\"],\n- tests_require=[\"pytest\", \"marshmallow\", \"sqlalchemy\", \"Flask-SQLAlchemy\"],\n-)\n+setup(name='Flask-Filter', version='0.1.1', author='Exley McCormick', author_email='exleym@gmail.com', description='A Flask extension for creating standard resource searches', packages=find_packages(exclude=['tests', 'docs', 'contrib']), license='Creative Commons Attribution-Noncommercial-Share Alike license', long_description=open('README.md').read(), long_description_content_type='text/markdown', url='https://github.com/exleym/Flask-Filter ', setup_requires=['pytest-runner'], tests_require=['pytest', 'marshmallow', 'sqlalchemy', 'Flask-SQLAlchemy'])\n\\ No newline at end of file\n--- setup_exleym__Flask-Filter.sh\n+++ setup_exleym__Flask-Filter.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n--- test_exleym__Flask-Filter.sh\n+++ test_exleym__Flask-Filter.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest tests.test_filter_typecheck tests.test_filter_schema tests.test_flask_filter tests.test_filter tests.test_ordered_search tests.test_query_with_filters\n",
"test_patch": "",
"gold_patch": "--- flask_filter/base.py\n+++ flask_filter/base.py\n@@ -1,5 +1,5 @@\n from flask import Flask\n-from flask_sqlalchemy import Model\n+from flask_sqlalchemy.model import Model\n from marshmallow import Schema\n from typing import Union\n from flask_filter.schemas import deserialize_filters\n--- flask_filter/schemas.py\n+++ flask_filter/schemas.py\n@@ -2,11 +2,12 @@\n import marshmallow as ma\n from marshmallow.exceptions import ValidationError\n from flask_filter.filters import FILTERS\n+from importlib.metadata import version\n \n \n __FILTER_MAP = {c.OP: c for c in FILTERS}\n __VALID_OPERATORS = {x.OP for x in FILTERS}\n-_mm2 = ma.__version_info__[0] == 2\n+_mm2 = int(version(\"marshmallow\").split(\".\")[0]) == 2\n logger = logging.getLogger(__name__)\n \n \n",
"reproduction_target_date": "2022-09-08",
"reproduction_target_version": "3.9.14",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY exleym__Flask-Filter .\n\nRUN bash /work/setup_exleym__Flask-Filter.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_exleym__Flask-Filter.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "alabaster==1.0.0\natomicwrites==1.4.1\nattrs==25.3.0\nbabel==2.17.0\nbleach==6.2.0\nblinker==1.9.0\ncertifi==2025.7.14\ncffi==1.17.1\nchardet==5.2.0\ncharset-normalizer==3.4.2\nclick==8.2.1\ncoverage==7.10.1\ncryptography==45.0.5\ndocutils==0.21.2\nFlask==3.1.1\nflask-marshmallow==1.3.0\nFlask-SQLAlchemy==3.1.1\ngreenlet==3.2.3\nid==1.5.0\nidna==3.10\nimagesize==1.4.1\nimportlib_metadata==8.7.0\niniconfig==2.1.0\nitsdangerous==2.2.0\njaraco.classes==3.4.0\njaraco.context==6.0.1\njaraco.functools==4.2.1\njeepney==0.9.0\nJinja2==3.1.6\nkeyring==25.6.0\nmarkdown-it-py==3.0.0\nMarkupSafe==3.0.2\nmarshmallow==4.0.0\nmarshmallow-sqlalchemy==1.4.2\nmdurl==0.1.2\nmore-itertools==10.7.0\nnh3==0.3.0\npackaging==25.0\npkginfo==1.12.1.2\npluggy==1.6.0\npy==1.11.0\npycparser==2.22\nPygments==2.19.2\npyparsing==3.2.3\npytest==8.4.1\npytest-cov==6.2.1\npytz==2025.2\nreadme_renderer==44.0\nrequests==2.32.4\nrequests-toolbelt==1.0.0\nrfc3986==2.0.0\nrich==14.1.0\nroman-numerals-py==3.1.0\nSecretStorage==3.3.3\nsix==1.17.0\nsnowballstemmer==3.0.1\nSphinx==8.2.3\nsphinxcontrib-applehelp==2.0.0\nsphinxcontrib-devhelp==2.0.0\nsphinxcontrib-htmlhelp==2.1.0\nsphinxcontrib-jsmath==1.0.1\nsphinxcontrib-qthelp==2.0.0\nsphinxcontrib-serializinghtml==2.0.0\nsphinxcontrib-websupport==2.0.0\nSQLAlchemy==2.0.42\ntomli==2.2.1\ntqdm==4.67.1\ntwine==6.1.0\ntyping_extensions==4.14.1\nurllib3==2.5.0\nwcwidth==0.2.13\nwebencodings==0.5.1\nWerkzeug==3.1.3\nzipp==3.23.0\n",
"test_type": "unittest",
"test_files": "tests/test_filter.py, tests/test_query_with_filters.py, tests/test_ordered_search.py, tests/test_filter_schema.py, tests/test_flask_filter.py, tests/test_filter_typecheck.py",
"test_count": 83,
"related_modules": "Flask-SQLAlchemy, marshmallow",
"py_file_count": 16,
"total_loc_python": 1282,
"difficulty": "Medium",
"license": "BSD-3-Clause"
},
{
"repo_name": "lopezm1/python-clean-architecture",
"repo_url": "https://github.com/lopezm1/python-clean-architecture",
"commit_hash": "1ac86de4addd9218d90006867423d71df8f00386",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,25 +1,25 @@\n-attrs==17.3.0\n-boto3==1.4.8\n-botocore==1.8.6\n-certifi==2017.11.5\n-chardet==3.0.4\n-click==6.7\n-docutils==0.14\n-Flask==0.12.2\n-googlemaps==2.5.1\n-idna==2.6\n-itsdangerous==0.24\n-Jinja2==2.10\n-jmespath==0.9.3\n-MarkupSafe==1.0\n-pluggy==0.6.0\n-py==1.5.2\n-PyMySQL==0.7.11\n-python-dateutil==2.6.1\n-requests==2.18.4\n-s3transfer==0.1.12\n-six==1.11.0\n-SQLAlchemy==1.2.1\n-urllib3==1.22\n-virtualenv==15.1.0\n-Werkzeug==0.12.2\n+attrs\n+boto3\n+botocore\n+certifi\n+chardet\n+click\n+docutils\n+Flask\n+googlemaps\n+idna\n+itsdangerous\n+Jinja2\n+jmespath\n+MarkupSafe\n+pluggy\n+py\n+PyMySQL\n+python-dateutil\n+requests\n+s3transfer\n+six\n+SQLAlchemy\n+urllib3\n+virtualenv\n+Werkzeug\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,39 +1,4 @@\n-#!/usr/bin/env python\n-# -*- coding: utf-8 -*-\n-\n from setuptools import setup, find_packages\n-\n-requirements = [\n- # TODO: put package requirements here\n-]\n-\n-test_requirements = [\n- # TODO: put package test requirements here\n-]\n-\n-setup(\n- name='python-clean-architecture',\n- version='0.1.0',\n- description=\"A clean architecture project in Python\",\n- author=\"Miguel Lopez\",\n- author_email='miguel.lopez@us.sogeti.com',\n- url='',\n- packages=find_packages(exclude=('tests')),\n- dependency_links=[\n- ''\n- ],\n- include_package_data=True,\n- install_requires=requirements,\n- license=\"MIT license\",\n- zip_safe=False,\n- keywords='python-clean-architecture',\n- classifiers=[\n- 'Development Status :: 2 - Pre-Alpha',\n- 'Intended Audience :: Developers',\n- 'License :: OSI Approved :: MIT License',\n- 'Natural Language :: English',\n- 'Programming Language :: Python :: 3.6',\n- ],\n- test_suite='tests',\n- tests_require=test_requirements\n-)\n+requirements = []\n+test_requirements = []\n+setup(name='python-clean-architecture', version='0.1.0', description='A clean architecture project in Python', author='Miguel Lopez', author_email='miguel.lopez@us.sogeti.com', url='', packages=find_packages(exclude='tests'), dependency_links=[''], include_package_data=True, install_requires=requirements, license='MIT license', zip_safe=False, keywords='python-clean-architecture', classifiers=['Development Status :: 2 - Pre-Alpha', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Programming Language :: Python :: 3.6'], test_suite='tests', tests_require=test_requirements)\n\\ No newline at end of file\n--- setup_lopezm1__python-clean-architecture.sh\n+++ setup_lopezm1__python-clean-architecture.sh\n@@ -0,0 +1,7 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r dev-requirements.txt\n+pip install -r requirements.txt\n+pip install -r test-requirements.txt\n+pip install pytest\n--- test-requirements.txt\n+++ test-requirements.txt\n@@ -2,4 +2,4 @@\n tox\n coverage\n pytest-cov\n-pytest-flask\n+pytest-flask\n\\ No newline at end of file\n--- test_lopezm1__python-clean-architecture.sh\n+++ test_lopezm1__python-clean-architecture.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- core/interactors/request_objects.py\n+++ core/interactors/request_objects.py\n@@ -18,7 +18,7 @@\n invalid_req.add_error('Request Object', 'cannot be empty')\n return invalid_req\n \n- if not isinstance(adict, collections.Mapping):\n+ if not isinstance(adict, collections.abc.Mapping):\n invalid_req.add_error('Request Object', 'not iterable.')\n return invalid_req\n \n",
"reproduction_target_date": "2018-02-01",
"reproduction_target_version": "3.6.4",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY lopezm1__python-clean-architecture .\n\nRUN bash /work/setup_lopezm1__python-clean-architecture.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_lopezm1__python-clean-architecture.sh\"]\n",
"version_source": "setup.py",
"script_source": "requirements.txt",
"dependency_versions": "attrs==25.3.0\nblinker==1.9.0\nboto3==1.39.17\nbotocore==1.39.17\ncachetools==6.1.0\ncertifi==2025.7.14\nchardet==5.2.0\ncharset-normalizer==3.4.2\nclick==8.2.1\ncolorama==0.4.6\ncoverage==7.10.1\ndistlib==0.4.0\ndocutils==0.22\nfilelock==3.18.0\nflake8==7.3.0\nFlask==3.1.1\ngooglemaps==4.10.0\ngreenlet==3.2.3\nidna==3.10\niniconfig==2.1.0\nitsdangerous==2.2.0\nJinja2==3.1.6\njmespath==1.0.1\nMarkupSafe==3.0.2\nmccabe==0.7.0\npackaging==25.0\nplatformdirs==4.3.8\npluggy==1.6.0\npy==1.11.0\npycodestyle==2.14.0\npyflakes==3.4.0\nPygments==2.19.2\nPyMySQL==1.1.1\npyproject-api==1.9.1\npytest==8.4.1\npytest-cov==6.2.1\npytest-flask==1.3.0\npython-dateutil==2.9.0.post0\nrequests==2.32.4\ns3transfer==0.13.1\nsix==1.17.0\nSQLAlchemy==2.0.42\ntox==4.28.3\ntyping_extensions==4.14.1\nurllib3==2.5.0\nvirtualenv==20.32.0\nWerkzeug==3.1.3\n",
"test_type": "pytest",
"test_files": "tests/entities/test_course.py, tests/entities/test_student.py, tests/entities/test_professor.py, tests/interactors/test_request_objects.py, tests/interactors/test_course_registration_interactor.py",
"test_count": 19,
"related_modules": "builtin",
"py_file_count": 43,
"total_loc_python": 1211,
"difficulty": "Easy",
"license": ""
},
{
"repo_name": "PytLab/VASPy",
"repo_url": "https://github.com/PytLab/VASPy",
"commit_hash": "a48bb43842bb87c07c6a4c7943b8d280e2e8889b",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,4 +1,3 @@\n-matplotlib>=1.5.2\n-numpy>=1.11.1\n-scipy>=0.18.0\n-\n+matplotlib\n+numpy\n+scipy\n--- setup.py\n+++ setup.py\n@@ -1,128 +1,17 @@\n-#!/usr/bin/env python\n-\n from setuptools import setup, find_packages\n-\n from vaspy import __version__ as version\n-\n maintainer = 'Shao-Zheng-Jiang'\n maintainer_email = 'shaozhengjiang@gmail.com'\n author = maintainer\n author_email = maintainer_email\n-description = \"A pure Python library designed to make it easy and quick to manipulate VASP files\"\n-\n-long_description = \"\"\"\n-=====\n-VASPy\n-=====\n-\n-.. image:: https://travis-ci.org/PytLab/VASPy.svg?branch=master\n- :target: https://travis-ci.org/PytLab/VASPy\n- :alt: Build Status\n-\n-.. image:: https://landscape.io/github/PytLab/VASPy/master/landscape.svg?style=flat\n- :target: https://landscape.io/github/PytLab/VASPy/master\n- :alt: Code Health\n-\n-.. image:: https://codecov.io/gh/PytLab/VASPy/branch/master/graph/badge.svg\n- :target: https://codecov.io/gh/PytLab/VASPy\n-\n-.. image:: https://img.shields.io/badge/python-3.5, 2.7-green.svg\n- :target: https://www.python.org/downloads/release/python-351/\n- :alt: platform\n-\n-.. image:: https://img.shields.io/badge/pypi-v0.8.12-blue.svg\n- :target: https://pypi.python.org/pypi/vaspy/\n- :alt: versions\n-\n-\n-Introduction\n-------------\n-\n-VASPy is a pure Python library designed to make it easy and quick to manipulate VASP files.\n-\n-You can use VASPy to manipulate VASP files in command lins or write your own python scripts to process VASP files and visualize VASP data.\n-\n-In `/scripts <https://github.com/PytLab/VASPy/tree/master/scripts>`_ , there are some scripts written by me for daily use.\n-\n-Installation\n-------------\n-1. Via pip(recommend)::\n-\n- pip install vaspy\n-\n-2. Via easy_install::\n-\n- easy_install vaspy\n-\n-3. From source::\n-\n- python setup.py install\n-\n-If you want to use **mayavi** to visualize VASP data, it is recommened to install `Canopy environment <https://store.enthought.com/downloads/#default>`_ on your device instead of installing it manually.\n-\n-After installing canopy, you can set corresponding aliases, for example:\n-\n-.. code-block:: shell\n-\n- alias canopy='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/python'\n- alias canopy-pip='/Users/zjshao/Library/Enthought/Canopy/edm/envs/User/bin/pip'\n- alias canopy-ipython='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/ipython'\n- alias canopy-jupyter='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/jupyter'\n-\n-Then you can install VASPy to canopy::\n-\n- canopy-pip install vaspy\n-\n-\"\"\"\n-\n-install_requires = [\n- 'numpy>=1.11.1',\n- 'matplotlib>=1.5.2',\n- 'scipy>=0.18.0',\n-]\n-\n+description = 'A pure Python library designed to make it easy and quick to manipulate VASP files'\n+long_description = \"\\n=====\\nVASPy\\n=====\\n\\n.. image:: https://travis-ci.org/PytLab/VASPy.svg?branch=master\\n :target: https://travis-ci.org/PytLab/VASPy\\n :alt: Build Status\\n\\n.. image:: https://landscape.io/github/PytLab/VASPy/master/landscape.svg?style=flat\\n :target: https://landscape.io/github/PytLab/VASPy/master\\n :alt: Code Health\\n\\n.. image:: https://codecov.io/gh/PytLab/VASPy/branch/master/graph/badge.svg\\n :target: https://codecov.io/gh/PytLab/VASPy\\n\\n.. image:: https://img.shields.io/badge/python-3.5, 2.7-green.svg\\n :target: https://www.python.org/downloads/release/python-351/\\n :alt: platform\\n\\n.. image:: https://img.shields.io/badge/pypi-v0.8.12-blue.svg\\n :target: https://pypi.python.org/pypi/vaspy/\\n :alt: versions\\n\\n\\nIntroduction\\n------------\\n\\nVASPy is a pure Python library designed to make it easy and quick to manipulate VASP files.\\n\\nYou can use VASPy to manipulate VASP files in command lins or write your own python scripts to process VASP files and visualize VASP data.\\n\\nIn `/scripts <https://github.com/PytLab/VASPy/tree/master/scripts>`_ , there are some scripts written by me for daily use.\\n\\nInstallation\\n------------\\n1. Via pip(recommend)::\\n\\n pip install vaspy\\n\\n2. Via easy_install::\\n\\n easy_install vaspy\\n\\n3. From source::\\n\\n python setup.py install\\n\\nIf you want to use **mayavi** to visualize VASP data, it is recommened to install `Canopy environment <https://store.enthought.com/downloads/#default>`_ on your device instead of installing it manually.\\n\\nAfter installing canopy, you can set corresponding aliases, for example:\\n\\n.. code-block:: shell\\n\\n alias canopy='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/python'\\n alias canopy-pip='/Users/zjshao/Library/Enthought/Canopy/edm/envs/User/bin/pip'\\n alias canopy-ipython='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/ipython'\\n alias canopy-jupyter='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/jupyter'\\n\\nThen you can install VASPy to canopy::\\n\\n canopy-pip install vaspy\\n\\n\"\n+install_requires = ['numpy', 'matplotlib', 'scipy']\n license = 'LICENSE'\n-\n-# Get long description.\n-#with open(\"README.rst\") as f:\n-# lines = f.readlines()\n-#\n-#long_description = \"\"\n-#for line in lines:\n-# if \"Installation\" in line:\n-# break\n-# else:\n-# long_description += line\n-\n name = 'vaspy'\n platforms = ['linux']\n url = 'https://github.com/PytLab/VASPy'\n download_url = ''\n-classifiers = [\n- 'Development Status :: 3 - Alpha',\n- 'Topic :: Text Processing',\n- 'License :: OSI Approved :: MIT License',\n- 'Programming Language :: Python :: 2',\n- 'Programming Language :: Python :: 2.7',\n- 'Programming Language :: Python :: 3',\n- 'Programming Language :: Python :: 3.5',\n-]\n-\n+classifiers = ['Development Status :: 3 - Alpha', 'Topic :: Text Processing', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5']\n test_suite = 'vaspy.tests.test_all'\n-\n-setup(author=author,\n- author_email=author_email,\n- description=description,\n- license=license,\n- long_description=long_description,\n- install_requires=install_requires,\n- maintainer=maintainer,\n- name=name,\n- packages=find_packages(),\n- platforms=platforms,\n- url=url,\n- download_url=download_url,\n- version=version,\n- test_suite=test_suite,\n- classifiers=classifiers)\n-\n+setup(author=author, author_email=author_email, description=description, license=license, long_description=long_description, install_requires=install_requires, maintainer=maintainer, name=name, packages=find_packages(), platforms=platforms, url=url, download_url=download_url, version=version, test_suite=test_suite, classifiers=classifiers)\n\\ No newline at end of file\n--- setup_PytLab__VASPy.sh\n+++ setup_PytLab__VASPy.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n--- test_PytLab__VASPy.sh\n+++ test_PytLab__VASPy.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest vaspy.tests.ani_test vaspy.tests.cif_test vaspy.tests.incar_test vaspy.tests.xdatcar_test vaspy.tests.poscar_test vaspy.tests.xtd_test vaspy.tests.xsd_test vaspy.tests.arc_test vaspy.tests.outcar_test vaspy.tests.oszicar_test vaspy.tests.xyzfile_test\n",
"test_patch": "",
"gold_patch": "--- vaspy/atomco.py\n+++ vaspy/atomco.py\n@@ -173,7 +173,7 @@\n tf = self.tf\n except AttributeError:\n # Initialize tf with 'T's.\n- default_tf = np.full(self.data.shape, 'T', dtype=np.str)\n+ default_tf = np.full(self.data.shape, 'T', dtype=str)\n tf = kwargs.get(\"tf\", default_tf)\n data_tf = ''\n if coord_type == 'direct':\n",
"reproduction_target_date": "2022-06-19",
"reproduction_target_version": "3.9.13",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY PytLab__VASPy .\n\nRUN bash /work/setup_PytLab__VASPy.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_PytLab__VASPy.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "contourpy==1.3.3\ncycler==0.12.1\nfonttools==4.59.0\nkiwisolver==1.4.8\nmatplotlib==3.10.3\nnumpy==2.3.2\npackaging==25.0\npillow==11.3.0\npyparsing==3.2.3\npython-dateutil==2.9.0.post0\nscipy==1.16.1\nsix==1.17.0\n",
"test_type": "unittest",
"test_files": "vaspy/tests/ani_test.py, vaspy/tests/oszicar_test.py, vaspy/tests/cif_test.py, vaspy/tests/xyzfile_test.py, vaspy/tests/incar_test.py, vaspy/tests/xtd_test.py, vaspy/tests/outcar_test.py, vaspy/tests/poscar_test.py, vaspy/tests/xdatcar_test.py, vaspy/tests/arc_test.py, vaspy/tests/xsd_test.py",
"test_count": 41,
"related_modules": "numpy",
"py_file_count": 38,
"total_loc_python": 4788,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "pylhc/optics_functions",
"repo_url": "https://github.com/pylhc/optics_functions",
"commit_hash": "3f2364fe5c9b78cb354e3db47c5282b3c39265e5",
"patch": "--- setup.py\n+++ setup.py\n@@ -1,13 +1,9 @@\n import pathlib\n-\n import setuptools\n-\n-MODULE_NAME = \"optics_functions\"\n-# The directory containing this file\n+MODULE_NAME = 'optics_functions'\n TOPLEVEL_DIR = pathlib.Path(__file__).parent.absolute()\n-ABOUT_FILE = TOPLEVEL_DIR / MODULE_NAME / \"__init__.py\"\n-README = TOPLEVEL_DIR / \"README.md\"\n-\n+ABOUT_FILE = TOPLEVEL_DIR / MODULE_NAME / '__init__.py'\n+README = TOPLEVEL_DIR / 'README.md'\n \n def about_package(init_posixpath: pathlib.Path) -> dict:\n \"\"\"\n@@ -15,64 +11,11 @@\n provided with a PosixPath to the __init__.py file.\n \"\"\"\n about_text: str = init_posixpath.read_text()\n- return {\n- entry.split(\" = \")[0]: entry.split(\" = \")[1].strip('\"')\n- for entry in about_text.strip().split(\"\\n\")\n- if entry.startswith(\"__\")\n- }\n-\n-\n+ return {entry.split(' = ')[0]: entry.split(' = ')[1].strip('\"') for entry in about_text.strip().split('\\n') if entry.startswith('__')}\n ABOUT_OPTICS_FUNCTIONS = about_package(ABOUT_FILE)\n-\n-with README.open(\"r\") as docs:\n+with README.open('r') as docs:\n long_description = docs.read()\n-\n-\n-# Dependencies for the package itself\n-DEPENDENCIES = [\n- \"numpy>=1.19.0\",\n- \"pandas>=1.0\",\n- \"tfs-pandas>=2.0\"\n-]\n-\n-# Extra dependencies\n-EXTRA_DEPENDENCIES = {\n- \"test\": [\"pytest>=5.2\", \"pytest-cov>=2.9\"],\n- \"doc\": [\"sphinx\", \"sphinx_rtd_theme\"],\n-}\n-EXTRA_DEPENDENCIES.update(\n- {\"all\": [elem for list_ in EXTRA_DEPENDENCIES.values() for elem in list_]}\n-)\n-\n-setuptools.setup(\n- name=ABOUT_OPTICS_FUNCTIONS[\"__title__\"],\n- version=ABOUT_OPTICS_FUNCTIONS[\"__version__\"],\n- description=ABOUT_OPTICS_FUNCTIONS[\"__description__\"],\n- long_description=long_description,\n- long_description_content_type=\"text/markdown\",\n- author=ABOUT_OPTICS_FUNCTIONS[\"__author__\"],\n- author_email=ABOUT_OPTICS_FUNCTIONS[\"__author_email__\"],\n- url=ABOUT_OPTICS_FUNCTIONS[\"__url__\"],\n- packages=setuptools.find_packages(include=(MODULE_NAME,)),\n- include_package_data=True,\n- python_requires=\">=3.6\",\n- license=ABOUT_OPTICS_FUNCTIONS[\"__license__\"],\n- classifiers=[\n- \"Development Status :: 5 - Production/Stable\",\n- \"Intended Audience :: Science/Research\",\n- \"License :: OSI Approved :: MIT License\",\n- \"Natural Language :: English\",\n- \"Operating System :: OS Independent\",\n- \"Programming Language :: Python :: 3 :: Only\",\n- \"Programming Language :: Python :: 3.7\",\n- \"Programming Language :: Python :: 3.8\",\n- \"Programming Language :: Python :: 3.9\",\n- \"Programming Language :: Python :: 3.10\",\n- \"Topic :: Scientific/Engineering\",\n- \"Topic :: Software Development :: Libraries :: Python Modules\",\n- \"Typing :: Typed\",\n- ],\n- install_requires=DEPENDENCIES,\n- tests_require=EXTRA_DEPENDENCIES[\"test\"],\n- extras_require=EXTRA_DEPENDENCIES,\n-)\n+DEPENDENCIES = ['numpy', 'pandas', 'tfs-pandas']\n+EXTRA_DEPENDENCIES = {'test': ['pytest>=5.2', 'pytest-cov>=2.9'], 'doc': ['sphinx', 'sphinx_rtd_theme']}\n+EXTRA_DEPENDENCIES.update({'all': [elem for list_ in EXTRA_DEPENDENCIES.values() for elem in list_]})\n+setuptools.setup(name=ABOUT_OPTICS_FUNCTIONS['__title__'], version=ABOUT_OPTICS_FUNCTIONS['__version__'], description=ABOUT_OPTICS_FUNCTIONS['__description__'], long_description=long_description, long_description_content_type='text/markdown', author=ABOUT_OPTICS_FUNCTIONS['__author__'], author_email=ABOUT_OPTICS_FUNCTIONS['__author_email__'], url=ABOUT_OPTICS_FUNCTIONS['__url__'], packages=setuptools.find_packages(include=(MODULE_NAME,)), include_package_data=True, python_requires='>=3.6', license=ABOUT_OPTICS_FUNCTIONS['__license__'], classifiers=['Development Status :: 5 - Production/Stable', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Topic :: Scientific/Engineering', 'Topic :: Software Development :: Libraries :: Python Modules', 'Typing :: Typed'], install_requires=DEPENDENCIES, tests_require=EXTRA_DEPENDENCIES['test'], extras_require=EXTRA_DEPENDENCIES)\n\\ No newline at end of file\n--- setup_pylhc__optics_functions.sh\n+++ setup_pylhc__optics_functions.sh\n@@ -0,0 +1,6 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install .[all]\n+pip install pytest>=5.2 pytest-cov>=2.9\n+pip install pytest\n--- test_pylhc__optics_functions.sh\n+++ test_pylhc__optics_functions.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- optics_functions/coupling.py\n+++ optics_functions/coupling.py\n@@ -374,5 +374,5 @@\n \"of the data points |F1001| < |F1010|. Your closest tune \"\n \"approach estimates might not be accurate.\")\n if to_nan:\n- df.loc[condition_not_fulfilled, COUPLING_RDTS] = np.NaN\n+ df.loc[condition_not_fulfilled, COUPLING_RDTS] = np.nan\n return df\n",
"reproduction_target_date": "2023-04-26",
"reproduction_target_version": "3.11.3",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY pylhc__optics_functions .\n\nRUN bash /work/setup_pylhc__optics_functions.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_pylhc__optics_functions.sh\"]\n",
"version_source": "setup.py",
"script_source": "setup.py",
"dependency_versions": "alabaster==1.0.0\nbabel==2.17.0\ncertifi==2025.7.14\ncharset-normalizer==3.4.2\ncoverage==7.10.1\ndocutils==0.21.2\nidna==3.10\nimagesize==1.4.1\niniconfig==2.1.0\nJinja2==3.1.6\nMarkupSafe==3.0.2\nnumpy==2.3.2\noptics_functions @ file:///work\npackaging==25.0\npandas==2.3.1\npluggy==1.6.0\nPygments==2.19.2\npytest==8.4.1\npytest-cov==6.2.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nrequests==2.32.4\nroman-numerals-py==3.1.0\nsix==1.17.0\nsnowballstemmer==3.0.1\nSphinx==8.2.3\nsphinx-rtd-theme==3.0.2\nsphinxcontrib-applehelp==2.0.0\nsphinxcontrib-devhelp==2.0.0\nsphinxcontrib-htmlhelp==2.1.0\nsphinxcontrib-jquery==4.1\nsphinxcontrib-jsmath==1.0.1\nsphinxcontrib-qthelp==2.0.0\nsphinxcontrib-serializinghtml==2.0.0\ntfs-pandas==4.0.0\ntzdata==2025.2\nurllib3==2.5.0\nzstandard==0.23.0\n",
"test_type": "pytest",
"test_files": "tests/unit/test_coupling.py, tests/unit/test_rdt.py, tests/unit/test_utils.py",
"test_count": 45,
"related_modules": "numpy",
"py_file_count": 11,
"total_loc_python": 2098,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "Arkenan/fiuba_opiniones_de_curso",
"repo_url": "https://github.com/Arkenan/fiuba_opiniones_de_curso",
"commit_hash": "3d72dea0c5713ce21204a2457c76560b6945a974",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -3,4 +3,4 @@\n numpy\n flask-bootstrap4\n gunicorn\n-unidecode\n+unidecode\n\\ No newline at end of file\n--- setup_Arkenan__fiuba_opiniones_de_curso.sh\n+++ setup_Arkenan__fiuba_opiniones_de_curso.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_Arkenan__fiuba_opiniones_de_curso.sh\n+++ test_Arkenan__fiuba_opiniones_de_curso.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "--- tests/modelo/test_dificultad.py\n+++ tests/modelo/test_dificultad.py\n@@ -1,6 +1,6 @@\n import pytest\n import csv\n-from numpy import NaN\n+from numpy import nan\n from numpy import isnan\n from modelo.dificultad import Dificultad\n \n--- tests/modelo/test_nivel_clases.py\n+++ tests/modelo/test_nivel_clases.py\n@@ -1,6 +1,6 @@\n import pytest\n import csv\n-from numpy import NaN\n+from numpy import nan\n from numpy import isnan\n from modelo.nivel_clases import NivelClases\n \n",
"gold_patch": "--- modelo/dificultad.py\n+++ modelo/dificultad.py\n@@ -1,4 +1,4 @@\n-from numpy import NaN\n+from numpy import nan\n from unidecode import unidecode\n \n \n@@ -9,7 +9,7 @@\n \"normal\": 3,\n \"facil\": 2,\n \"muy facil\": 1,\n- \"no hay tp\": NaN,\n+ \"no hay tp\": nan,\n }\n \n def __init__(self, texto_dificultad):\n--- modelo/nivel_clases.py\n+++ modelo/nivel_clases.py\n@@ -1,4 +1,4 @@\n-from numpy import NaN\n+from numpy import nan\n \n \n class NivelClases:\n@@ -7,6 +7,6 @@\n def __init__(self, texto):\n self.texto = texto\n if \"no hay\" in texto.lower():\n- self.puntos = NaN\n+ self.puntos = nan\n else:\n self.puntos = self.MAP[texto]\n",
"reproduction_target_date": "2021-12-10",
"reproduction_target_version": "3.9.9",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY Arkenan__fiuba_opiniones_de_curso .\n\nRUN bash /work/setup_Arkenan__fiuba_opiniones_de_curso.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_Arkenan__fiuba_opiniones_de_curso.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "blinker==1.9.0\nclick==8.2.1\ndominate==2.9.1\nFlask==3.1.1\nFlask-Bootstrap4==4.0.2\ngunicorn==23.0.0\niniconfig==2.1.0\nitsdangerous==2.2.0\nJinja2==3.1.6\nMarkupSafe==3.0.2\nnumpy==2.3.2\npackaging==25.0\npluggy==1.6.0\nPygments==2.19.2\npytest==8.4.1\nUnidecode==1.4.0\nvisitor==0.1.3\nWerkzeug==3.1.3\n",
"test_type": "pytest",
"test_files": "tests/modelo/test_interes.py, tests/modelo/test_nivel_clases.py, tests/app/test_opiniones_repo.py, tests/app/test_asignaturas_repo.py, tests/modelo/test_periodo.py, tests/modelo/test_general.py, tests/modelo/test_dificultad.py, tests/app/test_opiniones_parser.py, tests/app/test_periodo_repo.py, tests/app/test_index.py, tests/app/test_vista_cuatrimestre.py",
"test_count": 40,
"related_modules": "numpy",
"py_file_count": 29,
"total_loc_python": 636,
"difficulty": "Medium",
"license": ""
},
{
"repo_name": "dan-stone/canal",
"repo_url": "https://github.com/dan-stone/canal",
"commit_hash": "8a6b03a46102f7e5ca457538eb03ab9526eec095",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,3 +1,3 @@\n nose\n-pandas>=0.18.0\n+pandas\n pytz\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,16 +1,8 @@\n-try: # for pip >= 10\n+try:\n from pip._internal.req import parse_requirements\n-except ImportError: # for pip <= 9.0.3\n+except ImportError:\n from pip.req import parse_requirements\n from setuptools import setup, find_packages\n-\n-# parse_requirements() returns generator of pip.req.InstallRequirement objects\n-install_reqs = parse_requirements(\"requirements.txt\", session=False)\n+install_reqs = parse_requirements('requirements.txt', session=False)\n reqs = [str(ir.req) for ir in install_reqs]\n-\n-setup(\n- name='canal',\n- install_requires=reqs,\n- packages=find_packages(),\n- version=\"0.1.0\"\n-)\n+setup(name='canal', install_requires=reqs, packages=find_packages(), version='0.1.0')\n\\ No newline at end of file\n--- setup_dan-stone__canal.sh\n+++ setup_dan-stone__canal.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n--- test_dan-stone__canal.sh\n+++ test_dan-stone__canal.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest canal.tests.test_query canal.tests.util canal.tests.test_measurement canal.tests.test_datum\n",
"test_patch": "--- canal/tests/test_measurement.py\n+++ canal/tests/test_measurement.py\n@@ -261,7 +261,7 @@\n test_series.to_line_protocol()\n \n def test_nan_in_required_float_field(self):\n- floats = np.arange(10, dtype=np.float)\n+ floats = np.arange(10, dtype=float)\n floats[0::2] = np.nan\n test_series = self.TestMeasurement(\n test_field=10*[1],\n--- canal/tests/test_query.py\n+++ canal/tests/test_query.py\n@@ -5,6 +5,7 @@\n \n import canal\n \n+TZ = pytz.timezone(\"EST\")\n TEST_DATE = datetime.datetime(\n year=2016,\n month=5,\n@@ -13,8 +14,8 @@\n minute=49,\n second=23,\n microsecond=12345,\n- tzinfo=pytz.timezone(\"EST\")\n )\n+TEST_DATE = TZ.localize(TEST_DATE)\n TEST_DATE_STRING = \"'2016-05-17T15:49:23.012345Z'\"\n \n \n",
"gold_patch": "--- canal/measurement.py\n+++ canal/measurement.py\n@@ -172,7 +172,7 @@\n ] + [\n ('time', np.array(time, dtype='datetime64[ns]') if time is not None else None)\n ]\n- self._data_frame = pd.DataFrame.from_items(items)\n+ self._data_frame = pd.DataFrame.from_dict(dict(items))\n \n def __len__(self):\n return len(self.data_frame)\n",
"reproduction_target_date": "2018-09-04",
"reproduction_target_version": "3.6.6",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY dan-stone__canal .\n\nRUN bash /work/setup_dan-stone__canal.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_dan-stone__canal.sh\"]\n",
"version_source": "default",
"script_source": "requirements.txt",
"dependency_versions": "nose==1.3.7\nnumpy==2.3.2\npandas==2.3.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nsix==1.17.0\ntzdata==2025.2\n",
"test_type": "unittest",
"test_files": "canal/tests/test_query.py, canal/tests/util.py, canal/tests/test_measurement.py, canal/tests/test_datum.py",
"test_count": 47,
"related_modules": "pandas",
"py_file_count": 14,
"total_loc_python": 1507,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "mzjp2/mdtable",
"repo_url": "https://github.com/mzjp2/mdtable",
"commit_hash": "9ce7bb98f5e560dd597f46dc6503f06bce1c631f",
"patch": "--- requirements.txt\n+++ requirements.txt\n@@ -1,25 +1,25 @@\n-appdirs==1.4.3\n-astroid==2.2.5\n-atomicwrites==1.3.0\n-attrs==19.1.0\n-black==19.3b0\n-Click==7.0\n-coverage==4.5.3\n-importlib-metadata==0.18\n-isort==4.3.20\n-lazy-object-proxy==1.4.1\n-mccabe==0.6.1\n-more-itertools==7.0.0\n-packaging==19.0\n-pluggy==0.12.0\n-py==1.8.0\n-pylint==2.3.1\n-pyparsing==2.4.0\n-pytest==4.6.3\n-pytest-cov==2.7.1\n-six==1.12.0\n-toml==0.10.0\n-typed-ast==1.4.0\n-wcwidth==0.1.7\n-wrapt==1.11.2\n-zipp==0.5.1\n+appdirs\n+astroid\n+atomicwrites\n+attrs\n+black\n+Click\n+coverage\n+importlib-metadata\n+isort\n+lazy-object-proxy\n+mccabe\n+more-itertools\n+packaging\n+pluggy\n+py\n+pylint\n+pyparsing\n+pytest\n+pytest-cov\n+six\n+toml\n+typed-ast\n+wcwidth\n+wrapt\n+zipp\n\\ No newline at end of file\n--- setup.py\n+++ setup.py\n@@ -1,36 +1,6 @@\n-# -*- coding: utf-8 -*-\n-\n import re\n from setuptools import setup\n-\n-\n-VERSION = re.search(\n- '^__version__\\s*=\\s*\"(.*)\"', open(\"mdtable/mdtable.py\").read(), re.M\n-).group(1)\n-\n-\n-with open(\"README.md\", \"rb\") as f:\n- LONG_DESCR = f.read().decode(\"utf-8\")\n-\n-\n-setup(\n- name=\"mdtable\",\n- packages=[\"mdtable\"],\n- entry_points={\"console_scripts\": [\"mdtable = mdtable.cli:main\"]},\n- version=VERSION,\n- description=\"mdtable converts csv files to markdown formatted tables\",\n- long_description=LONG_DESCR,\n- long_description_content_type=\"text/markdown\",\n- author=\"Zain Patel\",\n- author_email=\"zain.patel06@gmail.com\",\n- url=\"https://github.com/mzjp2/mdtable\",\n- classifiers=[\n- # Pick your license as you wish\n- \"Programming Language :: Python :: 3\",\n- \"License :: OSI Approved :: MIT License\",\n- \"Operating System :: OS Independent\",\n- ],\n- keywords=\"markdown cli convert\",\n- python_requires=\">=3.5\",\n- install_requires=[\"click\"],\n-)\n+VERSION = re.search('^__version__\\\\s*=\\\\s*\"(.*)\"', open('mdtable/mdtable.py').read(), re.M).group(1)\n+with open('README.md', 'rb') as f:\n+ LONG_DESCR = f.read().decode('utf-8')\n+setup(name='mdtable', packages=['mdtable'], entry_points={'console_scripts': ['mdtable = mdtable.cli:main']}, version=VERSION, description='mdtable converts csv files to markdown formatted tables', long_description=LONG_DESCR, long_description_content_type='text/markdown', author='Zain Patel', author_email='zain.patel06@gmail.com', url='https://github.com/mzjp2/mdtable', classifiers=['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent'], keywords='markdown cli convert', python_requires='>=3.5', install_requires=['click'])\n\\ No newline at end of file\n--- setup_mzjp2__mdtable.sh\n+++ setup_mzjp2__mdtable.sh\n@@ -0,0 +1,5 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install -r requirements.txt\n+pip install pytest\n--- test_mzjp2__mdtable.sh\n+++ test_mzjp2__mdtable.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m pytest .\n",
"test_patch": "",
"gold_patch": "--- mdtable/mdtable.py\n+++ mdtable/mdtable.py\n@@ -175,7 +175,7 @@\n csv_dict = {}\n with open(filepath, \"r\") as csv_file:\n csv_reader = csv.reader(\n- csv_file, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar\n+ csv_file, delimiter=delimiter, quotechar=quotechar, escapechar=(escapechar or None),\n )\n header = next(csv_reader)\n num_cols = len(header)\n",
"reproduction_target_date": "2019-06-30",
"reproduction_target_version": "3.7.3",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY mzjp2__mdtable .\n\nRUN bash /work/setup_mzjp2__mdtable.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_mzjp2__mdtable.sh\"]\n",
"version_source": "setup.py",
"script_source": "requirements.txt",
"dependency_versions": "appdirs==1.4.4\nastroid==3.3.11\natomicwrites==1.4.1\nattrs==25.3.0\nblack==25.1.0\nclick==8.2.1\ncoverage==7.10.1\ndill==0.4.0\nimportlib_metadata==8.7.0\niniconfig==2.1.0\nisort==6.0.1\nlazy-object-proxy==1.11.0\nmccabe==0.7.0\nmore-itertools==10.7.0\nmypy_extensions==1.1.0\npackaging==25.0\npathspec==0.12.1\nplatformdirs==4.3.8\npluggy==1.6.0\npy==1.11.0\nPygments==2.19.2\npylint==3.3.7\npyparsing==3.2.3\npytest==8.4.1\npytest-cov==6.2.1\nsix==1.17.0\ntoml==0.10.2\ntomlkit==0.13.3\ntyped_ast==1.5.5\nwcwidth==0.2.13\nwrapt==1.17.2\nzipp==3.23.0\n",
"test_type": "pytest",
"test_files": "tests/test_mdtable.py",
"test_count": 15,
"related_modules": "builtin",
"py_file_count": 7,
"total_loc_python": 338,
"difficulty": "Easy",
"license": "MIT"
},
{
"repo_name": "alliefitter/iterable_collections",
"repo_url": "https://github.com/alliefitter/iterable_collections",
"commit_hash": "4e8fb4b05517406cbffe9c3276a1c0c956ba263c",
"patch": "--- setup.py\n+++ setup.py\n@@ -1,33 +1,5 @@\n import sys\n from setuptools import setup\n-\n with open('README.rst', 'r') as f:\n long_description = f.read()\n-\n-setup(\n- name='iterable_collections',\n- version='0.1.6',\n- packages=['iterable_collections'],\n- license='MIT License',\n- author='Allie Fitter',\n- author_email='fitterj@gmail.com',\n- description='A collections pipeline tool for iterable objects with support for iteration with `dict.items`',\n- long_description=long_description,\n- long_description_content_type='text/x-rst',\n- keywords=['collection', 'map', 'filter', 'pipeline', 'linq', 'scala'],\n- url='https://github.com/alliefitter/iterable_collections',\n- data_files=[(\n- 'lib/python{}.{}/site-packages/iterable_collections'.format(*sys.version_info[:2]),\n- [\n- \"iterable_collections/collection.pyi\",\n- \"iterable_collections/strategy.pyi\",\n- \"iterable_collections/factory.pyi\",\n- \"iterable_collections/utils.pyi\"\n- ]\n- )],\n- classifiers=(\n- \"Programming Language :: Python :: 3\",\n- \"License :: OSI Approved :: MIT License\",\n- \"Operating System :: OS Independent\"\n- )\n-)\n+setup(name='iterable_collections', version='0.1.6', packages=['iterable_collections'], license='MIT License', author='Allie Fitter', author_email='fitterj@gmail.com', description='A collections pipeline tool for iterable objects with support for iteration with `dict.items`', long_description=long_description, long_description_content_type='text/x-rst', keywords=['collection', 'map', 'filter', 'pipeline', 'linq', 'scala'], url='https://github.com/alliefitter/iterable_collections', data_files=[('lib/python{}.{}/site-packages/iterable_collections'.format(*sys.version_info[:2]), ['iterable_collections/collection.pyi', 'iterable_collections/strategy.pyi', 'iterable_collections/factory.pyi', 'iterable_collections/utils.pyi'])], classifiers=('Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent'))\n\\ No newline at end of file\n--- setup_alliefitter__iterable_collections.sh\n+++ setup_alliefitter__iterable_collections.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+pip install .\n--- test_alliefitter__iterable_collections.sh\n+++ test_alliefitter__iterable_collections.sh\n@@ -0,0 +1,4 @@\n+#!/bin/bash\n+set -euo pipefail\n+\n+python -m unittest tests.test_list_ tests.test_first tests.test_len tests.test_chunks tests.test_max tests.test_reduce_items tests.test_last_item tests.test_set tests.test_iter tests.test_dict_ tests.test_reduce_nt_items tests.test_list tests.test_first_nt_item tests.test_groupby tests.test_reversed tests.test_iter_ tests.test_flatten tests.test_concat tests.test_items tests.test_last tests.test_intersect_iter tests.test_concat_dict tests.test_join tests.test_setitem tests.test_diff_iter tests.test_concat_seq tests.test_group_sort tests.test_getitem tests.test_tuple tests.test_first_item tests.test_next tests.test_filter_nt_items tests.test_all tests.test_emap tests.test_tuple_ tests.test_slice tests.test_diff_dict tests.test_diff_seq tests.test_unique tests.test_dict tests.test_map tests.test_islice tests.test_map_items tests.test_zip tests.test_contains tests.test_pop tests.test_empty tests.test_filter_items tests.test_set_ tests.test_sorted tests.test_filter tests.test_min tests.test_intersect_dict tests.test_ordered_dict tests.test_any tests.test_nt_items tests.test_intersect tests.test_diff tests.test_intersect_seq tests.test_enumerate tests.test_last_nt_item tests.test_map_nt_item tests.test_reduce\n",
"test_patch": "",
"gold_patch": "--- iterable_collections/collection.py\n+++ iterable_collections/collection.py\n@@ -1,4 +1,4 @@\n-from collections import Iterable\n+from collections.abc import Iterable\n \n from iterable_collections.factory import DefaultMethodStrategyFactory\n \n--- iterable_collections/factory.py\n+++ iterable_collections/factory.py\n@@ -4,7 +4,7 @@\n \n import builtins\n \n-from collections import Iterator\n+from collections.abc import Iterator\n \n import itertools\n \n",
"reproduction_target_date": "2018-11-07",
"reproduction_target_version": "3.6.7",
"migration_target_date": "2025-07-31",
"migration_target_version": "3.12.11",
"dockerfile": "FROM mirror.gcr.io/python:3.12.11\n\nENV PIP_INDEX_URL=http://localhost:5000/snapshot/2025-07-31\nENV PIP_TRUSTED_HOST=localhost\n\nWORKDIR /work\n\nCOPY alliefitter__iterable_collections .\n\nRUN bash /work/setup_alliefitter__iterable_collections.sh\n\nENTRYPOINT [\"bash\"]\nCMD [\"/work/test_alliefitter__iterable_collections.sh\"]\n",
"version_source": "default",
"script_source": "setup.py",
"dependency_versions": "iterable_collections @ file:///work\n",
"test_type": "unittest",
"test_files": "tests/test_reduce_nt_items.py, tests/test_concat.py, tests/test_empty.py, tests/test_filter_items.py, tests/test_intersect.py, tests/test_zip.py, tests/test_iter_.py, tests/test_intersect_iter.py, tests/test_join.py, tests/test_iter.py, tests/test_list.py, tests/test_filter_nt_items.py, tests/test_contains.py, tests/test_set_.py, tests/test_items.py, tests/test_tuple_.py, tests/test_islice.py, tests/test_diff_dict.py, tests/test_filter.py, tests/test_tuple.py, tests/test_diff_seq.py, tests/test_unique.py, tests/test_intersect_seq.py, tests/test_concat_dict.py, tests/test_any.py, tests/test_dict_.py, tests/test_enumerate.py, tests/test_getitem.py, tests/test_first_item.py, tests/test_len.py, tests/test_concat_seq.py, tests/test_last.py, tests/test_next.py, tests/test_all.py, tests/test_dict.py, tests/test_chunks.py, tests/test_reversed.py, tests/test_reduce_items.py, tests/test_diff_iter.py, tests/test_diff.py, tests/test_map.py, tests/test_last_item.py, tests/test_first_nt_item.py, tests/test_first.py, tests/test_setitem.py, tests/test_flatten.py, tests/test_groupby.py, tests/test_intersect_dict.py, tests/test_map_nt_item.py, tests/test_map_items.py, tests/test_sorted.py, tests/test_last_nt_item.py, tests/test_slice.py, tests/test_min.py, tests/test_pop.py, tests/test_max.py, tests/test_list_.py, tests/test_emap.py, tests/test_reduce.py, tests/test_set.py, tests/test_nt_items.py, tests/test_ordered_dict.py, tests/test_group_sort.py",
"test_count": 754,
"related_modules": "builtin",
"py_file_count": 71,
"total_loc_python": 5531,
"difficulty": "Easy",
"license": "MIT"
}
]; |