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
# NOTE: There is currently a hand-edit that we make to the generated orchestrator_service_pb2.py file after it's generated to help resolve import problems.
Copy file name to clipboardExpand all lines: README.md
+99-14Lines changed: 99 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,46 +9,131 @@ This repo contains a Python client SDK for use with the [Durable Task Framework
9
9
10
10
> Note that this project is **not** currently affiliated with the [Durable Functions](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-overview) project for Azure Functions. If you are looking for a Python SDK for Durable Functions, please see [this repo](https://github.com/Azure/azure-functions-durable-python).
11
11
12
+
## Features
13
+
14
+
-[x] Orchestrations
15
+
-[x] Activities
16
+
-[x] Durable timers
17
+
-[x] Sub-orchestrations
18
+
-[ ] External events
19
+
-[ ] Suspend and resume
20
+
-[ ] Retry policies
21
+
22
+
## Supported patterns
23
+
24
+
The following orchestration patterns are currently supported.
25
+
26
+
### Function chaining
27
+
28
+
An orchestration can chain a sequence of function calls using the following syntax:
29
+
30
+
```python
31
+
# simple activity function that returns a greeting
To install this package from source, clone this repository and run the following command from the project root:
19
90
20
-
#### Install from PyPI
21
-
This package is not yet published to [PyPI](https://pypi.org/).
91
+
```sh
92
+
python3 -m pip install .
93
+
```
22
94
23
-
#### Install from source
24
-
TODO
95
+
### Run the samples
96
+
97
+
See the [examples](./examples) directory for a list of sample orchestrations and instructions on how to run them.
25
98
26
99
## Development
27
-
The following is more information about how to develop this project.
100
+
101
+
The following is more information about how to develop this project. Note that development commands require that `make` is installed on your local machine. If you're using Windows, you can install `make` using [Chocolatey](https://chocolatey.org/) or use WSL.
28
102
29
103
### Generating protobufs
30
-
If the gRPC proto definitions need to be updated, the corresponding source code can be regenerated using the following command from the project root:
Protobuf definitions are stored in the [./submodules/durabletask-proto](./submodules/durabletask-proto) directory, which is a submodule. To update the submodule, run the following command from the project root:
106
+
107
+
```sh
108
+
git submodule update --init
34
109
```
35
110
36
-
### Linting and running unit tests
111
+
Once the submodule is available, the corresponding source code can be regenerated using the following command from the project root:
112
+
113
+
```sh
114
+
make proto-gen
115
+
```
37
116
38
-
See the [pr-validation.yml](.github/workflows/pr-validation.yml) workflow for the full list of commands that are run as part of the CI/CD pipeline.
117
+
### Running unit tests
118
+
119
+
Unit tests can be run using the following command from the project root. Unit tests _don't_ require a sidecar process to be running.
120
+
121
+
```sh
122
+
make test-unit
123
+
```
39
124
40
125
### Running E2E tests
41
126
42
-
The E2E (end-to-end) tests require a sidecar process to be running. You can run a sidecar process using the following `docker` command (assumes you have Docker installed on your local system.)
127
+
The E2E (end-to-end) tests require a sidecar process to be running. You can use the Dapr sidecar for this or run a Durable Task test sidecar using the following `docker` command:
0 commit comments