Skip to main content

Transform plain language specifications into working code

Project description

Codeplain plain2code renderer

Render ***plain source to software code using the Codeplain API.

Codeplain.ai - Code Generation as a Service

Codeplain is a platform that generates software code using large language models based on requirements you specify in ***plain specification language.

Schematic overview of the Codeplain's code generation service

Abstracting Away Code Generation Complexity with ***plain

***plain is a novel specification language that helps abstracting away complexity of using large language models for code generation.

An example application in ***plain

Getting started

Prerequisites

System requirements

To run the plain2code client, you need Python 3.11 or a later version.

Windows users: Please install WSL (Windows Subsystem for Linux) as this is currently the supported environment for running plain code on Windows.

Authorization - Codeplain API Key

We are using Codeplain API Key to authorize requests to the Codeplain API. To get your Codeplain API Key, please contact Codeplain.ai support at support@codeplain.ai.

In order to generate code, you need to export the following environment variable:

export CODEPLAIN_API_KEY="your_actual_api_key_here"

Installation Steps

  1. Clone this repository
  2. Set your Codeplain API key as an environment variable:
    export CODEPLAIN_API_KEY=your_api_key_here
    
  3. (Recommended) Create and activate a virtual environment:
    python -m venv .venv
    source .venv/bin/activate
    
  4. Install required libraries
    pip install -r requirements.txt
    

Quick Start

After completing the installation steps above, you can immediately test the system with a simple "Hello World" example:

  • Change to the example folder and run the example:

    cd examples/example_hello_world_python
    python ../../plain2code.py hello_world_python.plain
    

    Note: Rendering will take a few minutes to complete.

  • The system will generate a Python application in the build directory. You can run it with:

    cd build
    python hello_world.py
    

Crash reporting

If the plain2code client crashes unexpectedly, it sends an anonymous crash report to Codeplain to help improve the tool. To disable crash reporting, set the CODEPLAIN_NO_TELEMETRY=1 flag.

Releasing

Releases are built and published with uv. The version is read from _version.py.

  1. Bump the version in _version.py and commit/tag (git tag v<version>).
  2. Build the distributions:
    uv build --python 3.11
    
    This produces dist/codeplain-<version>-py3-none-any.whl and dist/codeplain-<version>.tar.gz.
  3. (Optional) Smoke-test the wheel:
    uv run --with dist/codeplain-<version>-py3-none-any.whl --no-project -- codeplain --status
    
  4. (Optional) Publish to TestPyPI first:
    uv publish --publish-url https://test.pypi.org/legacy/ dist/codeplain-<version>*
    
  5. Publish to PyPI:
    uv publish dist/codeplain-<version>*
    
    Authenticate with UV_PUBLISH_TOKEN=pypi-... (recommended), --token pypi-..., or --username __token__ --password pypi-....
  6. Push the tag: git push origin v<version>.

Additional Resources

Examples and Sample Projects

  • See the examples folder for sample projects in Golang, Python, and React.
  • For example application how to implement task manager in ***plain see example-task-manager repository.
  • For example application how to implement SaaS connectors in ***plain see example-saas-connectors repository.

Documentation

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

codeplain-0.3.3.tar.gz (428.7 kB view details)

Uploaded Source

Built Distribution

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

codeplain-0.3.3-py3-none-any.whl (149.6 kB view details)

Uploaded Python 3

File details

Details for the file codeplain-0.3.3.tar.gz.

File metadata

  • Download URL: codeplain-0.3.3.tar.gz
  • Upload date:
  • Size: 428.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for codeplain-0.3.3.tar.gz
Algorithm Hash digest
SHA256 ab7b25bf392b6ad265f7c27fcacb718a26c48f0312ec3a296c86856b51b25e67
MD5 65b5dd617277916c0c4690fa882d0676
BLAKE2b-256 4c87f9152ae57e56b7c15260285d209c0e892b573b3e36e2e34a5e7308f3908c

See more details on using hashes here.

File details

Details for the file codeplain-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: codeplain-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 149.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for codeplain-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d32f207309b6362e57559e5165943cf73323e7d538c635a2d7f98ee26d263e
MD5 c9f9cd3588a384e9e4abba47528a746c
BLAKE2b-256 6755a98ae46d9cc25ebd4cbe76a205681cdb03f8d8c1681899c87d247ffcdd29

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