Files
windmill/python-client/build.sh
Ruben Fiszel 6eca08480a chore: remove legacy wmill_pg python client (#8155)
The wmill_pg package (psycopg2 wrapper for running PostgreSQL queries)
has been fully replaced by Windmill's native PostgreSQL support.
Remove the package directory and all references from build, publish,
install, version, LSP, and dependabot configs.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:52:35 +00:00

68 lines
2.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
if [[ "$OSTYPE" == "darwin"* ]]; then
sed() {
gsed "$@"
}
fi
mkdir openapi || true
# cp ../backend/windmill-api/openapi.yaml openapi/openapi.yaml
LEGACY_WILDCARD="\$ref: \"..\/..\/openflow.openapi.yaml#\/components\/schemas\""
# We will need to use old syntax of openapi to maintain compatability with previous windmill-api versions.
# If we use new format, many models use another namespace, thus make it not fully compatible with old versions
# Replace everything between markers with legacy wildcard
sed -z "
s/# -- INLINE START --\n.*# -- INLINE END --\n/$LEGACY_WILDCARD\n/g;
" ../backend/windmill-api/openapi.yaml > openapi/openapi.yaml
npx @redocly/openapi-cli@latest bundle openapi/openapi.yaml > openapi-bundled.yaml
sed -z 's/FlowModuleValue:/FlowModuleValue2:/' openapi-bundled.yaml > openapi-decycled.yaml
echo " FlowModuleValue: {}" >> openapi-decycled.yaml
npx @redocly/openapi-cli@latest bundle openapi-decycled.yaml --ext json -d > openapi-deref.json
sed '$d' .gitignore > .gitignore2
mv .gitignore2 .gitignore
rm -rf windmill-api/ || true
openapi-python-client generate --config $PWD/python-gen.yaml --path openapi-deref.json
echo "" > windmill-api/windmill_api/models/__init__.py
rm -rf openapi/
rm openapi*
cp LICENSE windmill-api/
sed -i '5 i license = "Apache-2.0"' windmill-api/pyproject.toml
sed -i 's/authors = \[\]/authors = \["Ruben Fiszel <ruben@windmill.dev>"\]/g' windmill-api/pyproject.toml
echo "# Autogenerated Windmill OpenApi Client" >> windmill-api/README.md.tmp
echo "This is the raw autogenerated api client. You are most likely more interested \
in [wmill](https://pypi.org/project/wmill/) which leverages this client to offer an \
user friendly experience. We use \
[this openapi python client generator](https://github.com/openapi-generators/openapi-python-client/)"\
>> windmill-api/README.md.tmp
echo "" >> windmill-api/README.md.tmp
if [[ "$OSTYPE" == "darwin"* ]]; then
tail -r windmill-api/README.md | tail -n +14 | tail -r >> windmill-api/README.md.tmp
else
head -n -13 windmill-api/README.md >> windmill-api/README.md.tmp
fi
mv windmill-api/README.md.tmp windmill-api/README.md
cd windmill-api && poetry build
cd ../wmill && poetry build
cd .. && echo "windmill-api/" >> .gitignore
# Build documentation (similar to typescript-client/build_typedoc.sh)
./build_pdoc.sh