|
16 | 16 | ```bash |
17 | 17 | git clone https://github.com/cadence-workflow/cadence-python-client.git |
18 | 18 | cd cadence-python-client |
| 19 | +uv venv |
| 20 | +uv pip install -e ".[dev]" |
19 | 21 | ``` |
20 | 22 |
|
21 | | -## Development |
| 23 | +For detailed setup instructions, development workflow, and contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md). |
22 | 24 |
|
23 | | -### Setup |
| 25 | +## Contributing |
24 | 26 |
|
25 | | -1. **Install protobuf (required):** |
26 | | - ```bash |
27 | | - # macOS |
28 | | - brew install protobuf@29 |
| 27 | +We'd love your help in making Cadence great! Please review our [contribution guide](CONTRIBUTING.md). |
29 | 28 |
|
30 | | - # Linux/Other |
31 | | - # Install protobuf 29.x via your package manager |
32 | | - ``` |
| 29 | +If you'd like to propose a new feature, first join the [CNCF Slack workspace](https://communityinviter.com/apps/cloud-native/cncf) in the **#cadence-users** channel to start a discussion. |
33 | 30 |
|
34 | | -2. **Install uv (recommended):** |
35 | | - ```bash |
36 | | - # macOS |
37 | | - brew install uv |
| 31 | +## Community |
38 | 32 |
|
39 | | - # Linux/Other |
40 | | - curl -LsSf https://astral.sh/uv/install.sh | sh |
41 | | - source $HOME/.local/bin/env # Add to your shell profile for persistence |
42 | | - ``` |
| 33 | +- [GitHub Issues](https://github.com/cadence-workflow/cadence-python-client/issues) |
| 34 | + - Best for reporting bugs and feature requests |
| 35 | +- [Stack Overflow](https://stackoverflow.com/questions/tagged/cadence-workflow) |
| 36 | + - Best for Q&A and general discussion |
| 37 | +- [Slack](https://communityinviter.com/apps/cloud-native/cncf) - Join **#cadence-users** channel on CNCF Slack |
| 38 | + - Best for contributing/development discussion |
43 | 39 |
|
44 | | -3. **Create virtual environment and install dependencies:** |
45 | | - ```bash |
46 | | - uv venv |
47 | | - uv pip install -e ".[dev]" |
48 | | - ``` |
| 40 | +## Documentation |
49 | 41 |
|
50 | | - Or if you prefer traditional pip: |
51 | | - ```bash |
52 | | - python3.11 -m venv venv |
53 | | - source venv/bin/activate # Windows: venv\Scripts\activate |
54 | | - pip install -e ".[dev]" |
55 | | - ``` |
| 42 | +Visit [cadenceworkflow.io](https://cadenceworkflow.io) to learn more about Cadence. |
56 | 43 |
|
57 | | -### Generate Protobuf and gRPC Files |
58 | | - |
59 | | -Run the generation script: |
60 | | -```bash |
61 | | -# Using uv (recommended) |
62 | | -uv sync --extra dev |
63 | | -uv run python scripts/generate_proto.py |
64 | | - |
65 | | -# Or using traditional Python |
66 | | -python scripts/generate_proto.py |
67 | | -``` |
68 | | - |
69 | | -This will: |
70 | | -- Download protoc 29.1 binary |
71 | | -- Install grpcio-tools if needed |
72 | | -- Generate Python protobuf files in `cadence/api/v1/` |
73 | | -- Generate gRPC service files in `cadence/api/v1/` |
74 | | -- Create proper package structure with both protobuf and gRPC imports |
75 | | - |
76 | | -### Test |
77 | | - |
78 | | -Verify the generated files work: |
79 | | -```bash |
80 | | -# Using uv (recommended) |
81 | | -uv run python cadence/sample/simple_usage_example.py |
82 | | -uv run python cadence/sample/grpc_usage_example.py |
83 | | - |
84 | | -# Or using traditional Python |
85 | | -python cadence/sample/simple_usage_example.py |
86 | | -python test_grpc_with_examples.py |
87 | | -``` |
88 | | - |
89 | | -### Development Script |
90 | | - |
91 | | -The project includes a development script that provides convenient commands for common tasks: |
92 | | - |
93 | | -```bash |
94 | | -# Generate protobuf files |
95 | | -uv run python scripts/dev.py protobuf |
96 | | - |
97 | | -# Run tests |
98 | | -uv run python scripts/dev.py test |
99 | | - |
100 | | -# Run tests with coverage |
101 | | -uv run python scripts/dev.py test-cov |
102 | | - |
103 | | -# Run linting |
104 | | -uv run python scripts/dev.py lint |
105 | | - |
106 | | -# Format code |
107 | | -uv run python scripts/dev.py format |
108 | | - |
109 | | -# Install in development mode |
110 | | -uv run python scripts/dev.py install |
111 | | - |
112 | | -# Install with dev dependencies |
113 | | -uv run python scripts/dev.py install-dev |
114 | | - |
115 | | -# Build package |
116 | | -uv run python scripts/dev.py build |
117 | | - |
118 | | -# Clean build artifacts |
119 | | -uv run python scripts/dev.py clean |
120 | | - |
121 | | -# Run all checks (lint + test) |
122 | | -uv run python scripts/dev.py check |
123 | | -``` |
124 | | - |
125 | | -## Community & Contributing |
126 | | - |
127 | | -### Get Involved |
128 | | - |
129 | | -We'd love your help in making Cadence great! Here's how you can get involved: |
130 | | - |
131 | | -- **Join the conversation**: Connect with the Cadence community on [CNCF Slack](https://slack.cncf.io/) in the `#cadence` channel |
132 | | -- **Contributing Guide**: Please see our [Contributing Guide](https://github.com/cadence-workflow/cadence/blob/master/CONTRIBUTING.md) for details on: |
133 | | - - How to contribute |
134 | | - - Development workflow |
135 | | - - Code review process |
136 | | - - Community guidelines |
137 | | - |
138 | | -### Resources |
139 | | - |
140 | | -- [Cadence Documentation](https://cadenceworkflow.io/docs/) |
| 44 | +- [Documentation](https://cadenceworkflow.io/docs/) |
141 | 45 | - [Main Cadence Repository](https://github.com/uber/cadence) |
142 | 46 | - [Cadence Samples](https://github.com/cadence-workflow/cadence-samples) |
143 | 47 |
|
144 | | -### Reporting Issues |
145 | | - |
146 | | -If you find a bug or have a feature request, please [open an issue](https://github.com/cadence-workflow/cadence-python-client/issues/new) on GitHub. |
147 | | - |
148 | 48 | ## License |
149 | 49 |
|
150 | 50 | Apache 2.0 License, please see [LICENSE](LICENSE) for details. |
0 commit comments