{"id":18894200,"url":"https://github.com/trailofbits/cast2gif","last_synced_at":"2025-04-15T00:32:03.821Z","repository":{"id":38179485,"uuid":"152447860","full_name":"trailofbits/cast2gif","owner":"trailofbits","description":"Converts AsciiCast terminal recordings to animated GIFs","archived":false,"fork":false,"pushed_at":"2023-04-11T18:03:55.000Z","size":2871,"stargazers_count":11,"open_issues_count":3,"forks_count":2,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-03-28T12:51:16.430Z","etag":null,"topics":["animated-gifs","cli","presentation-tools"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailofbits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-10T15:37:14.000Z","updated_at":"2024-11-14T17:35:57.000Z","dependencies_parsed_at":"2023-02-15T01:45:49.351Z","dependency_job_id":null,"html_url":"https://github.com/trailofbits/cast2gif","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fcast2gif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fcast2gif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fcast2gif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fcast2gif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","download_url":"https://codeload.github.com/trailofbits/cast2gif/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248984417,"owners_count":21193747,"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":["animated-gifs","cli","presentation-tools"],"created_at":"2024-11-08T08:19:52.020Z","updated_at":"2025-04-15T00:31:59.667Z","avatar_url":"https://github.com/trailofbits.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cast2Gif\nA pure Python ANSI terminal emulator that can render AsciiCast terminal recordings to an animated GIF or screenshot.\n\nCast2Gif can also generate its own recordings directly, without requiring asciinema to be installed (see the `--exec` option).\n\nFor example, to generate a PNG screenshot of the output of the `ls` command, run\n```bash\ncast2gif --screenshot --output ls.png  --exec  \"ls\"\n```\n\n## Quickstart\n\nIn the same directory as this README, run:\n```\npip3 install .\n```\n\nThis will automatically install the `cast2gif` executable in your path.\n\n## Usage\n\n```\nusage: cast2gif [-h] [-v] [--exec ...] [--hide-prompt] [--ps1 PS1] [-o OUTPUT]\n                [--force] [--screenshot] [--font FONT] [-s FONT_SIZE]\n                [--fps FPS] [--idle-time-limit IDLE_TIME_LIMIT] [--loop LOOP]\n                [--quiet] [--width WIDTH] [--height HEIGHT] [--auto-size]\n                [ASCIICAST]\n\nConverts AsciiCast terminal recordings to animated GIFs\n\npositional arguments:\n  ASCIICAST             The AsciiCast v2 file to convert, or '-' for STDIN\n                        (the default)\n\noptions:\n  -h, --help            show this help message and exit\n  -v, --version         Print version information and exit\n  --exec ..., -c ...    Instead of parsing an AsciiCast v2 file, run the\n                        command immediately after `--exec` and use its output\n  --hide-prompt         By default, when using the `--exec` argument to run a\n                        command, the command prompt is included before the\n                        command output; this argument hides the prompt and\n                        only includes the output\n  --ps1 PS1             The PS1 command prompt to use in conjuction with the\n                        `--exec` output (default=\"${PS1}\", if it is set,\n                        otherwise \"$ \" in green)\n  -o OUTPUT, --output OUTPUT\n                        The path for the output GIF file, or '-' for STDOUT\n                        (default is the input filename plus '.gif', or STDOUT\n                        if the input file is STDIN)\n  --force               Overwrite the output file even if it already exists\n  --screenshot, -sc     Render a screenshot rather than an animated gif\n  --font FONT           Path to a TrueType font for rendering; defaults to\n                        SourceCodePro; this argument can be supplied multiple\n                        times, with additional fonts used in the event that\n                        one is missing a required glyph\n  -s FONT_SIZE, --font-size FONT_SIZE\n                        Font size (default=12)\n  --fps FPS             Speficy the number of frames per second in the output\n                        GIF; by default, an optimal FPS is calculated\n  --idle-time-limit IDLE_TIME_LIMIT\n                        The maximum amount of idle time that can occur between\n                        terminal events; by default this is read from the\n                        AsciiCast input, or set to zero if none is specified\n                        in the input; if provided, this option will override\n                        whatever is specified in the input\n  --loop LOOP           The number of times the GIF should loop, or zero if it\n                        should loop forever (default=0)\n  --quiet               Suppress all logging and status printouts\n  --width WIDTH         Override the output width\n  --height HEIGHT       Override the output height\n  --auto-size           Override the output dimensions to be wide enough to\n                        fit every line; if specified, this overrides the\n                        `--width` option\n```\n\n## License\n\nCast2Gif is licensed and distributed under the [AGPLv3](LICENSE) license. [Contact us](mailto:opensource@trailofbits.com) if you’re looking for an exception to the terms.\n\nSeveral fonts are distributed with Cast2Gif. They are licensed as follows:\n- **Fira Code Nerd Font**: Copyright © 2014, The Fira Code Project Authors and distributed under the\n  [SIL Open Font License, Version 1.1](cast2gif/fonts/FiraCode/LICENSE)\n- **Hack Nerd Font**: Copyright © 2018, Source Foundry Authors and distributed under the\n  [MIT License](cast2gif/fonts/Hack/LICENSE.md)\n- **Adobe SourceCodePro**: Copyright © 2010, 2012 Adobe Systems Incorporated and distributed under the\n  [SIL Open Font License, Version 1.1](cast2gif/fonts/SourceCodePro/OFL.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailofbits%2Fcast2gif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrailofbits%2Fcast2gif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailofbits%2Fcast2gif/lists"}