vclient — Auto-Generate API Clients
Auto-discover OpenAPI endpoints and generate type-safe client libraries in 6 languages instantly.
Features
✨ Single Command:
vclient infer https://api.example.com
Generates:
- 🐍 Python (httpx + Pydantic models)
- 📘 TypeScript (Fetch API + Zod validation)
- 🐹 Go (net/http)
- 🦀 Rust (reqwest + serde)
- ☕ Java (HttpClient)
- 💎 Ruby (Faraday)
How It Works
- Discover — Probe API endpoints and extract OpenAPI specs
- Infer — Analyze responses → infer complete JSON schemas
- Cache — Store schemas, detect drift on next run
- Generate — Produce idiomatic clients for all 6 languages
Installation
# via PyPI
pip install vclient
# via Homebrew (after setup)
brew install yc-trails/vclient/vclient
Quick Start
# Infer schema from live API
vclient infer https://be.vyonica.com --max-endpoints 25 \
--gen-python --gen-typescript --gen-go --gen-rust --gen-java --gen-ruby
# Generates: schema.json + client.py + client.ts + client.go + client.rs + Client.java + client.rb
Generate from Existing Schema
vclient codegen schema.json \
--python client.py \
--typescript client.ts \
--go client.go \
--rust client.rs \
--java Client.java \
--ruby client.rb
Architecture
vclient/
├── src/
│ ├── cli.py # Command-line interface
│ ├── sampler.py # Endpoint discovery + HTTP sampling
│ ├── inferrer.py # Schema inference from responses
│ ├── codegen.py # 6-language code generation
│ └── cache.py # SQLite schema caching + drift detection
├── tests/ # 55+ unit tests
├── test-clients/ # Generated examples (153 Vyonica endpoints)
└── Formula/vclient.rb # Homebrew formula
Testing
All generators tested on real-world APIs:
# Run test suite
pytest tests/ -v
# Test with Vyonica API (153 endpoints)
vclient infer https://be.vyonica.com --no-cache
What's Next
- Windows binary (Windows Subsystem for Linux compatible)
- Kotlin support (JVM ecosystem)
- GraphQL support
- API documentation generation
Made for: AI agents, SaaS integrators, enterprises calling legacy APIs without OpenAPI specs.
Metadata
Release files for vclient 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vclient-0.2.0.tar.gz | 22.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vclient-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.3 kB
Release files / vclient-0.2.0.tar.gz
| Download URL | vclient-0.2.0.tar.gz |
|---|---|
| Size | 22.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7747ce7847502abaaedf550ac515377b1c6c5630cc17186c2d60f71385f642ed
|
|
BLAKE2b-256 checksum How to use checksums |
dd4f558e24175c241a5cb2d15ba7cdc8b383a72773b3bb14d51b737f84cf428e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / vclient-0.2.0-py3-none-any.whl
| Download URL | vclient-0.2.0-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
94e77e99f0fed7949a6f5b30a0b3445d2b5f9ed3f549f05b69318ae1eafb777d
|
|
BLAKE2b-256 checksum How to use checksums |
11b51c325f78499a0d69e8668c0c77ccf81e67812456e21120df7629f77ec5f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|