File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # dimo-python-sdk
2+
3+ Python SDK for the DIMO platform. Published to PyPI as ` dimo-python-sdk ` .
4+
5+ ## Stack
6+ - Python 3.8+, setuptools
7+ - Dependencies: requests, eth-account, eth-utils
8+ - Testing: pytest
9+
10+ ## Key Commands
11+ ``` bash
12+ # Setup
13+ pip install -r requirements.txt
14+ pip install -e . # install locally in editable mode
15+
16+ # Test
17+ pytest # run all tests
18+ pytest -v # verbose output
19+ pytest tests/test_dimo.py -v # run specific file
20+
21+ # Publish (maintainers only)
22+ python -m build
23+ twine upload dist/*
24+ ```
25+
26+ ## Project Structure
27+ ```
28+ dimo/ # Main SDK package
29+ __init__.py
30+ ...
31+ tests/ # pytest test suite
32+ test_dimo.py
33+ test_conversations.py
34+ test_errors.py
35+ test_permission_decoder.py
36+ test_request.py
37+ pyproject.toml # package metadata and build config
38+ requirements.txt
39+ ```
40+
41+ ## Development Guidelines
42+ - Public API changes require version bump in ` pyproject.toml `
43+ - All new functionality needs corresponding tests
44+ - Test coverage covers: auth, API endpoints, GraphQL queries, error handling
45+ - Supports Python 3.8+ — avoid syntax or stdlib features newer than 3.8
46+
47+ ## Gotchas
48+ - eth-account version is pinned (` ==0.13.4 ` ) — don't change without testing wallet flows
49+ - Run ` pytest ` before any PR — CI will fail on test failures
50+ - The SDK talks to live DIMO APIs in integration tests; use mocks for unit tests
You can’t perform that action at this time.
0 commit comments