Match only rows which doesn't satisfy the filter. not_
expects you to use the raw PostgREST syntax for the filter values.
.not_.in_('id', '(5,6,7)') # Use `()` for `in` filter
.not_.contains('arraycol', '{"a","b"}') # Use `{}` for array values
response = (
supabase.table("planets")
.select("*")
.not_.is_("name", "null")
.execute()
)