{"id":13481911,"url":"https://github.com/typemytype/drawbot","last_synced_at":"2025-12-24T18:55:36.820Z","repository":{"id":8213496,"uuid":"9649178","full_name":"typemytype/drawbot","owner":"typemytype","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-30T13:56:34.000Z","size":49456,"stargazers_count":395,"open_issues_count":110,"forks_count":61,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-08-01T17:30:52.741Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.drawbot.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/typemytype.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"license.txt","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},"funding":{"github":["justvanrossum","typemytype"]}},"created_at":"2013-04-24T14:08:44.000Z","updated_at":"2024-08-01T03:24:02.000Z","dependencies_parsed_at":"2023-02-18T19:01:37.165Z","dependency_job_id":"39affb17-808f-424e-a360-d36d7be80075","html_url":"https://github.com/typemytype/drawbot","commit_stats":{"total_commits":1086,"total_committers":19,"mean_commits":57.1578947368421,"dds":"0.29558011049723754","last_synced_commit":"100dbdfed987cd392ede42aba5744977d500f9d7"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typemytype%2Fdrawbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typemytype%2Fdrawbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typemytype%2Fdrawbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typemytype%2Fdrawbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typemytype","download_url":"https://codeload.github.com/typemytype/drawbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222251998,"owners_count":16955946,"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-07-31T17:00:57.354Z","updated_at":"2025-12-24T18:55:36.814Z","avatar_url":"https://github.com/typemytype.png","language":"Python","readme":"![DrawBot Test Bench](https://github.com/typemytype/drawbot/workflows/DrawBot%20Test%20Bench/badge.svg)\n![DrawBot App Builder](https://github.com/typemytype/drawbot/workflows/DrawBot%20App%20Builder/badge.svg)\n[![codecov](https://codecov.io/gh/typemytype/drawbot/branch/master/graph/badge.svg)](https://codecov.io/gh/typemytype/drawbot)\n\n# DrawBot\n\nDrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics. The built-in graphics primitives support rectangles, ovals, (bezier) paths, polygons, text objects, colors, transparency and much more. You can program multi-page documents and stop-motion animations. Export formats include PDF, SVG, PNG, JPEG, TIFF, animated GIF and MP4 video.\n\nTo download the latest version of the app, go to\nhttp://www.drawbot.com/content/download.html\n\n---\n\n## Using DrawBot as a Python module\n\nDrawBot can also be installed as a Python module, the app is not required. It works on Python3.11+.\n\n#### Install\n\nThe easiest way is to use pip:\n\n\tpip install git+https://github.com/typemytype/drawbot\n\nTo install it manually, follow these instructions:\n\ndownload: https://github.com/typemytype/drawbot/archive/master.zip\n\nrun `cd \u003cpath/where/you/have/downloaded/and/unzipped/drawBot\u003e`\nrun `python setup.py install`\n\n#### Usage\n\n```Python\nimport drawBot\n\nwith drawBot.drawing():\n    drawBot.newPage(1000, 1000)\n    drawBot.rect(10, 10, 100, 100)\n    drawBot.saveImage(\"~/Desktop/aRect.png\")\n```\n\nIt is adviced to wrap your drawing instructions into a `with drawbot.drawing()` statement, to clear the instruction stack and remove installed fonts.\n\n---\n\n## Compile DrawBot from source\n\n#### compile drawBot.app (with UI)\n\n__Required packages:__\n\n(Most of these are available through `pip`.)\n\n* [vanilla](https://github.com/typesupply/vanilla)\n* [defcon](https://github.com/typesupply/defcon)\n* [defconAppKit](https://github.com/typesupply/defconAppKit)\n* [fonttools](https://github.com/fonttools/fonttools)\n* [pygments](http://pygments.org)\n* [jedi](http://jedi.jedidjah.ch/en/latest/)\n* [booleanOperations](https://github.com/typemytype/booleanOperations)\n* [mutatorMath](https://github.com/LettError/MutatorMath)\n* [woffTools](https://github.com/typesupply/woffTools)\n* [compositor](https://github.com/typesupply/compositor)\n* [feaTools2](https://github.com/typesupply/feaTools2)\n* [ufo2svg](https://github.com/typesupply/ufo2svg)\n* [PyObjC](https://github.com/ronaldoussoren/pyobjc)\n* [PIL](https://github.com/python-pillow/Pillow) (only for running tests)\n\n__Compile:__\n\n\nDrawBot is compiled with [py2app](https://pypi.python.org/pypi/py2app/) into an application package.\n\n\n    cd path/To/drawBot\n    python setupApp.py py2app\n\n\n#### compile drawBot Python module only\n\n\nThis module only works on Mac OS as it requires `PyObjC`, `AppKit`, `CoreText` `Quartz` and more.\n\n__Required packages:__\n\n* [vanilla](https://github.com/typesupply/vanilla)\n* [defconAppKit](https://github.com/typesupply/defconAppKit)\n* [fontTools](https://github.com/behdad/fonttools)\n\n__Compile:__\n\n\tcd path/To/drawBot\n    python setup.py install\n\n\n## [Release protocol](https://github.com/typemytype/drawbot/wiki/DrawBot-release-protocol)\n","funding_links":["https://github.com/sponsors/justvanrossum","https://github.com/sponsors/typemytype"],"categories":["Python","\u003ca id=\"tag-education\" href=\"#tag-education\"\u003eEducation\u003c/a\u003e"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypemytype%2Fdrawbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypemytype%2Fdrawbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypemytype%2Fdrawbot/lists"}