Skip to content

Commit 0e3ff03

Browse files
committed
adressing review comments
1 parent 975f275 commit 0e3ff03

File tree

2 files changed

+47
-116
lines changed

2 files changed

+47
-116
lines changed

CONTRIBUTING.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Contributing to Cadence Python Client
2+
3+
This doc is intended for contributors to the Cadence Python Client. Thanks for considering to contribute ❤️
4+
5+
> 📚 **New to contributing to Cadence?** Check out our [Contributing Guide](https://cadenceworkflow.io/community/how-to-contribute/getting-started) for an overview of the contribution process across all Cadence repositories. This document contains Python client specific setup and development instructions.
6+
7+
Once you go through the rest of this doc and get familiar with local development setup, take a look at the list of issues labeled with
8+
[good first issue](https://github.com/cadence-workflow/cadence-python-client/labels/good%20first%20issue).
9+
These issues are a great way to start contributing to Cadence Python Client.
10+
11+
Join our community on the CNCF Slack workspace at [cloud-native.slack.com](https://communityinviter.com/apps/cloud-native/cncf) in the **#cadence-users** channel to reach out and discuss issues with the team.
12+
13+
## Submitting Pull Requests
14+
15+
1. Fork the repository
16+
2. Create a feature branch from `main`
17+
3. Make your changes following the code quality guidelines above
18+
4. Write or update tests as needed
19+
5. Ensure all tests pass and there are no linting/type errors
20+
6. Submit a pull request with a clear description of your changes
21+
22+
## Getting Help
23+
24+
- **GitHub Issues**: [Report bugs or request features](https://github.com/cadence-workflow/cadence-python-client/issues/new)
25+
- **CNCF Slack**: Join the **#cadence-users** channel at [cloud-native.slack.com](https://communityinviter.com/apps/cloud-native/cncf)
26+
- **Stack Overflow**: Tag questions with `cadence-workflow`
27+
28+
## License
29+
30+
By contributing to Cadence Python Client, you agree that your contributions will be licensed under the Apache 2.0 License.
31+

README.md

Lines changed: 16 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -16,135 +16,35 @@
1616
```bash
1717
git clone https://github.com/cadence-workflow/cadence-python-client.git
1818
cd cadence-python-client
19+
uv venv
20+
uv pip install -e ".[dev]"
1921
```
2022

21-
## Development
23+
For detailed setup instructions, development workflow, and contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
2224

23-
### Setup
25+
## Contributing
2426

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).
2928

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.
3330

34-
2. **Install uv (recommended):**
35-
```bash
36-
# macOS
37-
brew install uv
31+
## Community
3832

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
4339

44-
3. **Create virtual environment and install dependencies:**
45-
```bash
46-
uv venv
47-
uv pip install -e ".[dev]"
48-
```
40+
## Documentation
4941

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.
5643

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/)
14145
- [Main Cadence Repository](https://github.com/uber/cadence)
14246
- [Cadence Samples](https://github.com/cadence-workflow/cadence-samples)
14347

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-
14848
## License
14949

15050
Apache 2.0 License, please see [LICENSE](LICENSE) for details.

0 commit comments

Comments
 (0)