07 Feb Ethereum: How do I import a package in vyper version 0.4.0^?
Importing Packages in Vyper 0.4.0
Vyper, a statically typed and compiled programming language for Solidity-based smart contracts on the Ethereum blockchain, supports importing external libraries and modules using the import directive.
In this article, we will show you how to import the snekmate package in Vyper version 0.4.0, focusing specifically on importing from the snekmate.tokens module.
The import directive
In Vyper, you can use the import directive to bring an external library or module into the scope of your contract. Here’s how you can do it:
from snekmate.tokens import ERC20 as base_token

Importing a function from the librarydef get_snakemate_from_tokens():
return base_tokenERC20()
In this example, we define a function get_snekmate_from_tokens()
that imports the ERC20
contract from the snakmate.tokens
module and returns an instance of it.
Importing multiple libraries
To import multiple libraries or modules, you can use the following syntax:
from snekmate.tokens import ERC20 as base_token1
from snekmate.tokens import ERC20 as base_token2
Importing different functions from the librarydef get_snakemate_from_tokens_1():
return base_token1ERC20()
def get_snakemate_from_tokens_2():
return base_token2ERC20()
Importing modules
To import a module, it must be in the lib
directory of your project. In Vyper 0.4.0, lib
is the default location for modules. You can use the following syntax:
from snekmate.tokens import ERC20 as base_token
Import a module from the libraryfrom snekmate.tokens import ERC20, ERC7
Import all functions and variables from the modulefor item in [ERC20, ERC721]:
exec(f"import {item}")
In this example, we assume there is a snakemate
package with two modules: tokens
and utils
. We import both modules using the syntax above.
Include packages in contracts
To include packages in your contracts, you can simply add their directory to your lib
list in Vyper’s build_config.py
file. For example:
build_configlib = [
'lib/snakemate',
]
This will tell Vyper to include the lib/snekmate
package when compiling your contracts.
Conclusion
In this article, we showed how to import external libraries and modules in Vyper 0.4.0 using the import
statement and multiple imports. We also showed how to include packages in your contracts by adding their directory to the lib
list in build_config.py
.
No Comments