{ "info": { "author": "Mark Delk", "author_email": "jethrodaniel@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# ffig\n\n![](https://github.com/jethrodaniel/ffig/workflows/build/badge.svg)\n![](https://img.shields.io/github/license/jethrodaniel/ffig.svg)\n\nGenerate Ruby FFI bindings from debugger output.\n\n**Note**: this is very much a work in progress until `v1.0.0`.\n\n## Installation\n\n```\npip install ffig\n```\n\n## Usage\n\nGiven a C file, `add.c`\n\n```\nint add(int a, int b) {\n return (a + b);\n}\n```\n\nCompile it with debugging support to produce a `.so`\n\n```\ngcc -g -shared -o add.so -fPIC add.c\n```\n\nthen use it like you wrote the FFI bindings yourself\n\n```\n# ruby\n\nrequire 'ffig'\nrequire_ffig 'add.so'\n\nputs Add.add(3, 4)\n```\n\n```\n# python\n\nfrom ffig import import_ffig\nimport_ffig('add.so')\n\nprint(Add.add(3, 4))\n```\n\nor generate the code explicitly\n\n```\nffig --out=ruby add.so > add.rb\nffig --out=python add.so > add.py\n```\n\n## Development\n\n#### Install this package locally\n\n```\npip install .\n```\n\nor use `./bin/setup`.\n\n#### Run tests\n\n```\npython -m unittest\npython -m unittest tests/test_something.py\n```\n\nor use `./bin/test`.\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at .\n\n\n## License\n\nThis code is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jethrodaniel/ffig", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ffig", "package_url": "https://pypi.org/project/ffig/", "platform": "", "project_url": "https://pypi.org/project/ffig/", "project_urls": { "Homepage": "https://github.com/jethrodaniel/ffig" }, "release_url": "https://pypi.org/project/ffig/0.2.0/", "requires_dist": [ "pyelftools" ], "requires_python": ">=3.6", "summary": "Generate Ruby FFI bindings from debugger output", "version": "0.2.0" }, "last_serial": 6000841, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "9ffa6cedf4e6fa010fbc13e335d4acba", "sha256": "865e9602fccfbdfa723cee3564e32c3d8299a8e099217186cc3a38996eee2273" }, "downloads": -1, "filename": "ffig-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9ffa6cedf4e6fa010fbc13e335d4acba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 3447, "upload_time": "2019-10-19T19:38:14", "url": "https://files.pythonhosted.org/packages/55/d1/80f92348fda0f1ba8a3001f46c7acbaa0235b88c3230be14e28caabd17bc/ffig-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e92a4e9790137b950aa99837474b669b", "sha256": "2cf6aeec9ec826638e33041abe4c3407c5598501dea3b4876ad10140e3e90868" }, "downloads": -1, "filename": "ffig-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e92a4e9790137b950aa99837474b669b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2386, "upload_time": "2019-10-19T19:38:15", "url": "https://files.pythonhosted.org/packages/2f/72/8064bd255d660f71a955df1119508477023440ae148e8e0e8ea4179ca8f5/ffig-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9ffa6cedf4e6fa010fbc13e335d4acba", "sha256": "865e9602fccfbdfa723cee3564e32c3d8299a8e099217186cc3a38996eee2273" }, "downloads": -1, "filename": "ffig-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9ffa6cedf4e6fa010fbc13e335d4acba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 3447, "upload_time": "2019-10-19T19:38:14", "url": "https://files.pythonhosted.org/packages/55/d1/80f92348fda0f1ba8a3001f46c7acbaa0235b88c3230be14e28caabd17bc/ffig-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e92a4e9790137b950aa99837474b669b", "sha256": "2cf6aeec9ec826638e33041abe4c3407c5598501dea3b4876ad10140e3e90868" }, "downloads": -1, "filename": "ffig-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e92a4e9790137b950aa99837474b669b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2386, "upload_time": "2019-10-19T19:38:15", "url": "https://files.pythonhosted.org/packages/2f/72/8064bd255d660f71a955df1119508477023440ae148e8e0e8ea4179ca8f5/ffig-0.2.0.tar.gz" } ] }