Indentation is semantic only in Python (which incidentally uses spaces). In any other language it's a purely visual property - the code works the same regardless of indentation.
And in Haskell. And in Nim. And in Haml. And in Sass. And in YAML.
https://en.wikipedia.org/wiki/Off-side_rule#Off-side_rule_la...
As for Python, it doesn't use space. It can use both spaces and tabs (but not mixed within the same file). It's just that PEP-8 require spaces, but not every project/library follow PEP-8.