# Cobhan FFI
Cobhan FFI is a proof of concept system for enabling shared code to be written in Rust or Go and consumed from all major languages/platforms in a safe and effective way, using easy helper functions to manage any unsafe data marshaling.
## Types
* Supported types
* int32 - 32bit signed integer
* int64 - 64bit signed integer
* float64 - double precision 64bit IEEE 754 floating point
* Cobhan buffer - length delimited 8bit buffer (no null delimiters)
* utf-8 encoded string
* JSON
* binary data
* Cobhan buffer details
* Callers provide the output buffer allocation and capacity
* Called functions can transparently return larger values via temporary files
* **Modern [tmpfs](https://en.wikipedia.org/wiki/Tmpfs) is entirely memory backed**
* Return values
* Functions that return scalar values can return the value directly
* Functions *can* use special case and return maximum positive or maximum negative or zero values to
represent error or overflow conditions
* Functions *can* allow scalar values to wrap
* Functions should document their overflow / underflow behavior
Raw data
{
"_id": null,
"home_page": "https://github.com/godaddy/cobhan-python/",
"name": "cobhan",
"maintainer": "GoDaddy",
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": "oss@godaddy.com",
"keywords": "ffi",
"author": "Jeremiah Gowdy",
"author_email": "jeremiah@gowdy.me",
"download_url": "https://files.pythonhosted.org/packages/b9/60/446d4ec831ebc8338277a9e2ec3a4e98ab3fe1280c0cc4937625e80d55ab/cobhan-0.4.3.tar.gz",
"platform": null,
"description": "# Cobhan FFI\n\nCobhan FFI is a proof of concept system for enabling shared code to be written in Rust or Go and consumed from all major languages/platforms in a safe and effective way, using easy helper functions to manage any unsafe data marshaling.\n\n## Types\n\n* Supported types\n * int32 - 32bit signed integer\n * int64 - 64bit signed integer\n * float64 - double precision 64bit IEEE 754 floating point\n * Cobhan buffer - length delimited 8bit buffer (no null delimiters)\n * utf-8 encoded string\n * JSON\n * binary data \n* Cobhan buffer details\n * Callers provide the output buffer allocation and capacity\n * Called functions can transparently return larger values via temporary files\n * **Modern [tmpfs](https://en.wikipedia.org/wiki/Tmpfs) is entirely memory backed**\n* Return values\n * Functions that return scalar values can return the value directly\n * Functions *can* use special case and return maximum positive or maximum negative or zero values to\n represent error or overflow conditions\n * Functions *can* allow scalar values to wrap\n * Functions should document their overflow / underflow behavior\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Cobhan FFI",
"version": "0.4.3",
"project_urls": {
"Homepage": "https://github.com/godaddy/cobhan-python/",
"Repository": "https://github.com/godaddy/cobhan-python/"
},
"split_keywords": [
"ffi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "29be72846263e5a328088fb2609c8bf59fdbcc57e8eca20a6973debf1c8f4caa",
"md5": "729bd992b1b55474cee159f9be93d11c",
"sha256": "a53c2327fcb6a0d497cf1ae639aef9b49bd999a7165277d27250e98a5865c901"
},
"downloads": -1,
"filename": "cobhan-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "729bd992b1b55474cee159f9be93d11c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 5866,
"upload_time": "2024-08-12T18:49:10",
"upload_time_iso_8601": "2024-08-12T18:49:10.717484Z",
"url": "https://files.pythonhosted.org/packages/29/be/72846263e5a328088fb2609c8bf59fdbcc57e8eca20a6973debf1c8f4caa/cobhan-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b960446d4ec831ebc8338277a9e2ec3a4e98ab3fe1280c0cc4937625e80d55ab",
"md5": "c98d30afe65a9fa3e4ca20e5b8f438e0",
"sha256": "c3992e9d9b107893d2822014b434b31e57a63ec6f678de0f34a4c34c94551649"
},
"downloads": -1,
"filename": "cobhan-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "c98d30afe65a9fa3e4ca20e5b8f438e0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 4601,
"upload_time": "2024-08-12T18:49:11",
"upload_time_iso_8601": "2024-08-12T18:49:11.795765Z",
"url": "https://files.pythonhosted.org/packages/b9/60/446d4ec831ebc8338277a9e2ec3a4e98ab3fe1280c0cc4937625e80d55ab/cobhan-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-12 18:49:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "godaddy",
"github_project": "cobhan-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "cobhan"
}