{"data":{"slug":"joshpxyne-gpt-migrate","name":"gpt-migrate","tagline":"A tool to migrate codebases across frameworks and languages","github_url":"https://github.com/joshpxyne/gpt-migrate","owner":"joshpxyne","repo":"gpt-migrate","owner_avatar_url":"https://avatars.githubusercontent.com/u/25165841?v=4","primary_language":"Python","stars":6979,"forks":501,"topics":[],"archived":false,"github_pushed_at":"2024-09-17T23:13:51+00:00","maintenance_label":"Dormant","stars_delta_30d":-1,"url":"https://www.graphcanon.com/tools/joshpxyne-gpt-migrate","markdown_url":"https://www.graphcanon.com/tools/joshpxyne-gpt-migrate.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/joshpxyne-gpt-migrate","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=joshpxyne-gpt-migrate","description":"Easily migrate your codebase from one framework or language to another.","homepage_url":"https://gpt-migrate.com","license":"MIT","open_issues":26,"watchers":52,"ai_summary":"GPT-Migrate is a Python-based utility that leverages APIs from OpenRouter and OpenAI to facilitate the migration of existing project codebases into another framework or language.","readme_excerpt":"## 📦 Installation using Poetry\n\n1. Install Poetry by following the instructions on the [official Poetry website](https://python-poetry.org/docs/#installation).\n\n2. Once Poetry is installed, navigate to the project directory and install the project dependencies using the following command:\n\n```bash\npoetry install\n```\n\nThis will create a virtual environment and install all the necessary dependencies in that environment.\n\n2. Set your [OpenRouter API key](https://openrouter.ai/docs#api-keys) (default) and/or your [OpenAI API key](https://platform.openai.com/account/api-keys) (to use the OpenAI API directly...in this case, set --model to `gpt-4-32k` or your desired model) and install the python requirements:\n\n`export OPENROUTER_API_KEY=<your key>`\n`export OPENAI_API_KEY=<your key>`\n`pip install -r requirements.txt`\n\n3. Run the main script with the target language you want to migrate to:\n\n`python main.py --targetlang nodejs`\n\n4. (Optional) If you'd like GPT-Migrate to validate the unit tests it creates against your app before it tests the migrated app with them, please have your existing app exposed and use the `--sourceport` flag. For executing this against the benchmark, open a separate terminal, navigate to the `benchmarks/language-pair/source` directory, and run `python app.py` after installing the requirements. It will expose on port 5000. Use this with the `--sourceport` flag.\n\nBy default, this script will execute the flask-nodejs benchmark. You can specify the language, source directory, and many other things using the options guide below.","github_created_at":"2023-06-24T22:17:12+00:00","created_at":"2026-07-11T10:51:45.937815+00:00","updated_at":"2026-08-15T12:00:53.525722+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"api-integration","name":"api integration"},{"slug":"code-migration","name":"code migration"},{"slug":"dependency-management-with-poetry","name":"dependency management with poetry"},{"slug":"flask-nodejs-benchmarking","name":"flask-nodejs benchmarking"},{"slug":"language-conversion","name":"language conversion"},{"slug":"openai-api","name":"openai-api"},{"slug":"python-script","name":"python script"},{"slug":"virtual-environment-setup","name":"virtual environment setup"}],"trust":{"provenance":{"is_fork":false,"github_id":658136967,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-15T12:00:52.760Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":696,"last_release_at":null,"stars_delta_30d":-1,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:51:49.985Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-15T12:00:53.218Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-15T12:00:53.218Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-08-15T12:00:53.218Z"}},"decision_facts":{"hosting":null,"pricing":{"model":"freemium","summary":"A free tool under MIT license, but usage depends on securing API keys from OpenRouter and/or OpenAI, which might involve costs based on their pricing structure."},"requirements":{"notes":["Poetry for package management."],"min_ram_gb":null,"requires_docker":false},"constraints":{"min_ram_gb":null,"pricing_model":"freemium","requires_docker":false},"when_to_use":["When you need to migrate an existing Python project codebase into Node.js, utilizing the OpenRouter API or the configurable OpenAI API."],"when_not_to_use":["If you are working with languages not supported by GPT-Migrate or if your migration requirements extend beyond the capabilities provided by its third-party APIs.","For projects where a manual migration process is preferred due to concerns over code quality, compatibility issues, or lack of detailed control over the migration."],"source":"enrich:decision_facts","observed_at":"2026-07-14T20:43:49.211Z"},"constraint_facets":{"min_ram_gb":null,"pricing_model":"freemium","requires_docker":false},"decision_summary":[{"label":"Pricing","value":"freemium - A free tool under MIT license, but usage depends on securing API keys from OpenRouter and/or OpenAI, which might involve costs based on their pricing structure."},{"label":"Requirements","value":"Poetry for package management."},{"label":"Adopt for","value":"A tool for transitioning codebases across different programming frameworks and languages using third-party APIs."}]}}