Zyora CLI
AI-powered code generation and security scanning from the command line.
Installation
pip install zyora-cli
Or install from source:
git clone https://github.com/zyoralabs/zyora-cli
cd zyora-cli
pip install -e .
Quick Start
-
Get your API key at app.zyoralabs.com/register
-
Configure the CLI:
zyora config set api_key zy-your-api-key-here
-
Start using Zyora:
# Interactive mode (like Claude Code) zyora # One-shot chat zyora chat "Write a Python function to validate emails" # Scan code for vulnerabilities zyora scan file app.py
Features
Interactive Mode
Start an interactive session with context awareness:
zyora
Commands in interactive mode:
| Command | Description |
|---|---|
/help |
Show help |
/clear |
Clear conversation |
/context |
Show files in context |
/add <file> |
Add file to context |
/remove <file> |
Remove from context |
/scan <file> |
Scan file for vulnerabilities |
/project |
Show project summary |
/model |
Show model info |
/config |
Show configuration |
/exit |
Exit |
Tips:
- Use
@filenameto reference files in your prompt - Pipe code directly:
cat app.py | zyora chat "explain this"
Chat Mode
Send one-off prompts:
# Simple prompt
zyora chat "Write a function to merge two sorted lists"
# With file context
zyora chat "Review this code" -c main.py -c utils.py
# From file
zyora chat -f prompt.txt
# Pipe input
cat code.py | zyora chat "Explain this code"
# Save output
zyora chat "Write a REST API" -o api.py
Security Scanning
Scan code for vulnerabilities:
# Scan a single file
zyora scan file app.py
# Scan a directory
zyora scan dir ./src
# Scan with specific extensions
zyora scan dir ./src --ext py,js
# Save results
zyora scan file app.py -o report.md
The scanner detects:
- SQL Injection (CWE-89)
- Cross-Site Scripting (CWE-79)
- Command Injection (CWE-78)
- Path Traversal (CWE-22)
- Hardcoded Credentials (CWE-798)
- And many more...
Configuration
# Show all config
zyora config show
# Set values
zyora config set api_key zy-xxx
zyora config set max_tokens 8192
zyora config set temperature 0.5
# Get a value
zyora config get model
# Reset to defaults
zyora config reset
Environment variables:
ZYORA_API_KEY- API keyZYORA_API_BASE- API base URLZYORA_MODEL- Model to useZYORA_MAX_TOKENS- Max response tokens
Examples
Generate Code
# Generate a REST API
zyora chat "Create a FastAPI REST API with user authentication"
# Generate with context
zyora chat "Add error handling to this" -c server.py
Review Code
# Code review
cat pull_request.diff | zyora chat "Review this code change"
# Architecture review
zyora chat "Review the architecture" -c main.py -c models.py -c routes.py
Security Audit
# Full project scan
zyora scan dir ./src --recursive -o security-report.md
# Quick scan
zyora scan file api/auth.py
Interactive Session
$ zyora
╔═══════════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗ ██████╗ ██████╗ █████╗ ║
║ ╚══███╔╝╚██╗ ██╔╝██╔═══██╗██╔══██╗██╔══██╗ ║
║ ███╔╝ ╚████╔╝ ██║ ██║██████╔╝███████║ ║
║ ███╔╝ ╚██╔╝ ██║ ██║██╔══██╗██╔══██║ ║
║ ███████╗ ██║ ╚██████╔╝██║ ██║██║ ██║ ║
║ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ║
║ ║
║ AI-Powered Code Generation & Security Scanning ║
╚═══════════════════════════════════════════════════════════════╝
Type /help for commands, /exit to quit
zyora > /add src/main.py
Added: src/main.py
zyora [1] > What does this code do?
...
API Usage
You can also use Zyora programmatically:
from zyora.client import ZyoraClient, Message
client = ZyoraClient(api_key="zy-xxx")
# Simple chat
response = client.chat([
Message(role="user", content="Write hello world in Python")
])
print(response.content)
# Streaming
for chunk in client.chat(messages, stream=True):
print(chunk, end="")
Requirements
- Python 3.9+
- API key from app.zyoralabs.com
License
MIT License - see LICENSE for details.
Links
- Website: zyoralabs.com
- API Portal: app.zyoralabs.com
- Documentation: app.zyoralabs.com/docs
- Model: huggingface.co/zyoralabs/Zyora-DEV-32B
Metadata
Release files for zyora-cli 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| zyora_cli-0.1.0.tar.gz | 15.0 kB | Without provenance | Details for zyora_cli-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zyora_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for zyora_cli-0.1.0-py3-none-any.whl |
Total release size: 35.9 kB
Release files / zyora_cli-0.1.0.tar.gz
| Download URL | zyora_cli-0.1.0.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93f9c11398d6a4bbbf54fd320ec8115ba4899cd3f6d001e803ac33443509d1bf
|
|
BLAKE2b-256 checksum How to use checksums |
c5028d991d20724c12f15352ab5e9a2473fcb68b962ab52544c427742287856d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / zyora_cli-0.1.0-py3-none-any.whl
| Download URL | zyora_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
14ae737a725b42e4b04f1652c15b78057b87c54554ab620f2d4d581de7412c5e
|
|
BLAKE2b-256 checksum How to use checksums |
c5c64b526953c2059d03a18f3d42c183529c4429292c9eedae9e1318d797aec7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for zyora-cli 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.