{"id":22862395,"url":"https://github.com/dylibso/xtp-python-bindgen","last_synced_at":"2026-02-14T03:17:33.058Z","repository":{"id":261876762,"uuid":"863189834","full_name":"dylibso/xtp-python-bindgen","owner":"dylibso","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-26T15:10:29.000Z","size":57,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-07T09:52:42.082Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"EJS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dylibso.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-25T21:49:32.000Z","updated_at":"2025-02-26T15:10:32.000Z","dependencies_parsed_at":"2024-12-03T23:25:23.366Z","dependency_job_id":"9157fca2-eb49-469e-8e2a-9bced480642b","html_url":"https://github.com/dylibso/xtp-python-bindgen","commit_stats":null,"previous_names":["dylibso/xtp-python-bindgen"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/dylibso/xtp-python-bindgen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fxtp-python-bindgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fxtp-python-bindgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fxtp-python-bindgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fxtp-python-bindgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dylibso","download_url":"https://codeload.github.com/dylibso/xtp-python-bindgen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fxtp-python-bindgen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29433304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T02:20:56.896Z","status":"ssl_error","status_checked_at":"2026-02-14T02:11:29.478Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-12-13T10:13:26.318Z","updated_at":"2026-02-14T03:17:33.042Z","avatar_url":"https://github.com/dylibso.png","language":"EJS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XTP Plugin Bindgen\n\n\u003e _Warning_: This is experimental and is still in the alpha phase. Changes will\n\u003e be made without warning. Please wait before you start writing new bindgens.\n\nThis repository houses the prototype for bingden for Python plug-ins in XTP. It's\nbased on the [XTP Schema](https://docs.xtp.dylibso.com/docs/concepts/xtp-schema)\nas the driving document. This document will be used to generate code and\ndocumentation for plug-in systems and is specifically tailored to\n[Extism](https://extism.org/) at the moment.\n\n## Building\n\nAn XTP gen template is distributed as a zip file with a `plugin.wasm`,\n`config.yaml`, and a `templates` directory of template files. To build this\n\"bundle\" run the `bundle.sh` command:\n\n```\n./bundle.sh\n```\n\nTo test you can use the XTP CLI and `plugin init`. You just need to point it at\na valid [XTP Schema](https://docs.xtp.dylibso.com/docs/concepts/xtp-schema)\nfile:\n\n```\nxtp plugin init --schema-file ./tests/schemas/fruit.yaml --template ./bundle --path myplugin -y\n```\n\n\u003e _Note_: If you have not installed the xtp cli: curl\n\u003e https://static.dylibso.com/cli/install.sh | sudo sh\n\n## Development\n\nWhen working on this bindgen project, you will want to test changes as you're\nmaking them. This suggested flow may help you do so.\n\nFirst, there are a couple different components to the project:\n\n1. the Extism plugin which processes schemas and renders templates.\n2. the bindgen templates bundled into the generator (in `bundle.zip`)\n\nBe sure you re-build the Extism plugin (the code in `src`) when making changes\nto any schema processing or helper code. **The `bundle.sh` script does this for\nyou.**\n\n### Testing changes\n\nAfter you have made changes to either the plugin (in `src`) or the templates (in\n`template`), you should test against the shared bindgen-test suite. To download\nthis suite, run:\n\n```sh\nsh bindgen-test.sh install\n```\n\nOnce you have the `bindgen-test-artifacts`, you can then run the test suite\nlocally and confirm that a plugin generated by your bindgen project conforms to\nthe test:\n\n```sh\nsh bindgen-test.sh run\n```\n\nYou should see passing test output or particular test cases that fail for you to\nfix.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylibso%2Fxtp-python-bindgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdylibso%2Fxtp-python-bindgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylibso%2Fxtp-python-bindgen/lists"}