You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+16-1Lines changed: 16 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,14 @@
1
-
# Development dependencies
1
+
# Contributing to `algorand-python-testing`
2
+
3
+
Welcome to the Algorand Python Testing library! This guide will help you get started with the project and contribute to its development.
2
4
3
5
# Development Dependencies
4
6
5
7
Our development environment relies on the following tools:
6
8
7
9
-**Python 3.12**
8
10
-**[Hatch](https://hatch.pypa.io/1.9/install/)**: A modern, extensible Python project manager.
11
+
-**[pre-commit](https://pre-commit.com/)**: A framework for managing and maintaining code quality.
9
12
10
13
## Common Commands
11
14
@@ -22,6 +25,18 @@ Here are some common commands you will use with Hatch:
22
25
-**Regenerate typed clients for example contracts:**`hatch run refresh_test_artifacts`
23
26
-**Coverage check of existing progress on implementing AlgoPy Stubs:**`hatch run check_stubs_cov`
24
27
28
+
# Using `pre-commit`
29
+
30
+
Execute `pre-commit install` to ensure auto run of hatch against `src` and `examples` folders
31
+
25
32
# Examples folder
26
33
27
34
Examples folder uses a dedicated 'venv.examples' virtual environment managed by Hatch that simulates a user environment with both algorand-python and algorand-python-testing installed explicitly. This is useful for testing new features or bug fixes in the testing library.
35
+
36
+
-**Pre-commit checks against examples:**`hatch run examples:pre-commit`
37
+
38
+
# Release automation
39
+
40
+
Project relies on [python-semantic-release](https://python-semantic-release.readthedocs.io/en/latest/) for release automation.
41
+
42
+
Releases are triggered by a `workflow_dispatch` event on the `main` branch with `prerelease` set to accordingly using the `.github/workflows/cd.yaml` file.
Algorand Python Testing is a companion package to [Algorand Python](https://github.com/algorandfoundation/puya) 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.
0 commit comments