{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":84795,"databundleVersionId":10462807,"sourceType":"competition"}],"dockerImageVersionId":30804,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"\n# Work in Progress","metadata":{"execution":{"iopub.status.busy":"2024-12-12T19:05:38.599536Z","iopub.execute_input":"2024-12-12T19:05:38.599985Z","iopub.status.idle":"2024-12-12T19:05:38.605145Z","shell.execute_reply.started":"2024-12-12T19:05:38.599941Z","shell.execute_reply":"2024-12-12T19:05:38.603981Z"}}},{"cell_type":"code","source":"def ls(path):#\n    for path in path.iterdir():\n        if path.is_dir():\n            print('📁', path,)\n        elif path.is_file():\n            print('📄', path)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.195314Z","iopub.execute_input":"2024-12-14T13:28:40.195707Z","iopub.status.idle":"2024-12-14T13:28:40.222594Z","shell.execute_reply.started":"2024-12-14T13:28:40.195669Z","shell.execute_reply":"2024-12-14T13:28:40.221522Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from pathlib import Path\n\ndata_folder = Path('/kaggle/input/konwinski-prize/')\nworking_folder = Path('/kaggle/working')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.224733Z","iopub.execute_input":"2024-12-14T13:28:40.225489Z","iopub.status.idle":"2024-12-14T13:28:40.231128Z","shell.execute_reply.started":"2024-12-14T13:28:40.225435Z","shell.execute_reply":"2024-12-14T13:28:40.22994Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"ls(data_folder)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.23246Z","iopub.execute_input":"2024-12-14T13:28:40.232833Z","iopub.status.idle":"2024-12-14T13:28:40.250672Z","shell.execute_reply.started":"2024-12-14T13:28:40.232781Z","shell.execute_reply":"2024-12-14T13:28:40.249463Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# `kprize_setup` the dependecies packages files \n","metadata":{"execution":{"iopub.status.busy":"2024-12-12T19:10:00.731512Z","iopub.execute_input":"2024-12-12T19:10:00.731934Z","iopub.status.idle":"2024-12-12T19:10:00.737069Z","shell.execute_reply.started":"2024-12-12T19:10:00.731902Z","shell.execute_reply":"2024-12-12T19:10:00.735855Z"}}},{"cell_type":"markdown","source":"> `kprize_setup/` Files used for installing this competition's adaptation of the swebench library. Note that this won't currently work on Windows.\n\nfrom the data tab","metadata":{}},{"cell_type":"markdown","source":"Where \n\n> SWE-bench is a benchmark for evaluating large language models on real world software issues collected from GitHub. Given a codebase and an issue, a language model is tasked with generating a patch that resolves the described problem.\n\nfrom swe-bench github readme","metadata":{}},{"cell_type":"code","source":"ls(data_folder / 'kprize_setup' )","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.252561Z","iopub.execute_input":"2024-12-14T13:28:40.252983Z","iopub.status.idle":"2024-12-14T13:28:40.265231Z","shell.execute_reply.started":"2024-12-14T13:28:40.252937Z","shell.execute_reply":"2024-12-14T13:28:40.263984Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"`/kaggle/input/konwinski-prize/kprize_setup/micromamba-linux-64 📄`\n\nSeam to be the executable of micromamba needed for the installation.\n\n`/kaggle/input/konwinski-prize/kprize_setup/kprize-1.0.0-py3-none-any.whl 📄`\n\nSeam to be a wheel python file, that are used to install a library here proably the adaptation libarary mentined above\n\n### The kprize folder","metadata":{}},{"cell_type":"code","source":"ls(data_folder / 'kprize_setup' / 'kprize' )","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.480669Z","iopub.execute_input":"2024-12-14T13:28:40.481482Z","iopub.status.idle":"2024-12-14T13:28:40.501622Z","shell.execute_reply.started":"2024-12-14T13:28:40.481425Z","shell.execute_reply":"2024-12-14T13:28:40.500296Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"May be this are all file need for the adaptation","metadata":{}},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"markdown","source":"### Explore the pip_packages folder\n","metadata":{}},{"cell_type":"code","source":"ls(data_folder / 'kprize_setup'  / 'pip_packages')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.503333Z","iopub.execute_input":"2024-12-14T13:28:40.503676Z","iopub.status.idle":"2024-12-14T13:28:40.51294Z","shell.execute_reply.started":"2024-12-14T13:28:40.503643Z","shell.execute_reply":"2024-12-14T13:28:40.511862Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"They seam to be a series of package neeed to kprizer libarry","metadata":{}},{"cell_type":"markdown","source":"# `kaggle_evaluation` the evaluation files\n","metadata":{}},{"cell_type":"code","source":"ls(data_folder / 'kaggle_evaluation' )","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.514485Z","iopub.execute_input":"2024-12-14T13:28:40.514984Z","iopub.status.idle":"2024-12-14T13:28:40.529627Z","shell.execute_reply.started":"2024-12-14T13:28:40.514933Z","shell.execute_reply":"2024-12-14T13:28:40.528337Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"They seam file need for package to make the evaluation","metadata":{}},{"cell_type":"code","source":"import kaggle_evaluation.konwinski_prize_inference_server","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:40.532766Z","iopub.execute_input":"2024-12-14T13:28:40.533373Z","iopub.status.idle":"2024-12-14T13:28:56.095991Z","shell.execute_reply.started":"2024-12-14T13:28:40.533323Z","shell.execute_reply":"2024-12-14T13:28:56.094946Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# `data.z_zip` the data of the compeition","metadata":{"execution":{"iopub.status.busy":"2024-12-12T19:10:47.606759Z","iopub.execute_input":"2024-12-12T19:10:47.607224Z","iopub.status.idle":"2024-12-12T19:10:47.613838Z","shell.execute_reply.started":"2024-12-12T19:10:47.607185Z","shell.execute_reply":"2024-12-12T19:10:47.612138Z"}}},{"cell_type":"code","source":"import zipfile\n\nzipfile.is_zipfile(data_folder / 'data.a_zip')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:56.097291Z","iopub.execute_input":"2024-12-14T13:28:56.097802Z","iopub.status.idle":"2024-12-14T13:28:56.10833Z","shell.execute_reply.started":"2024-12-14T13:28:56.097769Z","shell.execute_reply":"2024-12-14T13:28:56.107264Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data_folder / 'data.z_zip'","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:56.109514Z","iopub.execute_input":"2024-12-14T13:28:56.109846Z","iopub.status.idle":"2024-12-14T13:28:56.121028Z","shell.execute_reply.started":"2024-12-14T13:28:56.109816Z","shell.execute_reply":"2024-12-14T13:28:56.119982Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!unzip /kaggle/input/konwinski-prize/data.a_zip > /dev/null","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:28:56.122189Z","iopub.execute_input":"2024-12-14T13:28:56.12248Z","iopub.status.idle":"2024-12-14T13:29:00.960431Z","shell.execute_reply.started":"2024-12-14T13:28:56.122451Z","shell.execute_reply":"2024-12-14T13:29:00.958876Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"ls(working_folder)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:00.962407Z","iopub.execute_input":"2024-12-14T13:29:00.962898Z","iopub.status.idle":"2024-12-14T13:29:00.970165Z","shell.execute_reply.started":"2024-12-14T13:29:00.962852Z","shell.execute_reply":"2024-12-14T13:29:00.969003Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"ls(working_folder / 'data')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:00.971881Z","iopub.execute_input":"2024-12-14T13:29:00.972381Z","iopub.status.idle":"2024-12-14T13:29:00.98835Z","shell.execute_reply.started":"2024-12-14T13:29:00.972334Z","shell.execute_reply":"2024-12-14T13:29:00.986944Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"ls(working_folder / 'data' / 'repos')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:00.993479Z","iopub.execute_input":"2024-12-14T13:29:00.99387Z","iopub.status.idle":"2024-12-14T13:29:01.002241Z","shell.execute_reply.started":"2024-12-14T13:29:00.993834Z","shell.execute_reply":"2024-12-14T13:29:01.000996Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# The Metadata","metadata":{}},{"cell_type":"code","source":"import pandas as pd\n\ndf = pd.read_parquet(working_folder / 'data' / 'data.parquet')\n\nprint('Size df', len(df))\nprint()\nprint('Columns:')\nfor col in df.columns:\n    print(col)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.003694Z","iopub.execute_input":"2024-12-14T13:29:01.00416Z","iopub.status.idle":"2024-12-14T13:29:01.129171Z","shell.execute_reply.started":"2024-12-14T13:29:01.004111Z","shell.execute_reply":"2024-12-14T13:29:01.128052Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"So the there are 6 line which seam to corrispond to the 6 folder above","metadata":{}},{"cell_type":"markdown","source":"## instance_id\n","metadata":{}},{"cell_type":"code","source":"\ndf['instance_id'][0]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.130442Z","iopub.execute_input":"2024-12-14T13:29:01.130739Z","iopub.status.idle":"2024-12-14T13:29:01.141142Z","shell.execute_reply.started":"2024-12-14T13:29:01.130711Z","shell.execute_reply":"2024-12-14T13:29:01.139983Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"## repo","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-17T17:21:04.683675Z","iopub.execute_input":"2024-12-17T17:21:04.684545Z","iopub.status.idle":"2024-12-17T17:21:04.71158Z","shell.execute_reply.started":"2024-12-17T17:21:04.684491Z","shell.execute_reply":"2024-12-17T17:21:04.710481Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"for repo_name in df['repo'].unique():\n    print(repo_name)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.142774Z","iopub.execute_input":"2024-12-14T13:29:01.143714Z","iopub.status.idle":"2024-12-14T13:29:01.156148Z","shell.execute_reply.started":"2024-12-14T13:29:01.143663Z","shell.execute_reply":"2024-12-14T13:29:01.155067Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"So there are 2 repo \nthe first repo may be in 2 different state and the other in 4\n\nThey should correpond to the github repo\n\nhttps://github.com/astropy/astropy\n\n> The Astropy Project is a community effort to develop a single core package for astronomy in Python and foster interoperability between packages used in the field. This repository contains the core library.\n\nFrom the repo Readme.md\n\nhttps://github.com/pylint-dev/astroid\n\n> The aim of this module is to provide a common base representation of python source code. It is currently the library powering pylint's capabilities.\n\nFrom the repo Readme.md\n","metadata":{}},{"cell_type":"markdown","source":"## issue_numbers","metadata":{}},{"cell_type":"code","source":"print(first_prolem := df['issue_numbers'][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.157481Z","iopub.execute_input":"2024-12-14T13:29:01.157942Z","iopub.status.idle":"2024-12-14T13:29:01.170424Z","shell.execute_reply.started":"2024-12-14T13:29:01.157876Z","shell.execute_reply":"2024-12-14T13:29:01.169375Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"So if you go to find the issue 2492 on the github link above you will find:\n\nhttps://github.com/pylint-dev/astroid/issues/2492\n\nWhich corripond to the problem statment \n\nlet's check","metadata":{}},{"cell_type":"markdown","source":"## problem_statement","metadata":{}},{"cell_type":"code","source":"print(first_prolem := df['problem_statement'][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.171983Z","iopub.execute_input":"2024-12-14T13:29:01.172441Z","iopub.status.idle":"2024-12-14T13:29:01.187536Z","shell.execute_reply.started":"2024-12-14T13:29:01.172394Z","shell.execute_reply":"2024-12-14T13:29:01.185995Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"So if we go on the pull request number 2496 \n\nhttps://github.com/pylint-dev/astroid/pull/2496\n\nAnd go to see the code diff \nwe should able to see the patch \n\nhttps://github.com/pylint-dev/astroid/pull/2496/files\n\nactully it seam that there you can find \nthe patch and the test_patch\n\nbelow we look at what their value for the first row.","metadata":{}},{"cell_type":"markdown","source":"## test_patch","metadata":{}},{"cell_type":"code","source":"print(df['test_patch'][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.189538Z","iopub.execute_input":"2024-12-14T13:29:01.190024Z","iopub.status.idle":"2024-12-14T13:29:01.204058Z","shell.execute_reply.started":"2024-12-14T13:29:01.189964Z","shell.execute_reply":"2024-12-14T13:29:01.202971Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Probably this is the test that need to be passed in order to declare the issue solved","metadata":{}},{"cell_type":"markdown","source":"An this is the patch of the pull request that solved the issue","metadata":{}},{"cell_type":"markdown","source":"## patch","metadata":{}},{"cell_type":"code","source":"print(df[\"patch\"][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.205432Z","iopub.execute_input":"2024-12-14T13:29:01.205763Z","iopub.status.idle":"2024-12-14T13:29:01.218722Z","shell.execute_reply.started":"2024-12-14T13:29:01.20573Z","shell.execute_reply":"2024-12-14T13:29:01.217625Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"markdown","source":"## pull_number","metadata":{}},{"cell_type":"code","source":"print(df['pull_number'][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.219989Z","iopub.execute_input":"2024-12-14T13:29:01.22031Z","iopub.status.idle":"2024-12-14T13:29:01.232291Z","shell.execute_reply.started":"2024-12-14T13:29:01.22028Z","shell.execute_reply":"2024-12-14T13:29:01.231277Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"So the the id for each repo state: `df['instance_id']`\nis the name of the name of author/orga '__' name of repo - number of pull \n\nSo the state is the exact state after the pull","metadata":{}},{"cell_type":"code","source":"df['instance_id'][0] ","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.233504Z","iopub.execute_input":"2024-12-14T13:29:01.234249Z","iopub.status.idle":"2024-12-14T13:29:01.247306Z","shell.execute_reply.started":"2024-12-14T13:29:01.234202Z","shell.execute_reply":"2024-12-14T13:29:01.246212Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"#### Pull request\n\n**distributed version control system term**\n\n> Contributions to a source code repository that uses a distributed version control system are commonly made by means of a pull request, also known as a merge request.[11] The contributor requests that the project maintainer pull the source code change, hence the name \"pull request\". The maintainer has to merge the pull request if the contribution should become part of the source base.\n\nWikipedia","metadata":{}},{"cell_type":"markdown","source":"So we have 2496 pull request for first repo at fixed state of the repo.","metadata":{}},{"cell_type":"markdown","source":"## base_commit","metadata":{"execution":{"iopub.status.busy":"2024-12-13T20:30:37.882926Z","iopub.execute_input":"2024-12-13T20:30:37.883308Z","iopub.status.idle":"2024-12-13T20:30:37.912577Z","shell.execute_reply.started":"2024-12-13T20:30:37.883274Z","shell.execute_reply":"2024-12-13T20:30:37.911244Z"}}},{"cell_type":"code","source":"print(df['base_commit'][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.248472Z","iopub.execute_input":"2024-12-14T13:29:01.24877Z","iopub.status.idle":"2024-12-14T13:29:01.263487Z","shell.execute_reply.started":"2024-12-14T13:29:01.248729Z","shell.execute_reply":"2024-12-14T13:29:01.262218Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Commit\n\nIn version control systems, a commit is an operation which sends the latest changes of the source code to the repository, making these changes part of the head revision of the repository. ","metadata":{}},{"cell_type":"markdown","source":"> base_commit - The commit used as the basis for the provided copy of the repo.\n\nField description on data tab of this comptition","metadata":{"execution":{"iopub.status.busy":"2024-12-13T07:41:18.450814Z","iopub.execute_input":"2024-12-13T07:41:18.451248Z","iopub.status.idle":"2024-12-13T07:41:18.458757Z","shell.execute_reply.started":"2024-12-13T07:41:18.451217Z","shell.execute_reply":"2024-12-13T07:41:18.45721Z"}}},{"cell_type":"markdown","source":"So probably the repo `pylint-dev/astroid` where at commit `8d3cdbbe6685fd8cf211816bec56c90f38f1859e` when the pach were given\n\n","metadata":{"execution":{"iopub.status.busy":"2024-12-13T07:42:39.967174Z","iopub.execute_input":"2024-12-13T07:42:39.967635Z","iopub.status.idle":"2024-12-13T07:42:39.97557Z","shell.execute_reply.started":"2024-12-13T07:42:39.967597Z","shell.execute_reply":"2024-12-13T07:42:39.973873Z"}}},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"markdown","source":"## FAIL_TO_PASS","metadata":{}},{"cell_type":"code","source":"print(df['FAIL_TO_PASS'][0][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.264941Z","iopub.execute_input":"2024-12-14T13:29:01.265276Z","iopub.status.idle":"2024-12-14T13:29:01.278953Z","shell.execute_reply.started":"2024-12-14T13:29:01.265244Z","shell.execute_reply":"2024-12-14T13:29:01.277648Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"This should be an example of test that fail and that you want be pass after the patch","metadata":{}},{"cell_type":"markdown","source":"## PASS_TO_PASS","metadata":{}},{"cell_type":"code","source":"print(df['PASS_TO_PASS'][0][0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.280517Z","iopub.execute_input":"2024-12-14T13:29:01.280854Z","iopub.status.idle":"2024-12-14T13:29:01.291858Z","shell.execute_reply.started":"2024-12-14T13:29:01.28082Z","shell.execute_reply":"2024-12-14T13:29:01.290563Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"This should be an example of test that passed before the pach and that you want to continue to pass ","metadata":{}},{"cell_type":"markdown","source":"# The data","metadata":{}},{"cell_type":"markdown","source":"## Expolore the repo folder","metadata":{}},{"cell_type":"code","source":"ls(working_folder / 'data' / 'repos')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.293319Z","iopub.execute_input":"2024-12-14T13:29:01.294233Z","iopub.status.idle":"2024-12-14T13:29:01.306275Z","shell.execute_reply.started":"2024-12-14T13:29:01.294178Z","shell.execute_reply":"2024-12-14T13:29:01.305084Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Here seam that for each repo stato there is a folder with all content\nLe't take one ","metadata":{}},{"cell_type":"code","source":"ls(working_folder / 'data' / 'repos' / 'repo__pylint-dev__astroid-2468')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.307546Z","iopub.execute_input":"2024-12-14T13:29:01.308054Z","iopub.status.idle":"2024-12-14T13:29:01.321393Z","shell.execute_reply.started":"2024-12-14T13:29:01.308006Z","shell.execute_reply":"2024-12-14T13:29:01.320263Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!head  -n 40 /kaggle/working/data/repos/repo__pylint-dev__astroid-2468/README.rst","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:01.322888Z","iopub.execute_input":"2024-12-14T13:29:01.323346Z","iopub.status.idle":"2024-12-14T13:29:02.405454Z","shell.execute_reply.started":"2024-12-14T13:29:01.323299Z","shell.execute_reply":"2024-12-14T13:29:02.404035Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"And this is the Readme file we should find if we go to the github of the repo and checkout at the commit given","metadata":{"execution":{"iopub.status.busy":"2024-12-13T17:52:37.735548Z","iopub.execute_input":"2024-12-13T17:52:37.735985Z","iopub.status.idle":"2024-12-13T17:52:37.743368Z","shell.execute_reply.started":"2024-12-13T17:52:37.735938Z","shell.execute_reply":"2024-12-13T17:52:37.741815Z"}}},{"cell_type":"markdown","source":"let's continue to explore the data folder","metadata":{}},{"cell_type":"code","source":"ls(working_folder / 'data' )","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.407224Z","iopub.execute_input":"2024-12-14T13:29:02.407586Z","iopub.status.idle":"2024-12-14T13:29:02.414787Z","shell.execute_reply.started":"2024-12-14T13:29:02.407551Z","shell.execute_reply":"2024-12-14T13:29:02.413598Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Now we explore the repo_configs","metadata":{}},{"cell_type":"code","source":"ls(working_folder / 'data' / 'repo_configs')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.416182Z","iopub.execute_input":"2024-12-14T13:29:02.416563Z","iopub.status.idle":"2024-12-14T13:29:02.431013Z","shell.execute_reply.started":"2024-12-14T13:29:02.416529Z","shell.execute_reply":"2024-12-14T13:29:02.429886Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"That seam that this config are shared for repo and does not depend on the state of the repo","metadata":{}},{"cell_type":"code","source":"import json\n\nrepo_configs  = json.loads(Path(working_folder / 'data' / 'repo_configs' / 'astropy.json').read_text())\nfor key in repo_configs:\n    print(key, repo_configs[key].keys() if isinstance(repo_configs[key], dict) else repo_configs[key]  )","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.436439Z","iopub.execute_input":"2024-12-14T13:29:02.436958Z","iopub.status.idle":"2024-12-14T13:29:02.445647Z","shell.execute_reply.started":"2024-12-14T13:29:02.436891Z","shell.execute_reply":"2024-12-14T13:29:02.444466Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"specs = repo_configs['specs']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.446994Z","iopub.execute_input":"2024-12-14T13:29:02.447298Z","iopub.status.idle":"2024-12-14T13:29:02.462991Z","shell.execute_reply.started":"2024-12-14T13:29:02.44727Z","shell.execute_reply":"2024-12-14T13:29:02.461789Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"specs['3.0']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.464635Z","iopub.execute_input":"2024-12-14T13:29:02.465009Z","iopub.status.idle":"2024-12-14T13:29:02.482675Z","shell.execute_reply.started":"2024-12-14T13:29:02.464974Z","shell.execute_reply":"2024-12-14T13:29:02.481464Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"So maby for each repo version give the requirment to run the test","metadata":{}},{"cell_type":"markdown","source":"## Python packages files \n\n","metadata":{}},{"cell_type":"code","source":"ls(working_folder / 'data' / 'pip_packages')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.484136Z","iopub.execute_input":"2024-12-14T13:29:02.484499Z","iopub.status.idle":"2024-12-14T13:29:02.501015Z","shell.execute_reply.started":"2024-12-14T13:29:02.484465Z","shell.execute_reply":"2024-12-14T13:29:02.49944Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"ls(working_folder / 'data' / 'conda_packages')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.502432Z","iopub.execute_input":"2024-12-14T13:29:02.502984Z","iopub.status.idle":"2024-12-14T13:29:02.519434Z","shell.execute_reply.started":"2024-12-14T13:29:02.502932Z","shell.execute_reply":"2024-12-14T13:29:02.51826Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"ls(working_folder / 'data' / 'conda_packages' / 'linux-64')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-14T13:29:02.520955Z","iopub.execute_input":"2024-12-14T13:29:02.521396Z","iopub.status.idle":"2024-12-14T13:29:02.543513Z","shell.execute_reply.started":"2024-12-14T13:29:02.52135Z","shell.execute_reply":"2024-12-14T13:29:02.542251Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"so they seam both needed package to run the code provided in the 'data/repo/' folder","metadata":{}}]}