{"id":13809702,"url":"https://github.com/advanced-security/grab_ql","last_synced_at":"2025-06-17T02:36:16.494Z","repository":{"id":46139183,"uuid":"505535548","full_name":"advanced-security/grab_ql","owner":"advanced-security","description":"Grab some/all of CodeQL CLI binary, QL library, VSCode starter workspace, VSCode and VSCode QL extension","archived":false,"fork":false,"pushed_at":"2024-05-21T06:34:52.000Z","size":72,"stargazers_count":10,"open_issues_count":11,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-28T17:44:51.166Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/advanced-security.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-20T17:26:04.000Z","updated_at":"2025-03-09T04:21:21.000Z","dependencies_parsed_at":"2024-01-13T14:40:44.498Z","dependency_job_id":"510318ef-0e29-4142-955e-50cca3dae45e","html_url":"https://github.com/advanced-security/grab_ql","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/advanced-security/grab_ql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advanced-security%2Fgrab_ql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advanced-security%2Fgrab_ql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advanced-security%2Fgrab_ql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advanced-security%2Fgrab_ql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/advanced-security","download_url":"https://codeload.github.com/advanced-security/grab_ql/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advanced-security%2Fgrab_ql/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260278437,"owners_count":22985286,"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","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-08-04T02:00:34.632Z","updated_at":"2025-06-17T02:36:16.455Z","avatar_url":"https://github.com/advanced-security.png","language":"Python","readme":"# Grab CodeQL\n\n`grab_codeql` lets you get [CodeQL](https://codeql.github.com/) for the command-line and in VSCode using one downloader.\n\nIt grabs some or all of the [CodeQL CLI binary](https://github.com/github/codeql-cli-binaries), [the CodeQL libraries](https://github.com/github/codeql), [the VSCode IDE](https://code.visualstudio.com/) and the [VSCode CodeQL extension](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql).\n\nYou can get the latest version, or a specific version of each one.\n\nThis is in active development as of July 2022.\n\n## Motivation\n\nFinding and installing [CodeQL](https://codeql.github.com/) and getting it working with [VSCode](https://code.visualstudio.com/) can sometimes be a little laborious and error prone. This project automates the process of finding the right installer for each part you need.\n\nThis is useful for getting started quickly with CodeQL (perhaps during training), or for getting the right installers for use on an \"airgapped\" network that cannot download the packages directly.\n\n## Getting started\n\nWith no switches, `grab-codeql` will attempt to get the latest versions of the packages listed above, all for the current platform.\n\nGet full usage with `grab-codeql --help`, after installation,\nor try `python3 -mpydoc grab_codeql.grab_codeql` if you installed the Python module.\n\nSome typical examples of usage are:\n\n``` bash\n# Get tag 'v2.9.4' of the CLI release binary, and also get the equivalent tag for the library.\n# Gets whichever is the latest version of VSCode and the CodeQL VSCode extension.\n# Matches downloads to the current platform.\ngrab-codeql --tag v2.9.4\n\n# Get tag 'v2.9.4' of the CLI release binary.\n# Only get the CLI binary, not the library, VSCode, or the extension.\n# Match the download to the current platform.\ngrab-codeql --tag v2.9.4 --no-lib --no-vscode --no-vscode-ext\n\n# Get the latest versions of all of the downloads.\n# Match the downloads to Windows 64-bit with Intel.\ngrab-codeql --os windows --bits 64 --machine intel\n\n# List the available tags/versions for the downloads.\ngrab-codeql --list-tags\n\n# Do a dry-run of the downloads - select the package and stop before downloading\ngrab-codeql --dry-run\n\n# Put the downloads in a given directory\ngrab-codeql --download-path /a/download/path\n\n# Provide a GitHub token to authenticate to the GitHub API (not usually necessary)\nexport GH_TOKEN=\u003ctoken\u003e\ngrab_codeql\n# or\n grab_codeql --github-token \u003ctoken\u003e\n```\n\n## Installation\n\nYou have a few options for installation: a Python wheel; OR from source; OR a MacOS M-series binary.\n\n### Install from Python wheel\n\nThis option needs Python 3.8+ and pip.\n\nThis will install the Python module and a CLI shortcut, both named `grab_codeql`.\n\nGet the Python wheel from the releases for this repository, then install it:\n\n``` bash\npython3 -m pip install grab_codeql-*-py3-none-any.whl\n```\n\nOR\n\n### Clone and install from source\n\nThis option needs Python 3.8+ and pip and GNU Make.\n\nIt installs the Python module and a CLI shortcut, both named `grab_codeql`.\n\nClone this repository and install from source:\n\n``` bash\ngit clone \u003crepo url\u003e\ncd grab_ql\nmake \u0026\u0026 make install\n```\n\nIf you don't have GNU Make, you can instead use:\n\n``` bash\ngit clone \u003crepo url\u003e\ncd grab_ql\npython3 -m pip install build\npython3 -m build\npython3 -m pip install ./dist/grab_codeql-*.whl\n```\n\nOR\n\n### Use the MacOS 12.0 ARM binary release\n\nThis option runs on MacOS 12+ on the M-series chip.\n\nGet the release named `grab_codeql.bin` from this repository, then run it:\n\n  ``` bash\n  chmod +x grab_codeql.bin\n  ./grab_codeql.bin\n  ```\n\n## Dependencies\n\nRunning `grab_codeql` relies on:\n\n* Python 3.8+\n  * you can also use a standalone binary distributable on MacOS (see above)\n* web connection\n  * to use the [GitHub API](https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api), the [Visual Studio MarketPlace](https://marketplace.visualstudio.com/) API, and to download installer files from GitHub, the MarketPlace and the VSCode website\n* Optionally: HomeBrew (on MacOS, Linux or WSL)\n\n## Troubleshooting\n\nHaving problems using or installing? Check these steps. If all else fails, raise an issue on the issue tracker on the GitHub repository.\n\n### Install problems\n\n1. Make sure you are using Python 3.8+ (Python 2.7 or below is not supported, and neither is 3.7 and below)\n2. Check your [pip configuration](https://pip.pypa.io/en/stable/user_guide/) to make sure the installer can reach PyPi\n3. Try upgrading `pip` using `python3 -mpip install pip --upgrade`\n4. Try the release wheel or release binary (for MacOS 12+ M-series only) if installing from source is failing\n\n### Usage problems\n\n1. Try using `grab-codeql --debug` to get debug output\n2. Check that you installed the module, or that the release binary is in your `PATH`\n3. Read `grab-codeql --help` to understand the available flags\n4. Review the \"Getting started\" section to see typical usage\n\n## Building\n\nYou can use `make` to build both the wheel and the release binary for your platform.\n\n### Wheel\n\n* Python 3.8+\n* Pip and PyPi\n* Python dependencies via PyPi (see `requirements.txt` and `dev-requirements.txt`)\n* GNU Make (or run commands manually)\n\nRun `make build` to build just the wheel.\n\n### binary\n\n* `nuitka` python module from PyPi, and dependencies (`orderedset zstandard` from PyPi)\n* Cython Python 3.8+\n* Pip and PyPi\n* GNU Make (or run commands manually)\n* Python dependencies via PyPi (see `requirements.txt` and `dev-requirements.txt`)\n* a supported compiler for your platform\n\nRun `make bin` to build the release binary for the platform you are on.\n\n## Development dependencies\n\n* Python dependencies via PyPi (see `dev-requirements.txt`)\n\n## Contributing\n\nSee [CONTRIBUTING](CONTRIBUTING.md)\n\n## License\n\nThis project is licensed under the terms of the MIT open source license. Please refer to [LICENSE](LICENSE) for the full terms.\n\n## Maintainers\n\nSee [CODEOWNERS](CODEOWNERS)\n\n## Acknowledgments and notes\n\nKnowledge of the Microsoft Visual Studio Marketplace API derived from the [VSCode source code](https://github.com/microsoft/vscode/blob/main/src/vs/platform/extensionManagement/common/extensionGalleryService.ts).\n\nThis project is not officially supported by GitHub.\n","funding_links":[],"categories":["CodeQL Installers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvanced-security%2Fgrab_ql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadvanced-security%2Fgrab_ql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvanced-security%2Fgrab_ql/lists"}