Skip to content

Commit a8eb644

Browse files
committed
Updating README.md with release workflow
1 parent dd2cae9 commit a8eb644

1 file changed

Lines changed: 40 additions & 19 deletions

File tree

README.md

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,27 @@
11
# Codeplain plain2code renderer
22

3-
Render ***plain source to software code using the Codeplain API.
3+
Render \*\*\*plain source to software code using the Codeplain API.
44

55
## Codeplain.ai - Code Generation as a Service
66

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

99
Schematic overview of the Codeplain's code generation service
1010

1111
<img src="https://raw.githubusercontent.com/Codeplain-ai/plain2code_client/main/resources/codeplain_overview.png">
1212

13-
### Abstracting Away Code Generation Complexity with ***plain
13+
### Abstracting Away Code Generation Complexity with \*\*\*plain
1414

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

16-
***plain is a novel specification language that helps abstracting away complexity of using large language models for code generation.
17-
18-
An example application in ***plain
17+
An example application in \*\*\*plain
1918

2019
<img src="resources/plain_example.png" width="70%" height="70%">
2120

22-
2321
## Getting started
2422

2523
### Prerequisites
2624

27-
2825
#### System requirements
2926

3027
To run the plain2code client, you need Python 3.11 or a later version.
@@ -63,31 +60,55 @@ export CODEPLAIN_API_KEY="your_actual_api_key_here"
6360
After completing the installation steps above, you can immediately test the system with a simple "Hello World" example:
6461

6562
- Change to the example folder and run the example:
66-
```
67-
cd examples/example_hello_world_python
68-
python ../../plain2code.py hello_world_python.plain
69-
```
7063

71-
*Note: Rendering will take a few minutes to complete.*
64+
```
65+
cd examples/example_hello_world_python
66+
python ../../plain2code.py hello_world_python.plain
67+
```
68+
69+
_Note: Rendering will take a few minutes to complete._
7270

7371
- The system will generate a Python application in the `build` directory. You can run it with:
72+
```
73+
cd build
74+
python hello_world.py
75+
```
76+
77+
## Releasing
78+
79+
Releases are built and published with [uv](https://docs.astral.sh/uv/). The version is read from `_version.py`.
80+
81+
1. Bump the version in `_version.py` and commit/tag (`git tag v<version>`).
82+
2. Build the distributions:
83+
```bash
84+
uv build --python 3.11
85+
```
86+
This produces `dist/codeplain-<version>-py3-none-any.whl` and `dist/codeplain-<version>.tar.gz`.
87+
3. (Optional) Smoke-test the wheel:
88+
```bash
89+
uv run --with dist/codeplain-<version>-py3-none-any.whl --no-project -- codeplain --status
90+
```
91+
4. (Optional) Publish to TestPyPI first:
92+
```bash
93+
uv publish --publish-url https://test.pypi.org/legacy/ dist/codeplain-<version>*
7494
```
75-
cd build
76-
python hello_world.py
95+
5. Publish to PyPI:
96+
```bash
97+
uv publish dist/codeplain-<version>*
7798
```
99+
Authenticate with `UV_PUBLISH_TOKEN=pypi-...` (recommended), `--token pypi-...`, or `--username __token__ --password pypi-...`.
100+
6. Push the tag: `git push origin v<version>`.
78101

79102
## Additional Resources
80103

81104
### Examples and Sample Projects
82105

83106
- See the [examples](examples) folder for sample projects in Golang, Python, and React.
84-
- For example application how to implement task manager in ***plain see [example-task-manager](https://github.com/Codeplain-ai/example-task-manager) repository.
85-
- For example application how to implement SaaS connectors in ***plain see [example-saas-connectors](https://github.com/Codeplain-ai/example-saas-connectors) repository.
107+
- For example application how to implement task manager in \*\*\*plain see [example-task-manager](https://github.com/Codeplain-ai/example-task-manager) repository.
108+
- For example application how to implement SaaS connectors in \*\*\*plain see [example-saas-connectors](https://github.com/Codeplain-ai/example-saas-connectors) repository.
86109

87110
### Documentation
88111

89112
- For more details on the ***plain format, see the [***plain language specification](https://www.plainlang.org/docs/).
90113
- For step-by-step instructions for creating your first ***plain project see the [Kickstart your ***plain project](docs/starting_a_plain_project_from_scratch.md).
91114
- For complete CLI documentation and usage examples, see [plain2code CLI documentation](docs/plain2code_cli.md).
92-
93-

0 commit comments

Comments
 (0)