Skip to content

Commit a912b37

Browse files
codebydivineclaude
andcommitted
Initial commit: Complete Token API Client v0.1.1 with 98.44% test coverage
✨ Features: - Clean EVM/SVM separated API interface (api.evm.* and api.svm.*) - Support for 8 EVM networks + Solana mainnet - Comprehensive NFT, DeFi, and token data endpoints - Type-safe models with structured data access - Async/await architecture with proper resource management 🧪 Testing: - 98.44% test coverage (7/8 files at 100%) - 215 comprehensive tests organized by component - Complete coverage of all API endpoints and edge cases - Mock-based testing for reliable CI/CD 📚 Documentation: - Complete API reference with examples - 18 real-world usage examples (EVM + SVM) - Production-ready patterns and error handling - Links to official The Graph Token API docs 🏗️ Architecture: - Modular design: base, client, evm, svm, models, types - Factory pattern for network-specific clients - Comprehensive type definitions and enums - Clean separation of concerns 🚀 Production Ready: - Environment variable configuration - Proper error handling and timeouts - Pagination support and parameter validation - Structured response models with attribute access 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
0 parents  commit a912b37

34 files changed

+8039
-0
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# The Graph API key
2+
THEGRAPH_API_KEY=""

.gitignore

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
dist/
13+
downloads/
14+
eggs/
15+
.eggs/
16+
lib/
17+
lib64/
18+
parts/
19+
sdist/
20+
var/
21+
wheels/
22+
share/python-wheels/
23+
*.egg-info/
24+
.installed.cfg
25+
*.egg
26+
MANIFEST
27+
28+
# PyInstaller
29+
# Usually these files are written by a script, but they might be committed by
30+
# mistake.
31+
*.spec
32+
33+
# Installer logs
34+
pip-log.txt
35+
pip-delete-this-directory.txt
36+
37+
# Unit test / coverage reports
38+
htmlcov/
39+
.tox/
40+
.nox/
41+
.coverage
42+
.coverage.*.*
43+
.cache
44+
nosetests.xml
45+
coverage.xml
46+
*.cover
47+
*.py,cover
48+
.hypothesis/
49+
.pytest_cache/
50+
51+
# Translations
52+
*.mo
53+
*.pot
54+
*.po
55+
56+
# Django stuff:
57+
*.log
58+
local_settings.py
59+
db.sqlite3
60+
db.sqlite3-journal
61+
62+
# Flask stuff:
63+
instance/
64+
.webassets-cache
65+
66+
# Scrapy stuff:
67+
.scrapy
68+
69+
# Sphinx documentation
70+
docs/_build/
71+
72+
# PyBuilder
73+
target/
74+
75+
# Jupyter Notebook
76+
.ipynb_checkpoints
77+
78+
# IPython
79+
profile_default/
80+
ipython_config.py
81+
82+
# pyenv
83+
.python-version
84+
85+
# pipenv
86+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
87+
# Pipfile.lock
88+
89+
# poetry
90+
# poetry.lock
91+
92+
# pdm
93+
# pdm.lock
94+
# .pdm.toml
95+
96+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
97+
__pypackages__/
98+
99+
# Celery stuff
100+
celerybeat-schedule
101+
celerybeat.pid
102+
103+
# SageMath parsed files
104+
*.sage.py
105+
106+
# Environments
107+
.env
108+
.venv
109+
env/
110+
venv/
111+
ENV/
112+
env.bak/
113+
venv.bak/
114+
115+
# Spyder project settings
116+
.spyderproject
117+
.spyproject
118+
119+
# Rope project settings
120+
.ropeproject
121+
122+
# mkdocs documentation
123+
/site
124+
125+
# mypy
126+
.mypy_cache/
127+
.dmypy.json
128+
dmypy.json
129+
130+
# Pyre type checker
131+
.pyre/
132+
133+
# pytype static analysis results
134+
.pytype/
135+
136+
# Cython cache files
137+
cython_debug/
138+
.DS_Store

0 commit comments

Comments
 (0)