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
    

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.2.tar.gz (426.2 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.2-py3-none-any.whl (145.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: codeplain-0.3.2.tar.gz
  • Upload date:
  • Size: 426.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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.2.tar.gz
Algorithm Hash digest
SHA256 1010a62f35dfb9aeb5c8fdb92caf63a6ea94f2449aee75ac5fc621f9c0447860
MD5 15aa9ab7ded861d3a0a6213c7f258770
BLAKE2b-256 d6e7e295c9372d6fb368457198e7936a82bbb2dd043eebfa0dbc8683b8961351

See more details on using hashes here.

File details

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

File metadata

  • Download URL: codeplain-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 145.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4902074c0ef3586e9904efbea1821b7f0fffefe9579fcd385dacd3622850400a
MD5 bf2bca333cbf792382428a0c0c54dd29
BLAKE2b-256 3611045dbed254f181a236be25068101ca324a03ca7a3433a168fd479b464ec0

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