e071084ebe
govulncheck / govulncheck (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Run Tests / Unit Tests (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
2.0 KiB
2.0 KiB
Contributing to LangChain Go Micro
Thank you for your interest in contributing to the LangChain Go Micro integration!
Development Setup
- Clone the repository:
git clone https://github.com/micro/go-micro
cd go-micro/contrib/langchain-go-micro
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install in development mode:
pip install -e ".[dev]"
Running Tests
Run all tests:
pytest
Run with coverage:
pytest --cov=langchain_go_micro --cov-report=html
Run specific tests:
pytest tests/test_toolkit.py::TestGoMicroToolkit::test_get_tools
Code Style
We use several tools to maintain code quality:
Black (code formatting)
black langchain_go_micro tests examples
MyPy (type checking)
mypy langchain_go_micro
Ruff (linting)
ruff check langchain_go_micro tests
Run all checks:
black langchain_go_micro tests examples && \
mypy langchain_go_micro && \
ruff check langchain_go_micro tests
Testing with Real Services
To test with real Go Micro services:
- Start example services:
cd ../../examples/mcp/documented
go run main.go
- Run integration tests:
cd contrib/langchain-go-micro
pytest tests/integration/ -v
Submitting Changes
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Run tests and code quality checks
- Commit your changes (
git commit -am 'Add new feature') - Push to your fork (
git push origin feature/my-feature) - Create a Pull Request
Pull Request Guidelines
- Include tests for new features
- Update documentation as needed
- Follow existing code style
- Add entry to CHANGELOG.md
- Ensure all tests pass
- Keep changes focused and atomic
Questions?
- GitHub Discussions: https://github.com/micro/go-micro/discussions
- Discord: https://discord.gg/G8Gk5j3uXr