4emet ADK (foremet)
4emet is a CLI-first Agent Development Kit that turns any SaaS (via OpenAPI) into an AI agent. Run foremet init in your repo, answer a few questions, and get a LangGraph agent that can call your API.
Install
pip install -e .
# or from PyPI (when published): pip install foremet
Quick start
-
Init (in your repo): answer prompts to create
adk.config.jsonand generate the agent.foremet initYou will be asked for: OpenAPI spec URL or path, product name, API base URL, auth env var name, LLM provider (openai, anthropic, gemini, or ollama), model name, and optional output directory (default
./agent). -
Set env: copy
.env.exampleto.envand set your SaaS API key and the LLM key for your chosen provider.cp .env.example .env # Edit .env: set SAAS_API_KEY and one of OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY (or run Ollama locally; no key needed)
-
Run the agent (interactive chat):
foremet run
Commands
foremet init– Questionnaire; writesadk.config.json,.env.example, and generatesagent/(tools, prompt, run script).foremet run– Loads config and runs the agent in an interactive loop. Requires.envwith your SaaS auth env var and the LLM key for your provider (e.g.OPENAI_API_KEY,GOOGLE_API_KEYfor Gemini; Ollama uses local server, optionalOLLAMA_BASE_URL).foremet refresh– Re-fetches OpenAPI and regeneratesagent/from current config.
Config
adk.config.json (created by init) includes: openapi_url or openapi_path, product_name, product_description, base_url, auth_type, auth_env_var, output_dir (default ./agent), llm_provider (openai, anthropic, gemini, ollama), model.
Secrets are never stored in config; only the name of the env var (e.g. SAAS_API_KEY) is saved. Set the actual key in .env or your environment.
Generated agent
The agent/ directory (or your custom output_dir) contains:
tools_generated.py– LangChain tools for each OpenAPI operation.prompt_generated.py– System prompt for the agent.run.py– Standalone script:python agent/run.py "your message"(run from repo root).
foremet run uses the same runner and is the recommended way to chat.
Testing
pip install -e ".[dev]"
pytest tests/ -v
See the plan (Section 10) for the full test plan before release (unit, integration, E2E, manual QA, security, packaging).
LLM providers
- openai – Set
OPENAI_API_KEYin.env. - anthropic – Set
ANTHROPIC_API_KEYin.env. - gemini – Set
GOOGLE_API_KEYin.env. - ollama – Run Ollama locally; optional
OLLAMA_BASE_URL(defaulthttp://localhost:11434).
Requirements
- Python 3.11+
- API key for your chosen LLM provider (or local Ollama). Set the matching env var in
.env.
Metadata
Release files for foremet 0.1.1
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 |
|---|---|---|---|---|
| foremet-0.1.1.tar.gz | 16.5 kB | Without provenance | Details for foremet-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| foremet-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for foremet-0.1.1-py3-none-any.whl |
Total release size: 34.5 kB
Release files / foremet-0.1.1.tar.gz
| Download URL | foremet-0.1.1.tar.gz |
|---|---|
| Size | 16.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7743466b87db9a97ad0dd1bbf5a8d54b44053c41c4cb30dfe19760b6e69411b0
|
|
BLAKE2b-256 checksum How to use checksums |
28d624a09cfc9a36bb9aa7dd6ede9f15c312764b711f0bb114e1cda39e0602da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / foremet-0.1.1-py3-none-any.whl
| Download URL | foremet-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9844528b2a31162f650c69f6e1bb9f0ce7c415913b99efded736f105cdedec13
|
|
BLAKE2b-256 checksum How to use checksums |
adea46ff5bcae66aeac0a2be8a8d46827dca2837c2bd401d1a5fb66503474a8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for foremet 0.1.1
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.