text: """
  This example shows how to use the collection module to create a collection and then mint it.
  """
  
  from nftlabs import NftlabsSdk, SdkOptions, ListArg, MintArg, CreatePackArg, PackNftMetadata, CollectionMetadata, CreateCollectionArg, NftMetadata, MintCollectionArg, Metadata, Role
  import os
  
  # Conncect to the SDK, we're using the testnet to test it
  sdk = NftlabsSdk(SdkOptions(), "https://rpc-mumbai.maticvigil.com")
  
  # This is your wallet's private key, you can find them in your wallet. This will be used to interact with the contract.
  # WARNING: Never share this with anyone.
  sdk.set_private_key(os.getenv('PKEY'))
  
  # Initiate the modules so you can start interacting with the smart contracts. You will find the contract addresse in your thirdweb dashboard at https://www.thirdweb.com/dashboard
  collection_module = sdk.get_collection_module("0x2d7BBA13f817CD28BeA0cAd276aaf7e4bF2f58d4")
  
  
  # You can either create and mint a collection in different steps
  collection_module.create(CollectionMetadata(supply=1, metadata=NftMetadata(name='example', description='example nft!', image='ipfs://bafkreige6wt225bmrm3e64irl4ytzaiad6czm4o4jgs5nhdvxtffm3tqla', properties={})))
  collection_module.mint(MintCollectionArg(token_id=0, amount=1))
  
  # Or create and mint the collection at one go.
  print(collection_module.create_and_mint(CollectionMetadata(supply=1, metadata=NftMetadata(name='example', description='example nft!', image='ipfs://bafkreige6wt225bmrm3e64irl4ytzaiad6czm4o4jgs5nhdvxtffm3tqla', properties={}))))
  
  
  # See the newly created collections
  print(collection_module.get_all())
  