API Clients
Client libraries for accessing the cyber.trackr.live API in different programming languages.
Available Clients
Official Clients
💎 Ruby Client
- Overview - Installation and basic usage
- Helper Methods - Convenience functions for common workflows
- Examples - Real-world usage examples
Installation:
gem install cyber_trackr_live
Requirements: Ruby 3.2+
The Ruby client is our original reference implementation with comprehensive helper methods for STIG workflows.
🐍 Python Client ✨ NEW
- Overview - Installation and basic usage
- Helper Methods - Comprehensive helper reference
- Examples - Real-world usage patterns
- Optimization Guide - Caching and performance
Installation:
pip install cyber-trackr-live
# Or with optimizations:
pip install cyber-trackr-live[optimizations]
Requirements: Python 3.8+
The Python client features modern type hints, smart search, fuzzy matching, and optional HTTP caching (30x faster).
Feature Comparison
Feature | Ruby | Python |
---|---|---|
Basic Functionality | ||
List STIGs/SRGs | ✅ | ✅ |
Fetch documents | ✅ | ✅ |
Batch fetching | ✅ | ✅ |
Progress callbacks | ✅ | ✅ |
Cross-referencing | ✅ | ✅ |
Advanced Features | ||
Smart search | ❌ | ✅ |
Fuzzy matching | ❌ | ✅ |
HTTP caching | ❌ | ✅ Optional |
Rate limiting | Manual | ✅ Optional |
Async/await | ❌ | ✅ |
Type hints | N/A | ✅ Full |
ID parsing utilities | ❌ | ✅ |
Severity filtering | ❌ | ✅ |
Future Clients
We plan to support additional languages based on community needs:
- TypeScript/JavaScript - For web applications and Node.js services
- Go - For high-performance microservices
- Java - For enterprise applications
- Rust - For systems programming
Generate Your Own Client
Want to use a different language? Our Client Generation Guide provides step-by-step instructions for generating clients in TypeScript, Python, Go, Java, and many other languages:
- Getting Started - Why generate clients and basic setup
- Language Commands - Ready-to-use generation commands
- Advanced Configuration - Custom templates and automation
- Usage Examples - See generated clients in action
- Reference Guide - Troubleshooting and best practices
All clients are generated from the same OpenAPI specification, ensuring consistency and version synchronization across language implementations.
Which Client Should I Use?
Choose Ruby if:
- You're working in a Ruby/Rails environment
- You need production-proven, battle-tested code
- You prefer established, stable tooling
Choose Python if:
- You're working in a Python environment
- You want modern features (async, caching, fuzzy search)
- You need type safety and IDE autocomplete
- Performance is critical (caching provides 30x speedup)
- You're doing data analysis or automation
Generate Your Own if:
- You need a different language (Go, TypeScript, Java, etc.)
- You want to customize the generated code
- You have specific framework requirements
Contributing
Interested in adding support for your preferred language? See our Contributing Guide for information on:
- Requesting new client languages
- Testing client generation
- Submitting improvements