Skip to main content

Your Python AI Coder

Project description

Nemo Agent

PyPI - Version Python 3.9+ PyPI - Downloads License: MIT Libraries.io dependency status for GitHub repo

Nemo Agent

Nemo Agent is your Python AI Coder!

https://github.com/user-attachments/assets/51cf6ad1-196c-44ab-99ba-0035365f1bbd

Features

  • Runs blazing fast
  • Generates Python project structures automatically using uv
  • Writes Python code based on task descriptions
  • Executes development tasks using AI-generated commands
  • Utilizes the Ollama, OpenAI, Claude, or Gemini language models for intelligent code generation
  • Ability to import reference documents to guide the task implementation
  • Allows importing existing code projects in multiple languages to serve as a reference for the task
  • Enables the importation of csv data files to populate databases or graphs
  • Implements best practices in Python development automatically
  • Writes and runs passing tests using pytest up to 80%+ test coverage
  • Automatically fixes and styles code using pylint up to 7+/10
  • Calculates and improves the complexity score using complexipy to be under 15
  • Auto-formats the code with autopep8
  • Shows the token count used for the responses
  • Run via UV (uvx)

Coding Ability

  • leetcode hards
  • fastapi or flask APIs
  • flask web apps
  • streamlit apps
  • tkinter apps
  • jupyter notebook
  • Note: Not all runs will be successful with all models

Install

OpenAI, Claude, or Gemini Install

Requirements

  • Python 3.9 or higher
  • OpenAI, Claude, or Gemini API KEY
  • Mac or Linux
  • No GPU requirement

Requirements Installation

  • Install OpenAI, Claude, or Gemini for zsh shell
    • echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc or
    • echo 'export ANTHROPIC_API_KEY="YOUR_API_KEY"' >> ~/.zshrc or
    • echo 'export GEMINI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc
  • pip install uv
  • uvx nemo-agent - to run nemo-agent

OR

Ollama Install

Requirements

  • Python 3.9 or higher
  • Ollama running qwen2.5-coder:14b
  • Linux with minimum spec of Ubuntu 24.04 with RTX 4070 or;
  • Mac with minimum spec of Mac Mini M2 Pro with 16MB

Requirements Installation

  • Ollama install instructions:
    • curl -fsSL https://ollama.com/install.sh | sh
    • ollama pull qwen2.5-coder:14b
  • pip install uv
  • uvx nemo-agent - to run nemo-agent

Usage

Providers

  • ollama: uvx nemo-agent --provider ollama
  • openai: uvx nemo-agent --provider openai
  • claude: uvx nemo-agent --provider claude
  • gemini: uvx nemo-agent --provider gemini

Import Reference Documentation Into Prompt

  • Documentation files must be either: .md (Markdown) or .txt (Text) and be located in a folder
  • uvx nemo-agent --docs example_folder

Import Existing Code Projects Into Prompt

  • Code files must be either: .py (Python), .php (PHP), .rs (Rust), .js (JavaScript), .ts (TypeScript), .toml (TOML), .json (JSON), .rb (Ruby), or .yaml (YAML) and be located in a folder
  • uvx nemo-agent --code example_folder

Import Data Into Prompt

  • Data files must be .csv (CSV) and be located in a folder
  • uvx nemo-agent --data example_folder

Prompting

CLI

  • uvx nemo-agent "create a fizzbuzz script"

OR

File Prompt

  • Prompt file must be markdown (.md) or text files (.txt)
  • uvx nemo-agent --file example.md or
  • uvx nemo-agent --file example.txt

Run Generated Program

  • cd generated_project_folder
  • source .venv/bin/activate
  • python main.py

Tests

Tests are automatically created and run.

Skipping Tests

You many want to skip tests especially if you are generating a UI application.

  • uvx nemo-agent "create a fizzbuzz script" --tests False

Models

Default Models

  • ollama is qwen2.5-coder:14b
  • openai is gpt-4.1
  • claude is claude-3-7-sonnet-20250219
  • gemini is gemini-2.5-pro-exp-03-25

Select Models

  • uvx nemo-agent "my_prompt" --provider openai --model o3-mini

Supported Models

Ollama

  • Supports any 128k input token models

OpenAI

  • Supports standard models: gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-4o, and gpt-4o-mini
  • Supports reasoning models: o4-mini, o3-mini, o1-mini, and o1

Claude

  • Supports claude-3-7-sonnet-20250219 and claude-3-5-sonnet-20241022

Gemini

  • Supports gemini-2.5-pro-exp-03-25, gemini-2.0-flash, gemini-1.5-pro, gemini-1.5-flash

Contributing

Contributions to Nemo Agent are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

Nemo Agent generates code using an LLM. Every run is different as the LLM generated code is different. While it strives for accuracy and best practices, the generated code should be reviewed and tested before being used in a production environment.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

nemo_agent-3.9.0.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

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

nemo_agent-3.9.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file nemo_agent-3.9.0.tar.gz.

File metadata

  • Download URL: nemo_agent-3.9.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for nemo_agent-3.9.0.tar.gz
Algorithm Hash digest
SHA256 f67d99715b1dc8aadcc57334ed26ed644b46daf68c0079404825b27bf70a4779
MD5 deca42c157448a9a0b877d01302f447d
BLAKE2b-256 32cf118631bd6a421abef1fe707112a19741c4cc67f39ebeca06726bd32680f1

See more details on using hashes here.

File details

Details for the file nemo_agent-3.9.0-py3-none-any.whl.

File metadata

  • Download URL: nemo_agent-3.9.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for nemo_agent-3.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc27413b5c80247c849c7e006d365cb8a302c8a58286842e25e5494ee73aae6a
MD5 7127380338590424355051d7ab3f82f9
BLAKE2b-256 c24779eb57feca85dc424d4ce948f2f808044f53af142f97a69a3e4e1087993e

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