{"id":23060,"library":"cycode","title":"Cycode CLI","description":"Cycode CLI (v3.15.0) is a security scanning tool for SAST, SCA, Secrets, and IaC scanning, integrating into developer workflows via CLI or CI/CD. It requires Python >=3.9 and is actively maintained with frequent releases.","status":"active","version":"3.15.0","language":"python","source_language":"en","source_url":"https://github.com/cycodehq/cycode-cli","tags":["security","devsecops","sast","sca","secrets","iac","cli"],"install":[{"cmd":"pip install cycode","lang":"bash","label":"Install Cycode CLI from PyPI"}],"dependencies":[{"reason":"Used for Git operations","package":"gitpython","optional":true},{"reason":"JWT token handling","package":"pyjwt","optional":false},{"reason":"Syntax highlighting in output","package":"pygments","optional":true}],"imports":[{"note":"CycodeClient is in cycode.cli.client, not top-level","wrong":"from cycode import CycodeClient","symbol":"CycodeClient","correct":"from cycode.cli.client import CycodeClient"}],"quickstart":{"code":"import os\nfrom cycode.cli.client import CycodeClient\n\nclient = CycodeClient(\n    client_id=os.environ.get('CYCODE_CLIENT_ID', ''),\n    client_secret=os.environ.get('CYCODE_CLIENT_SECRET', '')\n)\n# Example: scan a file (requires auth)\nresult = client.scan_file(path='main.py')\nprint(result)","lang":"python","description":"Initialize the Cycode client with environment variables and perform a scan."},"warnings":[{"fix":"Review your usage of Cycode API endpoints; migrate to v4 endpoints as documented in the changelog.","message":"In v3.14.0, Cycode API v4 was exposed through CLI commands. API v3 endpoints may be deprecated. Update any custom integrations.","severity":"breaking","affected_versions":">=3.14.0"},{"fix":"Set environment variables: export CYCODE_CLIENT_ID='your_id' CYCODE_CLIENT_SECRET='your_secret'","message":"The CLI must be authenticated before scanning. Many users forget to set CYCODE_CLIENT_ID and CYCODE_CLIENT_SECRET environment variables.","severity":"gotcha","affected_versions":"all"},{"fix":"Add --stop-on-error flag to cycode scan commands to stop file collection on errors.","message":"Scanning large repositories may slow down due to file collection and upload. Use --stop-on-error flag to handle scan errors gracefully.","severity":"gotcha","affected_versions":">=3.12.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: pip install cycode","cause":"Cycode is not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'cycode'"},{"fix":"Upgrade cycode: pip install --upgrade cycode","cause":"--stop-on-error flag was added in v3.12.1. Using an older version.","error":"cycode: error: unrecognized arguments: --stop-on-error"},{"fix":"Use: from cycode.cli.client import CycodeClient","cause":"Wrong import path; CycodeClient is not at top-level.","error":"AttributeError: module 'cycode' has no attribute 'CycodeClient'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}