{"id":19329782,"url":"https://github.com/outerbounds/vscode-debug-metaflow","last_synced_at":"2025-08-20T05:16:58.137Z","repository":{"id":107341025,"uuid":"457154660","full_name":"outerbounds/vscode-debug-metaflow","owner":"outerbounds","description":null,"archived":false,"fork":false,"pushed_at":"2022-02-09T01:54:18.000Z","size":4,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T15:09:31.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outerbounds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-09T00:41:39.000Z","updated_at":"2025-03-16T07:20:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"e5f9d4d2-3d65-476c-b916-ec3e4e03f115","html_url":"https://github.com/outerbounds/vscode-debug-metaflow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/outerbounds/vscode-debug-metaflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outerbounds%2Fvscode-debug-metaflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outerbounds%2Fvscode-debug-metaflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outerbounds%2Fvscode-debug-metaflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outerbounds%2Fvscode-debug-metaflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outerbounds","download_url":"https://codeload.github.com/outerbounds/vscode-debug-metaflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outerbounds%2Fvscode-debug-metaflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271268859,"owners_count":24730026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T02:29:55.851Z","updated_at":"2025-08-20T05:16:58.098Z","avatar_url":"https://github.com/outerbounds.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Debugging Metaflow with VSCode\n\n\u003e A minimal example of debugging Metaflow Flows with VSCode.  \n\nBecause Metaflow launches python subprocesses to run Flows, debugging with `pdb` or `ipdb` is not straightforward.  However, VSCode provides utilities to make debugging these types of programs easy.\n\nWe enable debugging of Metaflow in VSCode by add the right configuration in your project's settings in [.vscode/launch.json](.vscode/launch.json).\n\nHere is a recording of the end-to-end setup proccess:\n\n\nhttps://user-images.githubusercontent.com/1483922/153103811-c40bf6bd-841c-4f63-b0fd-532e3949eb2f.mp4\n\n\nYou can now set breakpoints and then select \"Start Debugging\" from the \"Debug\" menu. Note that since Metaflow may launch multiple steps in parallel, you may actually hit multiple breakpoints at the same time; you will be able to switch between those breakpoints by selecting the proper function stack in the \"Call Stack\" window. You can also restrict Metaflow to only execute one step at a time by adding the values \"--max-workers\" and  \"1\" to the \"args\" array in the configuration.\n\n### Combining debugging with resume\n\nYou can naturally combine the techniques described in this section with the \"resume\" command described previously. Instead of passing \"run\" as the program argument, simply pass \"resume\".\n\n### Compatibility with Conda decorator\n\nThe above instructions work even if you use [`@conda` decorators](dependencies.md#managing-dependencies-with-conda-decorator) in your code; you need, however, to ensure that the `conda` binary is available in your `PATH`. The easiest way to do this is to set the `PATH` environment variable to properly include the path to the `conda` binary if it is in a non-standard location. In VSCode, you can simply add this value in the env section of launch.json and in PyCharm, the UI allows you to set environment variables.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouterbounds%2Fvscode-debug-metaflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fouterbounds%2Fvscode-debug-metaflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouterbounds%2Fvscode-debug-metaflow/lists"}