Can I write tools that use PowerShell and .NET objects in non-.NET languages, like Python or Perl (using the C implementations, not a .net python)? Like, is there an API that I can implement to interact to implement PowerShell-like "native" tools?

use pythonnet to interact with .NET dlls from CPython:

https://github.com/pythonnet/pythonnet