kassane commented on issue #44515: URL: https://github.com/apache/arrow/issues/44515#issuecomment-2435368712
> It seems that there is a D tool for GObject Introspection: https://github.com/gtkd-developers/gir-to-d Works! ```bash # $PWD = arrow/d $ girtod -g ../c_glib.build/arrow-glib/ -i Arrow-1.0.gir -o source $ girtod -g ../c_glib.build/arrow-glib/ -i ../arrow-dataset-glib/ArrowDataset-1.0.gir -o source $ girtod -g ../c_glib.build/arrow-glib/ -i ../arrow-flight-glib/ArrowFlight-1.0.gir -o source ``` <details> <summary>tree-ls output</summary> ```bash $ tree . . ├── README.md ├── dub.sdl └── source ├── arrow │ ├── AggregateNodeOptions.d │ ├── Aggregation.d │ ├── Array.d │ ├── ArrayBuilder.d │ ├── ArrayDatum.d │ ├── ArraySortOptions.d │ ├── AzureFileSystem.d │ ├── BaseBinaryScalar.d │ ├── BaseListScalar.d │ ├── BinaryArray.d │ ├── BinaryArrayBuilder.d │ ├── BinaryDataType.d │ ├── BinaryDictionaryArrayBuilder.d │ ├── BinaryScalar.d │ ├── BooleanArray.d │ ├── BooleanArrayBuilder.d │ ├── BooleanDataType.d │ ├── BooleanScalar.d │ ├── Buffer.d │ ├── BufferInputStream.d │ ├── BufferOutputStream.d │ ├── CSVReadOptions.d │ ├── CSVReader.d │ ├── CallExpression.d │ ├── CastOptions.d │ ├── ChunkedArray.d │ ├── ChunkedArrayDatum.d │ ├── Codec.d │ ├── CompressedInputStream.d │ ├── CompressedOutputStream.d │ ├── CountOptions.d │ ├── DataType.d │ ├── Date32Array.d │ ├── Date32ArrayBuilder.d │ ├── Date32DataType.d │ ├── Date32Scalar.d │ ├── Date64Array.d │ ├── Date64ArrayBuilder.d │ ├── Date64DataType.d │ ├── Date64Scalar.d │ ├── Datum.d │ ├── DayMillisecond.d │ ├── DayTimeIntervalArray.d │ ├── DayTimeIntervalArrayBuilder.d │ ├── DayTimeIntervalDataType.d │ ├── DayTimeIntervalScalar.d │ ├── Decimal128.d │ ├── Decimal128Array.d │ ├── Decimal128ArrayBuilder.d │ ├── Decimal128DataType.d │ ├── Decimal128Scalar.d │ ├── Decimal256.d │ ├── Decimal256Array.d │ ├── Decimal256ArrayBuilder.d │ ├── Decimal256DataType.d │ ├── Decimal256Scalar.d │ ├── DecimalDataType.d │ ├── DenseUnionArray.d │ ├── DenseUnionArrayBuilder.d │ ├── DenseUnionDataType.d │ ├── DenseUnionScalar.d │ ├── DictionaryArray.d │ ├── DictionaryDataType.d │ ├── DoubleArray.d │ ├── DoubleArrayBuilder.d │ ├── DoubleDataType.d │ ├── DoubleScalar.d │ ├── EqualOptions.d │ ├── ExecuteContext.d │ ├── ExecuteNode.d │ ├── ExecuteNodeOptions.d │ ├── ExecutePlan.d │ ├── Expression.d │ ├── ExtensionArray.d │ ├── ExtensionDataType.d │ ├── ExtensionDataTypeRegistry.d │ ├── ExtensionScalar.d │ ├── FeatherFileReader.d │ ├── FeatherWriteProperties.d │ ├── Field.d │ ├── FieldExpression.d │ ├── FileIF.d │ ├── FileInfo.d │ ├── FileInputStream.d │ ├── FileOutputStream.d │ ├── FileSelector.d │ ├── FileSystem.d │ ├── FileT.d │ ├── FilterNodeOptions.d │ ├── FilterOptions.d │ ├── FixedSizeBinaryArray.d │ ├── FixedSizeBinaryArrayBuilder.d │ ├── FixedSizeBinaryDataType.d │ ├── FixedSizeBinaryScalar.d │ ├── FixedWidthDataType.d │ ├── FloatArray.d │ ├── FloatArrayBuilder.d │ ├── FloatDataType.d │ ├── FloatScalar.d │ ├── FloatingPointDataType.d │ ├── Function.d │ ├── FunctionDoc.d │ ├── FunctionOptions.d │ ├── GCSFileSystem.d │ ├── GIOInputStream.d │ ├── GIOOutputStream.d │ ├── HDFSFileSystem.d │ ├── HalfFloatArray.d │ ├── HalfFloatArrayBuilder.d │ ├── HalfFloatDataType.d │ ├── HalfFloatScalar.d │ ├── HashJoinNodeOptions.d │ ├── ISO8601TimestampParser.d │ ├── IndexOptions.d │ ├── InputStream.d │ ├── Int16Array.d │ ├── Int16ArrayBuilder.d │ ├── Int16DataType.d │ ├── Int16Scalar.d │ ├── Int32Array.d │ ├── Int32ArrayBuilder.d │ ├── Int32DataType.d │ ├── Int32Scalar.d │ ├── Int64Array.d │ ├── Int64ArrayBuilder.d │ ├── Int64DataType.d │ ├── Int64Scalar.d │ ├── Int8Array.d │ ├── Int8ArrayBuilder.d │ ├── Int8DataType.d │ ├── Int8Scalar.d │ ├── IntArrayBuilder.d │ ├── IntegerDataType.d │ ├── IntervalDataType.d │ ├── JSONReadOptions.d │ ├── JSONReader.d │ ├── LargeBinaryArray.d │ ├── LargeBinaryArrayBuilder.d │ ├── LargeBinaryDataType.d │ ├── LargeBinaryScalar.d │ ├── LargeListArray.d │ ├── LargeListArrayBuilder.d │ ├── LargeListDataType.d │ ├── LargeListScalar.d │ ├── LargeStringArray.d │ ├── LargeStringArrayBuilder.d │ ├── LargeStringDataType.d │ ├── LargeStringScalar.d │ ├── ListArray.d │ ├── ListArrayBuilder.d │ ├── ListDataType.d │ ├── ListScalar.d │ ├── LiteralExpression.d │ ├── LocalFileSystem.d │ ├── LocalFileSystemOptions.d │ ├── MapArray.d │ ├── MapArrayBuilder.d │ ├── MapDataType.d │ ├── MapScalar.d │ ├── MatchSubstringOptions.d │ ├── MemoryMappedInputStream.d │ ├── MemoryPool.d │ ├── MockFileSystem.d │ ├── MonthDayNano.d │ ├── MonthDayNanoIntervalArray.d │ ├── MonthDayNanoIntervalArrayBuilder.d │ ├── MonthDayNanoIntervalDataType.d │ ├── MonthDayNanoIntervalScalar.d │ ├── MonthIntervalArray.d │ ├── MonthIntervalArrayBuilder.d │ ├── MonthIntervalDataType.d │ ├── MonthIntervalScalar.d │ ├── MutableBuffer.d │ ├── NullArray.d │ ├── NullArrayBuilder.d │ ├── NullDataType.d │ ├── NullScalar.d │ ├── NumericArray.d │ ├── NumericDataType.d │ ├── ORCFileReader.d │ ├── OutputStream.d │ ├── PrimitiveArray.d │ ├── ProjectNodeOptions.d │ ├── QuantileOptions.d │ ├── RankOptions.d │ ├── ReadOptions.d │ ├── ReadableIF.d │ ├── ReadableT.d │ ├── RecordBatch.d │ ├── RecordBatchBuilder.d │ ├── RecordBatchDatum.d │ ├── RecordBatchFileReader.d │ ├── RecordBatchFileWriter.d │ ├── RecordBatchIterator.d │ ├── RecordBatchReader.d │ ├── RecordBatchStreamReader.d │ ├── RecordBatchStreamWriter.d │ ├── RecordBatchWriter.d │ ├── ResizableBuffer.d │ ├── RoundOptions.d │ ├── RoundToMultipleOptions.d │ ├── RunEndEncodeOptions.d │ ├── RunEndEncodedArray.d │ ├── RunEndEncodedDataType.d │ ├── S3FileSystem.d │ ├── S3GlobalOptions.d │ ├── Scalar.d │ ├── ScalarAggregateOptions.d │ ├── ScalarDatum.d │ ├── Schema.d │ ├── SeekableInputStream.d │ ├── SetLookupOptions.d │ ├── SinkNodeOptions.d │ ├── SlowFileSystem.d │ ├── SortKey.d │ ├── SortOptions.d │ ├── SourceNodeOptions.d │ ├── SparseUnionArray.d │ ├── SparseUnionArrayBuilder.d │ ├── SparseUnionDataType.d │ ├── SparseUnionScalar.d │ ├── SplitPatternOptions.d │ ├── StreamDecoder.d │ ├── StreamListener.d │ ├── StrftimeOptions.d │ ├── StringArray.d │ ├── StringArrayBuilder.d │ ├── StringDataType.d │ ├── StringDictionaryArrayBuilder.d │ ├── StringScalar.d │ ├── StrptimeOptions.d │ ├── StrptimeTimestampParser.d │ ├── StructArray.d │ ├── StructArrayBuilder.d │ ├── StructDataType.d │ ├── StructFieldOptions.d │ ├── StructScalar.d │ ├── SubTreeFileSystem.d │ ├── Table.d │ ├── TableBatchReader.d │ ├── TableConcatenateOptions.d │ ├── TableDatum.d │ ├── TakeOptions.d │ ├── TemporalDataType.d │ ├── Tensor.d │ ├── Time32Array.d │ ├── Time32ArrayBuilder.d │ ├── Time32DataType.d │ ├── Time32Scalar.d │ ├── Time64Array.d │ ├── Time64ArrayBuilder.d │ ├── Time64DataType.d │ ├── Time64Scalar.d │ ├── TimeDataType.d │ ├── TimestampArray.d │ ├── TimestampArrayBuilder.d │ ├── TimestampDataType.d │ ├── TimestampParser.d │ ├── TimestampScalar.d │ ├── UInt16Array.d │ ├── UInt16ArrayBuilder.d │ ├── UInt16DataType.d │ ├── UInt16Scalar.d │ ├── UInt32Array.d │ ├── UInt32ArrayBuilder.d │ ├── UInt32DataType.d │ ├── UInt32Scalar.d │ ├── UInt64Array.d │ ├── UInt64ArrayBuilder.d │ ├── UInt64DataType.d │ ├── UInt64Scalar.d │ ├── UInt8Array.d │ ├── UInt8ArrayBuilder.d │ ├── UInt8DataType.d │ ├── UInt8Scalar.d │ ├── UIntArrayBuilder.d │ ├── UTF8NormalizeOptions.d │ ├── UnionArray.d │ ├── UnionArrayBuilder.d │ ├── UnionDataType.d │ ├── UnionScalar.d │ ├── VarianceOptions.d │ ├── WritableFileIF.d │ ├── WritableFileT.d │ ├── WritableIF.d │ ├── WritableT.d │ ├── WriteOptions.d │ └── c │ ├── functions.d │ └── types.d ├── arrowdataset │ ├── CSVFileFormat.d │ ├── Dataset.d │ ├── DatasetFactory.d │ ├── DirectoryPartitioning.d │ ├── FileFormat.d │ ├── FileSystemDataset.d │ ├── FileSystemDatasetFactory.d │ ├── FileSystemDatasetWriteOptions.d │ ├── FileWriteOptions.d │ ├── FileWriter.d │ ├── FinishOptions.d │ ├── Fragment.d │ ├── HivePartitioning.d │ ├── HivePartitioningOptions.d │ ├── IPCFileFormat.d │ ├── InMemoryFragment.d │ ├── KeyValuePartitioning.d │ ├── KeyValuePartitioningOptions.d │ ├── ParquetFileFormat.d │ ├── Partitioning.d │ ├── PartitioningFactoryOptions.d │ ├── Scanner.d │ ├── ScannerBuilder.d │ └── c │ ├── functions.d │ └── types.d └── arrowflight ├── CallOptions.d ├── Client.d ├── ClientOptions.d ├── CommandDescriptor.d ├── Criteria.d ├── DataStream.d ├── Descriptor.d ├── DoPutResult.d ├── Endpoint.d ├── Info.d ├── Location.d ├── MessageReader.d ├── MetadataReader.d ├── MetadataWriter.d ├── PathDescriptor.d ├── RecordBatchReader.d ├── RecordBatchStream.d ├── RecordBatchWriter.d ├── ServableIF.d ├── ServableT.d ├── Server.d ├── ServerAuthHandler.d ├── ServerAuthReader.d ├── ServerAuthSender.d ├── ServerCallContext.d ├── ServerCustomAuthHandler.d ├── ServerOptions.d ├── StreamChunk.d ├── StreamReader.d ├── StreamWriter.d ├── Ticket.d └── c ├── functions.d └── types.d 8 directories, 349 files ``` </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
