red-arrow-pycall 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/text/news.md +6 -0
- data/ext/arrow-pycall/arrow-pycall.cpp +184 -0
- data/lib/arrow-pycall/version.rb +1 -1
- data/red-arrow-pycall.gemspec +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf65599f0a91aa12e9f93971e981e01b0e83807b
|
4
|
+
data.tar.gz: 8c9c6cd4a9d052560a85f9e03334cfcc97895e35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cefa69198ad06b139bf67c82459335ca2f6774f75e09d3776c404ca8c94a18700a8d1d5f82361a445e10ea0ad90f01cf15a548c0d5453b4d5484911e95059f4d
|
7
|
+
data.tar.gz: a541e339f38555aa5300cf144800e509ceca9be610bbc1fc01cf5f3bb1fb7586b363487e4c7805fdae5dc543be725975a66b1d5c29fe96d29a92283b987c8cac
|
data/doc/text/news.md
CHANGED
@@ -0,0 +1,184 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 2017 Kouhei Sutou <kou@clear-code.com>
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
#include <arrow-glib/arrow-glib.hpp>
|
18
|
+
|
19
|
+
#include <rbgobject.h>
|
20
|
+
|
21
|
+
#include <arrow/python/pyarrow.h>
|
22
|
+
|
23
|
+
extern "C" void Init_arrow_pycall(void);
|
24
|
+
|
25
|
+
static VALUE
|
26
|
+
rb_arrow_buffer_to_python_object_pointer(VALUE self)
|
27
|
+
{
|
28
|
+
auto buffer = GARROW_BUFFER(RVAL2GOBJ(self));
|
29
|
+
auto arrow_buffer = garrow_buffer_get_raw(buffer);
|
30
|
+
auto py_buffer = arrow::py::wrap_buffer(arrow_buffer);
|
31
|
+
return LONG2NUM((long)(py_buffer));
|
32
|
+
}
|
33
|
+
|
34
|
+
static VALUE
|
35
|
+
rb_arrow_data_type_to_python_object_pointer(VALUE self)
|
36
|
+
{
|
37
|
+
auto data_type = GARROW_DATA_TYPE(RVAL2GOBJ(self));
|
38
|
+
auto arrow_data_type = garrow_data_type_get_raw(data_type);
|
39
|
+
auto py_data_type = arrow::py::wrap_data_type(arrow_data_type);
|
40
|
+
return LONG2NUM((long)(py_data_type));
|
41
|
+
}
|
42
|
+
|
43
|
+
static VALUE
|
44
|
+
rb_arrow_field_to_python_object_pointer(VALUE self)
|
45
|
+
{
|
46
|
+
auto field = GARROW_FIELD(RVAL2GOBJ(self));
|
47
|
+
auto arrow_field = garrow_field_get_raw(field);
|
48
|
+
auto py_field = arrow::py::wrap_field(arrow_field);
|
49
|
+
return LONG2NUM((long)(py_field));
|
50
|
+
}
|
51
|
+
|
52
|
+
static VALUE
|
53
|
+
rb_arrow_schema_to_python_object_pointer(VALUE self)
|
54
|
+
{
|
55
|
+
auto schema = GARROW_SCHEMA(RVAL2GOBJ(self));
|
56
|
+
auto arrow_schema = garrow_schema_get_raw(schema);
|
57
|
+
auto py_schema = arrow::py::wrap_schema(arrow_schema);
|
58
|
+
return LONG2NUM((long)(py_schema));
|
59
|
+
}
|
60
|
+
|
61
|
+
static VALUE
|
62
|
+
rb_arrow_array_to_python_object_pointer(VALUE self)
|
63
|
+
{
|
64
|
+
auto array = GARROW_ARRAY(RVAL2GOBJ(self));
|
65
|
+
auto arrow_array = garrow_array_get_raw(array);
|
66
|
+
auto py_array = arrow::py::wrap_array(arrow_array);
|
67
|
+
return LONG2NUM((long)(py_array));
|
68
|
+
}
|
69
|
+
|
70
|
+
static VALUE
|
71
|
+
rb_arrow_tensor_to_python_object_pointer(VALUE self)
|
72
|
+
{
|
73
|
+
auto tensor = GARROW_TENSOR(RVAL2GOBJ(self));
|
74
|
+
auto arrow_tensor = garrow_tensor_get_raw(tensor);
|
75
|
+
auto py_tensor = arrow::py::wrap_tensor(arrow_tensor);
|
76
|
+
return LONG2NUM((long)(py_tensor));
|
77
|
+
}
|
78
|
+
|
79
|
+
static VALUE
|
80
|
+
rb_arrow_column_to_python_object_pointer(VALUE self)
|
81
|
+
{
|
82
|
+
auto column = GARROW_COLUMN(RVAL2GOBJ(self));
|
83
|
+
auto arrow_column = garrow_column_get_raw(column);
|
84
|
+
auto py_column = arrow::py::wrap_column(arrow_column);
|
85
|
+
return LONG2NUM((long)(py_column));
|
86
|
+
}
|
87
|
+
|
88
|
+
static VALUE
|
89
|
+
rb_arrow_table_to_python_object_pointer(VALUE self)
|
90
|
+
{
|
91
|
+
auto table = GARROW_TABLE(RVAL2GOBJ(self));
|
92
|
+
auto arrow_table = garrow_table_get_raw(table);
|
93
|
+
auto py_table = arrow::py::wrap_table(arrow_table);
|
94
|
+
return LONG2NUM((long)(py_table));
|
95
|
+
}
|
96
|
+
|
97
|
+
static VALUE
|
98
|
+
rb_arrow_record_batch_to_python_object_pointer(VALUE self)
|
99
|
+
{
|
100
|
+
auto record_batch = GARROW_RECORD_BATCH(RVAL2GOBJ(self));
|
101
|
+
auto arrow_record_batch = garrow_record_batch_get_raw(record_batch);
|
102
|
+
auto py_record_batch = arrow::py::wrap_record_batch(arrow_record_batch);
|
103
|
+
return LONG2NUM((long)(py_record_batch));
|
104
|
+
}
|
105
|
+
|
106
|
+
extern "C" void
|
107
|
+
Init_arrow_pycall(void)
|
108
|
+
{
|
109
|
+
arrow::py::import_pyarrow();
|
110
|
+
|
111
|
+
VALUE rbArrow = rb_const_get(rb_cObject, rb_intern("Arrow"));
|
112
|
+
|
113
|
+
{
|
114
|
+
VALUE rbArrowBuffer = rb_const_get(rbArrow, rb_intern("Buffer"));
|
115
|
+
rb_define_method(rbArrowBuffer,
|
116
|
+
"to_python_object_pointer",
|
117
|
+
(VALUE(*)(ANYARGS))rb_arrow_buffer_to_python_object_pointer,
|
118
|
+
0);
|
119
|
+
}
|
120
|
+
|
121
|
+
{
|
122
|
+
VALUE rbArrowDataType = rb_const_get(rbArrow, rb_intern("DataType"));
|
123
|
+
rb_define_method(rbArrowDataType,
|
124
|
+
"to_python_object_pointer",
|
125
|
+
(VALUE(*)(ANYARGS))rb_arrow_data_type_to_python_object_pointer,
|
126
|
+
0);
|
127
|
+
}
|
128
|
+
|
129
|
+
{
|
130
|
+
VALUE rbArrowField = rb_const_get(rbArrow, rb_intern("Field"));
|
131
|
+
rb_define_method(rbArrowField,
|
132
|
+
"to_python_object_pointer",
|
133
|
+
(VALUE(*)(ANYARGS))rb_arrow_field_to_python_object_pointer,
|
134
|
+
0);
|
135
|
+
}
|
136
|
+
|
137
|
+
{
|
138
|
+
VALUE rbArrowSchema = rb_const_get(rbArrow, rb_intern("Schema"));
|
139
|
+
rb_define_method(rbArrowSchema,
|
140
|
+
"to_python_object_pointer",
|
141
|
+
(VALUE(*)(ANYARGS))rb_arrow_schema_to_python_object_pointer,
|
142
|
+
0);
|
143
|
+
}
|
144
|
+
|
145
|
+
{
|
146
|
+
VALUE rbArrowArray = rb_const_get(rbArrow, rb_intern("Array"));
|
147
|
+
rb_define_method(rbArrowArray,
|
148
|
+
"to_python_object_pointer",
|
149
|
+
(VALUE(*)(ANYARGS))rb_arrow_array_to_python_object_pointer,
|
150
|
+
0);
|
151
|
+
}
|
152
|
+
|
153
|
+
{
|
154
|
+
VALUE rbArrowTensor = rb_const_get(rbArrow, rb_intern("Tensor"));
|
155
|
+
rb_define_method(rbArrowTensor,
|
156
|
+
"to_python_object_pointer",
|
157
|
+
(VALUE(*)(ANYARGS))rb_arrow_tensor_to_python_object_pointer,
|
158
|
+
0);
|
159
|
+
}
|
160
|
+
|
161
|
+
{
|
162
|
+
VALUE rbArrowColumn = rb_const_get(rbArrow, rb_intern("Column"));
|
163
|
+
rb_define_method(rbArrowColumn,
|
164
|
+
"to_python_object_pointer",
|
165
|
+
(VALUE(*)(ANYARGS))rb_arrow_column_to_python_object_pointer,
|
166
|
+
0);
|
167
|
+
}
|
168
|
+
|
169
|
+
{
|
170
|
+
VALUE rbArrowTable = rb_const_get(rbArrow, rb_intern("Table"));
|
171
|
+
rb_define_method(rbArrowTable,
|
172
|
+
"to_python_object_pointer",
|
173
|
+
(VALUE(*)(ANYARGS))rb_arrow_table_to_python_object_pointer,
|
174
|
+
0);
|
175
|
+
}
|
176
|
+
|
177
|
+
{
|
178
|
+
VALUE rbArrowRecordBatch = rb_const_get(rbArrow, rb_intern("RecordBatch"));
|
179
|
+
rb_define_method(rbArrowRecordBatch,
|
180
|
+
"to_python_object_pointer",
|
181
|
+
(VALUE(*)(ANYARGS))rb_arrow_record_batch_to_python_object_pointer,
|
182
|
+
0);
|
183
|
+
}
|
184
|
+
}
|
data/lib/arrow-pycall/version.rb
CHANGED
data/red-arrow-pycall.gemspec
CHANGED
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.files = ["README.md", "Rakefile", "Gemfile", "#{spec.name}.gemspec"]
|
39
39
|
spec.files += [".yardopts"]
|
40
40
|
spec.files += Dir.glob("lib/**/*.rb")
|
41
|
-
spec.files += Dir.glob("ext/**/*.c")
|
41
|
+
spec.files += Dir.glob("ext/**/*.{c,cpp}")
|
42
42
|
spec.files += Dir.glob("doc/text/*")
|
43
43
|
spec.extensions = ["ext/arrow-pycall/extconf.rb"]
|
44
44
|
spec.test_files += Dir.glob("test/**/*")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: red-arrow-pycall
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
@@ -140,6 +140,7 @@ files:
|
|
140
140
|
- Rakefile
|
141
141
|
- doc/text/apache-2.0.txt
|
142
142
|
- doc/text/news.md
|
143
|
+
- ext/arrow-pycall/arrow-pycall.cpp
|
143
144
|
- ext/arrow-pycall/extconf.rb
|
144
145
|
- lib/arrow-pycall.rb
|
145
146
|
- lib/arrow-pycall/convertable.rb
|