{"id":23450808,"url":"https://github.com/red-data-tools/xtensor-arrow-glib","last_synced_at":"2025-04-10T09:59:23.934Z","repository":{"id":91683643,"uuid":"92488292","full_name":"red-data-tools/xtensor-arrow-glib","owner":"red-data-tools","description":" GLib wrapper library of xtensor for Apache Arrow","archived":false,"fork":false,"pushed_at":"2017-08-29T15:24:33.000Z","size":33,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-15T19:48:43.056Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/red-data-tools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2017-05-26T08:16:36.000Z","updated_at":"2017-10-01T23:39:00.000Z","dependencies_parsed_at":"2023-07-11T08:00:41.028Z","dependency_job_id":null,"html_url":"https://github.com/red-data-tools/xtensor-arrow-glib","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/red-data-tools%2Fxtensor-arrow-glib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red-data-tools%2Fxtensor-arrow-glib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red-data-tools%2Fxtensor-arrow-glib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red-data-tools%2Fxtensor-arrow-glib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/red-data-tools","download_url":"https://codeload.github.com/red-data-tools/xtensor-arrow-glib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248198865,"owners_count":21063626,"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-12-24T00:15:13.600Z","updated_at":"2025-04-10T09:59:23.880Z","avatar_url":"https://github.com/red-data-tools.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!---\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n      http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n--\u003e\n\n# xtensor Arrow GLib\n\nxtensor Arrow GLib is a xtensor and Apache Arrow integration\nlibrary. xtensor Arrow GLib provides C API.\n\nxtensor Arrow GLib supports\n[GObject Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection).\nIt means that you can create language bindings at runtime or compile\ntime.\n\nFor example, you can use xtensor with Apache Arrow from Ruby by\nxtensor Arrow GLib,\n[red-arrow gem](https://rubygems.org/gems/red-arrow) and\n[gobject-introspection gem](https://rubygems.org/gems/gobject-introspection)\nwith the following code:\n\n```ruby\n# Generate bindings at runtime\nrequire \"gi\"\nXtensorArrow = GI.load(\"xtensor-arrow\")\n\n# TODO\n```\n\n## Install\n\nYou can use packages or build by yourself to install xtensor Arrow\nGLib. It's recommended that you use packages.\n\n### Package\n\nThere are supported platforms:\n\n  * Debian GNU/Linux Jessie\n  * Debian GNU/Linux Stretch\n  * Ubuntu 16.04 LTS or later\n  * CentOS 7\n\nYou can feedback to https://github.com/red-data-tools/arrow-packages\nabout packages things.\n\n#### Debian GNU/Linux Jessie\n\nEnsure installing `apt-transport-https` package:\n\n```text\n% sudo apt update\n% sudo apt install -y apt-transport-https\n```\n\nYou need to add the following apt-lines to\n`/etc/apt/sources.list.d/groonga.list`:\n\n```text\ndeb https://packages.groonga.org/debian/ jessie main\ndeb-src https://packages.groonga.org/debian/ jessie main\n```\n\nThen you need to run the following command lines:\n\n```text\n% sudo apt update\n% sudo apt install -y --allow-unauthenticated groonga-keyring\n% sudo apt update\n```\n\nNow you can install xtensor Arrow GLib packages:\n\n```text\n% sudo apt install -y libxtensor-arrow-glib-dev\n```\n\n#### Debian GNU/Linux Stretch\n\nEnsure installing `apt-transport-https` package:\n\n```text\n% sudo apt update\n% sudo apt install -y apt-transport-https\n```\n\nYou need to add the following apt-lines to\n`/etc/apt/sources.list.d/groonga.list`:\n\n```text\ndeb https://packages.groonga.org/debian/ stretch main\ndeb-src https://packages.groonga.org/debian/ stretch main\n```\n\nThen you need to run the following command lines:\n\n```text\n% sudo apt update\n% sudo apt install -y --allow-unauthenticated groonga-keyring\n% sudo apt update\n```\n\nNow you can install xtensor Arrow GLib packages:\n\n```text\n% sudo apt install -y libxtensor-arrow-glib-dev\n```\n\n#### Ubuntu 16.04 LTS or later\n\nYou need to add an APT repository:\n\n```text\n% sudo apt install -y software-properties-common\n% sudo add-apt-repository -y ppa:groonga/ppa\n% sudo apt update\n```\n\nNow you can install xtensor Arrow GLib packages:\n\n```text\n% sudo apt install -y libxtensor-arrow-glib-dev\n```\n\n#### CentOS 7\n\nYou need to add a Yum repository:\n\n```text\n% sudo yum install -y https://packages.groonga.org/centos/groonga-release-1.3.0-1.noarch.rpm\n```\n\nNow you can install xtensor arrow GLib packages:\n\n```text\n% sudo yum install -y --enablerepo=epel xtensor-arrow-glib-devel\n```\n\n### How to build by users\n\nxtensor Arrow GLib users should use released source archive to build\nxtensor Arrow GLib:\n\n```text\n% wget https://github.com/red-data-tools/xtensor-arrow-glib/releases/download/1.0.0/xtensor-arrow-glib-1.0.0.tar.gz\n% tar xf xtensor-arrow-glib-1.0.0.tar.gz\n% cd xtensor-arrow-glib-1.0.0\n```\n\nYou need to install [xtensor](https://github.com/QuantStack/xtensor)\nand [Apache Arrow](https://arrow.apache.org/) GLib before you install\nxtensor Arrow GLib. See documents about how to install them.\n\nYou can build and install xtensor Arrow GLib after you install them:\n\n```text\n% ./configure\n% make\n% sudo make install\n```\n\n### How to build by developers\n\nYou need to install [xtensor](https://github.com/QuantStack/xtensor)\nand [Apache Arrow](https://arrow.apache.org/) GLib before you install\nxtensor Arrow GLib. See documents about how to install them.\n\nYou need [GTK-Doc](https://www.gtk.org/gtk-doc/) and\n[GObject Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection)\nto build xtensor Arrow GLib. You can install them by the followings:\n\nOn Debian GNU/Linux or Ubuntu:\n\n```text\n% sudo apt install -y -V gtk-doc-tools autoconf-archive libgirepository1.0-dev\n```\n\nOn CentOS 7 or later:\n\n```text\n% sudo yum install -y gtk-doc gobject-introspection-devel\n```\n\nOn macOS with [Homebrew](https://brew.sh/):\n\n```text\n% brew install -y gtk-doc gobject-introspection\n```\n\nNow, you can build xtensor Arrow GLib:\n\n```text\n% ./autogen.sh\n% ./configure --enable-gtk-doc\n% make\n% sudo make install\n```\n\n## Usage\n\nYou can use xtensor Arrow GLib with C or other languages. If you use\nxtensor Arrow GLib with C, you use C API. If you use xtensor Arrow\nGLib with other languages, you use GObject Introspection based\nbindings.\n\n### C\n\nYou can find API reference in the\n`/usr/local/share/gtk-doc/html/xtensor-arrow-glib/` directory. If you\nspecify `--prefix` to `configure`, the directory will be different.\n\nTODO: Examples\n\n### Language bindings\n\nTODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred-data-tools%2Fxtensor-arrow-glib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fred-data-tools%2Fxtensor-arrow-glib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred-data-tools%2Fxtensor-arrow-glib/lists"}