Skip to content

Commit ed27387

Browse files
committed
Add claude.md
1 parent 1ea5abf commit ed27387

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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

0 commit comments

Comments
 (0)