Skip to content

Commit 4c79cd7

Browse files
committed
Update ask2api CLI to include environment variable support and enhance help documentation
- Added support for environment variables to configure API settings, including `OPENAI_API_KEY`, `ASK2API_BASE_URL`, `ASK2API_MODEL`, and `ASK2API_TEMPERATURE`. - Improved the help output of the CLI by including detailed descriptions for each argument and environment variable. - Updated version in `pyproject.toml` to 0.3.0 and reflected changes in CHANGELOG.md.
1 parent 420f278 commit 4c79cd7

3 files changed

Lines changed: 43 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.0] - 2025-12-27
9+
10+
### Changed
11+
- Refactored API configuration to use `Config` dataclass for better maintainability
12+
- Replaced hardcoded API settings with configurable values
13+
- Added environment variable support for API configuration:
14+
- `ASK2API_BASE_URL` - Override the base API URL (default: `https://api.openai.com/v1`)
15+
- `ASK2API_MODEL` - Override the model name (default: `gpt-4.1`)
16+
- `ASK2API_TEMPERATURE` - Override the temperature setting (default: `0`)
17+
818
## [0.2.1] - 2025-02-27
919

1020
### Added

ask2api.py

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,39 @@ def get_version():
9292

9393

9494
def main():
95-
parser = argparse.ArgumentParser()
96-
parser.add_argument("-p", "--prompt", required=True)
97-
parser.add_argument("-sf", "--schema-file", required=True)
98-
parser.add_argument("-i", "--image")
95+
env_vars_help = """
96+
Environment Variables:
97+
OPENAI_API_KEY OpenAI API key (required)
98+
ASK2API_BASE_URL Base API URL (default: https://api.openai.com/v1)
99+
ASK2API_MODEL Model name (default: gpt-4.1)
100+
ASK2API_TEMPERATURE Temperature setting (default: 0)
101+
"""
102+
parser = argparse.ArgumentParser(
103+
formatter_class=argparse.RawDescriptionHelpFormatter,
104+
epilog=env_vars_help,
105+
)
106+
parser.add_argument(
107+
"-p",
108+
"--prompt",
109+
required=True,
110+
help="Natural language prompt",
111+
)
112+
parser.add_argument(
113+
"-sf",
114+
"--schema-file",
115+
required=True,
116+
help="Path to JSON schema file",
117+
)
118+
parser.add_argument(
119+
"-i",
120+
"--image",
121+
help="Path to image file or image URL",
122+
)
99123
parser.add_argument(
100-
"-v", "--version", action="version", version=f"%(prog)s {get_version()}"
124+
"-v",
125+
"--version",
126+
action="version",
127+
version=f"%(prog)s {get_version()}",
101128
)
102129
args = parser.parse_args()
103130

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "ask2api"
3-
version = "0.2.1"
3+
version = "0.3.0"
44
description = "A minimal CLI tool that turns natural language into instant APIs."
55
readme = "README.md"
66
authors = [

0 commit comments

Comments
 (0)