Skip to main content

4emet ADK: CLI-first Agent Development Kit that turns any SaaS (OpenAPI) into an AI agent.

Project description

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

  1. Init (in your repo): answer prompts to create adk.config.json and generate the agent.

    foremet init
    

    You 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).

  2. Set env: copy .env.example to .env and 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)
    
  3. Run the agent (interactive chat):

    foremet run
    

Commands

  • foremet init – Questionnaire; writes adk.config.json, .env.example, and generates agent/ (tools, prompt, run script).
  • foremet run – Loads config and runs the agent in an interactive loop. Requires .env with your SaaS auth env var and the LLM key for your provider (e.g. OPENAI_API_KEY, GOOGLE_API_KEY for Gemini; Ollama uses local server, optional OLLAMA_BASE_URL).
  • foremet refresh – Re-fetches OpenAPI and regenerates agent/ 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_KEY in .env.
  • anthropic – Set ANTHROPIC_API_KEY in .env.
  • gemini – Set GOOGLE_API_KEY in .env.
  • ollama – Run Ollama locally; optional OLLAMA_BASE_URL (default http://localhost:11434).

Requirements

  • Python 3.11+
  • API key for your chosen LLM provider (or local Ollama). Set the matching env var in .env.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foremet-0.1.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

foremet-0.1.1-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file foremet-0.1.1.tar.gz.

File metadata

  • Download URL: foremet-0.1.1.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for foremet-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7743466b87db9a97ad0dd1bbf5a8d54b44053c41c4cb30dfe19760b6e69411b0
MD5 cfc33cc83d6def1042b38a30c2492ac1
BLAKE2b-256 28d624a09cfc9a36bb9aa7dd6ede9f15c312764b711f0bb114e1cda39e0602da

See more details on using hashes here.

File details

Details for the file foremet-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: foremet-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for foremet-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9844528b2a31162f650c69f6e1bb9f0ce7c415913b99efded736f105cdedec13
MD5 3a14bff38a6ca978ad775163e06c488c
BLAKE2b-256 adea46ff5bcae66aeac0a2be8a8d46827dca2837c2bd401d1a5fb66503474a8d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page