Skip to main content

llm-project-generator

llm-project-generator creates a ready-to-run LLM chatbot project from a reviewed, packaged template.

Current status

V1 supports only Groq. Groq is included because this template has been live verified. Other providers are not advertised or generated yet.

Requirements

  • Python 3.13 or newer
  • uv

The generator itself has no runtime dependencies. It uses the standard Python library and includes its template assets in the installed package.

Quick start

PyPI with uvx

After the package is published on PyPI, run it without permanently installing it:

uvx llm-project-generator init my-chatbot --provider groq

Persistent installation

After PyPI publication, install the command for repeated use:

uv tool install llm-project-generator
llm-project-generator init my-chatbot --provider groq

Tagged GitHub release

The currently valid tagged fallback is:

uvx --from git+https://github.com/Talhaahmad9/llm-project-generator.git@v0.1.0 llm-project-generator init my-chatbot --provider groq

This is longer because uv must be told both the Git source and the executable name. v0.1.0 contains the same Groq generator functionality, while v0.1.1 prepares the package metadata for PyPI.

Development from a clone

From the repository root:

uv sync --dev
uv run llm-project-generator --help
uv run llm-project-generator init my-chatbot --provider groq

What it creates

The command creates a new destination containing the reviewed Groq chatbot:

.env.example
.gitignore
LICENSE
README.md
pyproject.toml
src/app/
tests/

The generated project keeps the app Python package, deterministic fake-model tests, the llm-chat console entry point, and the default model groq:openai/gpt-oss-120b.

Run a generated chatbot

Enter the generated project and install its dependencies:

cd <destination>
uv sync
cp .env.example .env

Edit .env and add your own GROQ_API_KEY. LLM_MODEL is optional and can override the default model. Then start the chatbot:

uv run llm-chat

.env.example is generated as a placeholder. .env is excluded by the template's .gitignore and is never generated or copied by this project. Never put a real key in source control.

Project names and destinations

The distribution name comes from the destination directory name. Names may contain ASCII letters, numbers, periods, underscores, and hyphens; they must begin and end with a letter or number. Spaces and invalid boundary characters are rejected. Period, underscore, and hyphen runs are normalized to one lowercase hyphen: My_Project becomes my-project.

The destination's parent directory must already exist. The destination itself must not exist, even if it is empty. Existing files and directories are never overwritten, and V1 has no force or delete behavior. An operating-system write failure may leave partial output in the destination.

Development and testing

Install development dependencies and run the root test suite with:

uv sync --dev
uv run pytest

The root tests exercise provider resolution, resource loading, generation, and CLI behavior. The chatbot tests are packaged template assets; they are not collected from their packaged location by the generator's root test suite.

Layout

src/llm_project_generator/                    generator package
src/llm_project_generator/project_templates/  packaged template assets
tests/                                        generator tests

Security

The generator does not request, create, inspect, or copy API keys. It creates only .env.example; users supply their own secret in a local .env, which is excluded from version control.

The generator and generated application use deterministic validation, configuration, file selection, and error handling. LLM responses are probabilistic output from the selected provider and should not be treated as deterministic application logic or as a security boundary.

Limitations

V1 generates only the live-verified Groq chatbot. It does not generate other providers, overwrite existing destinations, delete output, run uv sync for the user, or execute the generated chatbot's tests.

License

This project and its generated projects are licensed under the MIT License. Copyright (c) 2026 Talha Ahmad.

Further reading

Metadata

Release files for llm-project-generator 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llm-project-generator 0.1.1
File Size Uploaded
llm_project_generator-0.1.1.tar.gz 12.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-project-generator 0.1.1
File Interpreter ABI Platform
llm_project_generator-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 35.7 kB

Release files / llm_project_generator-0.1.1.tar.gz

Download URL llm_project_generator-0.1.1.tar.gz
Size 12.4 kB
Tags Source
SHA-256 checksum
How to use checksums
49bbce9f89b45b0a4ee09a175e21774d9f533a510277eaab9ce778674c39d472
BLAKE2b-256 checksum
How to use checksums
351a35f1b991a2ab86620da15a9fa47cdbd318b8a4bd076989a238ed0664d7e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / llm_project_generator-0.1.1-py3-none-any.whl

Download URL llm_project_generator-0.1.1-py3-none-any.whl
Size 23.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8dd54b874f6ad0680dcf067d23b953f9de8bd49e0da27b9443bca031985139d3
BLAKE2b-256 checksum
How to use checksums
5f78432992dcf0d18b17ab05c09f5eebaf1de8a13823d4c2652d4b4f7810514a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page