Skip to main content

Algorand Python testing library

Project description


Algorand Python Testing is a companion package to Algorand Python that enables efficient unit testing of Algorand Python smart contracts in an offline environment. It emulates key AVM behaviors without requiring a network connection, offering fast and reliable testing capabilities with a familiar Pythonic interface.

Documentation | Algorand Python Documentation

Quick start

The easiest way to use Algorand Python Testing is to instantiate a template with AlgoKit via algokit init -t python. This will give you a full development environment with testing capabilities built-in.

Alternatively, if you want to start from scratch:

  1. Ensure you have Python 3.12+

  2. Install AlgoKit CLI

  3. Install Algorand Python Testing into your project:

    pip install algorand-testing-python
    
  4. Create a test file (e.g., test_contract.py):

    from algopy_testing import algopy_testing_context
    from your_contract import YourContract
    
    def test_your_contract():
        with algopy_testing_context() as context:
            # Arrange
            contract = YourContract()
            expected_result = ... # Your expected result here
    
            # Act
            result = contract.your_method(context.any.uint64())  # Your test code here
    
            # Assert
            assert result == expected_result
    
  5. Run your tests using your preferred Python testing framework (e.g., pytest, unittest)

For more detailed information, check out the full documentation.

Features

  • Offline testing environment simulating core AVM functionality
  • Compatible with popular Python testing frameworks
  • Supports testing of ARC4 contracts, smart signatures, and more
  • Provides tools for mocking blockchain state and transactions

Examples

For detailed examples showcasing various testing scenarios, refer to the examples section in the documentation.

Contributing

We welcome contributions to this project! Please read our contributing guide to get started.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

algorand_python_testing-0.4.0b2.tar.gz (281.1 kB view details)

Uploaded Source

Built Distribution

algorand_python_testing-0.4.0b2-py3-none-any.whl (85.0 kB view details)

Uploaded Python 3

File details

Details for the file algorand_python_testing-0.4.0b2.tar.gz.

File metadata

File hashes

Hashes for algorand_python_testing-0.4.0b2.tar.gz
Algorithm Hash digest
SHA256 4a327a70c331d261034fca75948b70133ccf732d3d311d9ff52edf382b080018
MD5 7c9f57f76253f7729f8787179361e9fd
BLAKE2b-256 c5b52fd10d4d09c393e2eba92898d2f20d2c65b8e77e864247996d315444e347

See more details on using hashes here.

File details

Details for the file algorand_python_testing-0.4.0b2-py3-none-any.whl.

File metadata

File hashes

Hashes for algorand_python_testing-0.4.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 c1fa916c91a8c5a80ce9f38047704c6c83a8a1a9af0d41f83f314520a101d848
MD5 d5ae62873eabe25ba5c1ce734bcbe676
BLAKE2b-256 66b9515b1eb81f4c647d4b737d47599a061911a56350a02115d6f500a40005f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page