Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Release

# Runs when a version tag is pushed: v1.0.0, v1.0.1, ...
# Runs when a version tag is pushed: v1.0.0, v1.0.1, and a beta such as v2.0.0b1.
# PyPI keeps a beta apart: pip installs it only when it is asked for.
# Publishes the two packages to PyPI with trusted publishing: PyPI accepts
# the upload because it comes from this workflow in this repository. No
# token is stored anywhere.
Expand Down
35 changes: 31 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,26 @@ This repository has five packages.

## Install

Version 1.0.0 is on PyPI. Python 3.9 or later. No dependencies.
Python 3.9 or later. No dependencies.

| Version | State | Install |
|---|---|---|
| 1.0.0 | Stable. On PyPI | `pip install codeupipe` |
| 2.0.0b1 | Beta. The `beta` branch of this repository. Not on PyPI yet | From this repository, see below |

This README describes version 2, the beta. A beta can change in a way that
is not compatible, from one beta to the next. `pip install codeupipe` does
not install a beta: pip installs one only when you ask for it, with
`pip install --pre codeupipe` or with the exact version.

Until the beta is on PyPI, install it from this repository:

```bash
pip install codeupipe
pip install "codeupipe @ git+https://github.com/orchestrate-solutions/codeupipe@beta#subdirectory=packages/codeupipe"
pip install "codeupipe-lint @ git+https://github.com/orchestrate-solutions/codeupipe@beta#subdirectory=packages/codeupipe-lint"
```

`codeupipe-lint` 1.0.0 is not on PyPI yet. Until it is, install it from this
repository:
`codeupipe-lint` 1.0.0 is not on PyPI. Install it from the tag `v1.0.0`:

```bash
pip install "codeupipe-lint @ git+https://github.com/orchestrate-solutions/codeupipe@v1.0.0#subdirectory=packages/codeupipe-lint"
Expand All @@ -57,6 +69,21 @@ pip install "codeupipe-lint @ git+https://github.com/orchestrate-solutions/codeu
Version 1.0.0 is not compatible with `codeupipe` 0.10.0. It is a new
library with the same name.

### Changes from 1.0.0 to 2.0.0b1

These changes are not compatible with 1.0.0.

- **A step is reported by a label, the name of its class.** State and Hooks
give `DiscountFilter`, where 1.0.0 gave the full path
`examples.pricing.discount_filter.DiscountFilter`.
- **Removed:** `AnonymousStep`, `Pipeline.identities` (use
`Pipeline.labels`), `Pipeline.step_sites`, and lint rule CUP-A006.
- **`codeupipe.lower` is now `codeupipe.compile`.** The command is
`python -m codeupipe.compile`.

The TypeScript packages are new. They are version `1.0.0-beta.1` and are not on
npm.

## Example

[examples/pricing/](examples/pricing/) has one class in each file. The
Expand Down
3 changes: 1 addition & 2 deletions packages/codeupipe-compile-ts/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# codeupipe-compile for TypeScript

Writes a codeupipe pipeline as one plain TypeScript module with no import
of codeupipe. It reads the source and does not run it. It is not on npm
yet.
of codeupipe. It reads the source and does not run it. It is a beta, version `1.0.0-beta.1`, and it is not on npm yet.

**The rule: code that compiles gives the same output as the pipeline. A
pipeline for which the compiler cannot keep that rule is refused, with the
Expand Down
6 changes: 3 additions & 3 deletions packages/codeupipe-compile-ts/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/codeupipe-compile-ts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codeupipe-compile",
"version": "0.1.0",
"version": "1.0.0-beta.1",
"private": true,
"description": "Writes a codeupipe pipeline as plain TypeScript with no import of codeupipe.",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/codeupipe-lint-ts/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# codeupipe-lint for TypeScript

A linter for TypeScript code that uses codeupipe. It reads the source and
does not run it. It is not on npm yet.
does not run it. It is a beta, version `1.0.0-beta.1`, and it is not on npm yet.

The linter is a codeupipe pipeline: [src/lint-pipeline.ts](src/lint-pipeline.ts).
It depends on `codeupipe` and on the `typescript` package, which it uses to
Expand Down
6 changes: 3 additions & 3 deletions packages/codeupipe-lint-ts/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/codeupipe-lint-ts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codeupipe-lint",
"version": "0.1.0",
"version": "1.0.0-beta.1",
"private": true,
"description": "A linter for TypeScript code that uses codeupipe.",
"license": "Apache-2.0",
Expand Down
5 changes: 3 additions & 2 deletions packages/codeupipe-lint/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "codeupipe-lint"
version = "1.0.0"
version = "2.0.0b1"
description = "Lint rules for codeupipe pipelines."
readme = "README.md"
requires-python = ">=3.9"
Expand All @@ -13,6 +13,7 @@ license-files = ["LICENSE", "NOTICE"]
authors = [{name = "Joshua Wink"}]
keywords = ["codeupipe", "lint", "pipeline"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
Expand All @@ -25,7 +26,7 @@ classifiers = [
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Quality Assurance",
]
dependencies = ["codeupipe==1.0.0"]
dependencies = ["codeupipe==2.0.0b1"]

[project.urls]
Homepage = "https://github.com/orchestrate-solutions/codeupipe"
Expand Down
2 changes: 1 addition & 1 deletion packages/codeupipe-ts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ codeupipe is a library for writing a program as a pipeline of small steps.
This is the TypeScript runtime. It has no dependencies. The built JavaScript
runs in a browser and in Node.

It is not on npm yet. It implements the same contract as the Python
It is a beta, version `1.0.0-beta.1`, and it is not on npm yet. It implements the same contract as the Python
package, and the same 27 conformance cases judge it:
[conformance/API.md](../../conformance/API.md).

Expand Down
4 changes: 2 additions & 2 deletions packages/codeupipe-ts/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/codeupipe-ts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codeupipe",
"version": "0.1.0",
"version": "1.0.0-beta.1",
"private": true,
"description": "A TypeScript library for writing a program as a pipeline of small steps.",
"license": "Apache-2.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/codeupipe/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "codeupipe"
version = "1.0.0"
version = "2.0.0b1"
description = "A Python library for writing a program as a pipeline of small steps."
readme = "README.md"
requires-python = ">=3.9"
Expand All @@ -13,6 +13,7 @@ license-files = ["LICENSE", "NOTICE"]
authors = [{name = "Joshua Wink"}]
keywords = ["pipeline", "filter", "payload", "composition"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
Expand Down
Loading