Thank you for your interest in contributing to the MapFlow Python SDK!
- Clone the repository:
git clone https://github.com/mapflow/sdk-python.git
cd sdk-python- Install dependencies:
pip install -r requirements.txt- Install the package in development mode:
pip install -e .Run all tests:
python run_tests.pyRun specific test file:
python -m unittest tests.test_clientRun with verbose output:
python -m unittest -v tests.test_client- Follow PEP 8 guidelines
- Use type hints for all function parameters and return values
- Write docstrings for all public methods and classes
- Keep functions focused and single-purpose
- Create a new branch for your feature
- Implement the feature with appropriate tests
- Update documentation (README.md, docstrings)
- Ensure all tests pass
- Submit a pull request
To test with the real MapFlow API:
from mapflow import MapFlowClient
# Use test environment
client = MapFlowClient(
api_key="your-test-api-key",
base_url="https://api-test.mapflow.co" # Test environment
)sdk-python/
├── mapflow/ # Main package
│ ├── __init__.py # Package exports
│ ├── client.py # MapFlowClient class
│ ├── models.py # Pydantic models
│ ├── constants.py # Enums and constants
│ └── exceptions.py # Custom exceptions
├── tests/ # Unit tests
├── examples/ # Usage examples
├── setup.py # Package setup
└── README.md # Documentation
- Keep PRs focused on a single feature or fix
- Include tests for new functionality
- Update documentation as needed
- Ensure all tests pass
- Follow the existing code style
When reporting issues, please include:
- SDK version
- Python version
- Minimal code to reproduce the issue
- Expected vs actual behavior
- Any error messages or stack traces
For questions or discussions, please open an issue on GitHub.