Skip to main content

🚀 Python vibe: Unleash the Magic of AI-Powered Coding Wizardry! 🌟

Project description

vibepython: AI-Powered Interactive Python Code Generator

vibepython is an interactive command-line tool that uses AI to generate executable Python code from user prompts. Powered by OpenAI or alternative providers, it allows you to create, run, and capture code outputs while maintaining a contextual history stored in JSON. Ideal for developers, experimenters, and AI enthusiasts looking for a seamless coding experience.

Features

  • Interactive Prompting: Enter your ideas and receive AI-generated Python code.
  • AI Code Generation: Leverages AI models with prompt history for accurate scripts.
  • Safe Code Execution: Run generated code and capture stdout/stderr outputs.
  • Persistent History: Uses Pydantic models to store interactions in JSON for ongoing context.
  • Customization via Environment Variables: Adjust settings for personalized control.
  • Docker Support: Easy deployment in containerized environments.

Installation

From PyPI

  1. Install the package:
    pip install vibepython
    
  2. Run the tool:
    vibepython
    

From Source

  1. Clone the repository:
    git clone https://github.com/OldTyT/vibepython.git
    
  2. Navigate to the directory:
    cd vibepython
    
  3. Install dependencies:
    pip install -r requirements.txt
    
  4. Launch the application:
    python3 main.py
    

Using Docker

Run the container with this command:

docker run --rm -ti -e HISTORY_PATH=/history/history.json -v my_history:/history ghcr.io/oldtyt/vibepython
  • Set your OpenAI API key via the OPENAI_API_KEY environment variable (required for the 'openai' provider).

Usage

Start the tool and follow the prompts:

  • Enter a prompt (e.g., "Write a function to calculate factorial").
  • The AI generates code based on your input and history.
  • Choose to execute the code (Y/N) and view captured outputs.
  • All interactions are logged to history for context.

To exit, press Ctrl+C.

Environment Variables

Customize the tool using these environment variables:

  • HISTORY_PATH: Path to the JSON history file. Default: history.json.
  • HISTORY_SIZE: Number of past interactions to include in AI context. Default: 20.
  • OPENAI_API_KEY: Required for the 'openai' provider; your OpenAI API key.
  • PROVIDER: AI provider to use. Supports 'gpt4free' (default) and 'openai'.
  • MODEL_NAME: Model to use with the provider. For 'gpt4free': 'gpt-4o-mini'. For 'openai': 'gpt-5-mini'.

Example configuration:

export PROVIDER=openai
export OPENAI_API_KEY=your-api-key
export MODEL_NAME=gpt-5-mini
export HISTORY_SIZE=10
python3 main.py

Dependencies

  • Python 3.10+ (Compatible up to 3.13).
  • Required libraries: openai, pydantic, loguru, and others listed in requirements.txt.

Contributing

Have suggestions? Open an issue or submit a pull request to help improve the project. Contributions are welcome!

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

vibepython-0.0.2.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

vibepython-0.0.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file vibepython-0.0.2.tar.gz.

File metadata

  • Download URL: vibepython-0.0.2.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vibepython-0.0.2.tar.gz
Algorithm Hash digest
SHA256 eb309ee7938152c6a5170c771b94705584c770e0a534ff89d49777c5c07f6394
MD5 77a885f3304b7b10afa1f00912d1a981
BLAKE2b-256 42d71e3d3a6f1ba62e1e87dbf83b1932514956bae1094ecc4bf43777c6d11af0

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibepython-0.0.2.tar.gz:

Publisher: publish.yml on OldTyT/vibepython

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibepython-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: vibepython-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vibepython-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2ae00642f816cf81fbab51da2390cde7877314b5221455e4f3e81d994e493a4
MD5 42e90cdb81b629afa80ee7c55c3fffc4
BLAKE2b-256 be2215aa3bd799277b870ef748eabb494db0410b669eaad49f9a66a8e9accac3

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibepython-0.0.2-py3-none-any.whl:

Publisher: publish.yml on OldTyT/vibepython

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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