opshin is a programming language for developing smart contracts on the Cardano blockchain. Its syntax is 100% valid Python code and it ensures that contracts evaluate on-chain exactly as their Python counterpart. This allows unit tests and verification of the Python code using standard tooling available for Python development. Existing IDEs, linters and language servers may be re-used as well. Note that the type system of opshin is much stricter than the type system of Python, so that many optimizations can be implemented and an elevated level of security is provided.
The language interacts closely with the python library pycardano. The internal data structures are defined with data types compatible to the library and allow a tight combination of off- and on-chain code, all written in Python.