The API documents this but from a spot check I'm not sure when you'd get a response with deleted: false. For non-deleted items the deleted: key is simply absent (null). I suppose the data model can assume this is a not-null field with a default value of false but that doesn't feel right to me. I might handle that case in cleaning but I wouldn't do it in the extract.

I am always torn on a nullable boolean. I have gone both ways (leave as null or convert to false) depending on what it is representing.

In this particular case, I agree that you should record the most raw form. Which would be a boolean column of trues and nulls -perfectly handled by parquet.

[deleted]

It’s because Arc by design can’t store nil as a value in tables, like Lua. And the value is either ‘t or nil. Hence it’s a boolean.

My fork of arc supports booleans directly.

In other words, I can guarantee beyond a shadow of a doubt that dead and deleted are both booleans, not integers.