Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: fal compressed file #17

Closed
wants to merge 27 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
41e507a
refactor: fal file
badayvedat Dec 25, 2023
6347826
feat: fal compressed file
badayvedat Dec 26, 2023
cf574e7
fix: gcp repository upload
badayvedat Dec 26, 2023
7f08a90
ci(integration-tests): remove unused step (#25)
badayvedat Jan 5, 2024
d943e76
feat: handle metadata key in @fal.function (#26)
chamini2 Jan 9, 2024
41339af
fix: custom app openapi metadata (#19)
badayvedat Jan 9, 2024
f47522a
Merge branch 'refactor-fal-toolkit-file' into feat-compressed-file
badayvedat Jan 10, 2024
963e3a1
ci(integration-tests): bump python version to 3.10
badayvedat Jan 10, 2024
0aa4f22
ci: cancel previous runs
badayvedat Jan 10, 2024
5284184
chore: dummy commit
badayvedat Jan 10, 2024
296a218
revert: dummy changes
badayvedat Jan 10, 2024
4ebd8b4
fix: optional type
badayvedat Jan 10, 2024
06c90d8
fix: optional type
badayvedat Jan 10, 2024
74afc08
feat: `fal.App` for multiple endpoints (#27)
isidentical Jan 10, 2024
5e95ddb
fix: handle regular functions on serve (#28)
isidentical Jan 12, 2024
9ca7bd2
chore: drop dbt-fal special error messages (#30)
chamini2 Jan 15, 2024
d0287c2
fix: stop sending request that ends in error for API users after logi…
chamini2 Jan 15, 2024
430a4df
chore: print hint of exception if available and reference fal keys i…
chamini2 Jan 15, 2024
6a6f97e
fix: manual bump of fal version
chamini2 Jan 15, 2024
6207180
Bump the pyproject.toml version for fal (#34)
fal-bot Jan 15, 2024
2e34f24
ci: avoid committing changes when bumping (#35)
chamini2 Jan 15, 2024
c3cf79e
Bump the pyproject.toml version for fal (#36)
fal-bot Jan 15, 2024
ced8331
ci: keep lock changes (#39)
chamini2 Jan 15, 2024
fca0fd9
fix: run integration tests on python 3.10 (#44)
mederka Jan 18, 2024
02887b3
chore: update openapi client (#43)
mederka Jan 18, 2024
68fb829
Merge branch 'main' into feat-compressed-file
badayvedat Jan 19, 2024
5d2beab
chore: lint
badayvedat Jan 19, 2024
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
2 changes: 1 addition & 1 deletion .github/workflows/integration_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

- uses: actions/setup-python@v4
with:
python-version: "3.9"
python-version: "3.10"

- name: Install dependencies
run: |
Expand Down
20 changes: 18 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,13 @@ jobs:

poetry version $VERSION_TYPE
poetry build
echo "version=$(poetry version --short)" >> "$GITHUB_OUTPUT"

# set in GITHUB_ENV
BUILT_VERSION=$(poetry version -s)
echo "BUILT_VERSION=$BUILT_VERSION"
echo "BUILT_VERSION=$BUILT_VERSION" >> $GITHUB_ENV

echo "version=$BUILT_VERSION" >> "$GITHUB_OUTPUT"
Comment on lines +88 to +94
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we editing the release files?


- name: Publish PyPI
env:
Expand All @@ -94,15 +100,25 @@ jobs:
working-directory: projects/fal
run: poetry publish -u $PYPI_USERNAME -p $PYPI_PASSWORD -v -n

- name: Clean git changes
working-directory: projects/fal
run: |
git add poetry.lock
git checkout -- .
git reset

- name: Bump repo version
working-directory: projects/fal
run: |
# Set the version in the pyproject.toml
poetry version ${{ env.BUILT_VERSION }}
# And bump it for development
poetry version prerelease

- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
branch: bump-fal-version
branch: bump-fal-version-${{ env.BUILT_VERSION }}
delete-branch: true
title: Bump the pyproject.toml version for fal
base: main
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/release_isolate_proto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ jobs:
poetry build

# set in GITHUB_ENV
ISOLATE_PROTO_VERSION=$(poetry version -s)
echo "ISOLATE_PROTO_VERSION=$ISOLATE_PROTO_VERSION"
echo "ISOLATE_PROTO_VERSION=$ISOLATE_PROTO_VERSION" >> $GITHUB_ENV
BUILT_VERSION=$(poetry version -s)
echo "BUILT_VERSION=$BUILT_VERSION"
echo "BUILT_VERSION=$BUILT_VERSION" >> $GITHUB_ENV

- name: Publish PyPI
env:
Expand All @@ -56,15 +56,25 @@ jobs:
working-directory: projects/isolate_proto
run: poetry publish -u $PYPI_USERNAME -p $PYPI_PASSWORD -v -n

- name: Clean git changes
working-directory: projects/isolate_proto
run: |
git add poetry.lock
git checkout -- .
git reset

- name: Bump repo version
working-directory: projects/isolate_proto
run: |
# Set the version in the pyproject.toml
poetry version ${{ env.BUILT_VERSION }}
# And bump it for development
poetry version prerelease

- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
branch: bump-proto-version-${{ env.ISOLATE_PROTO_VERSION }}
branch: bump-proto-version-${{ env.BUILT_VERSION }}
delete-branch: true
title: Bump the pyproject.toml version for isolate-proto
base: main
Expand Down
3 changes: 2 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ repos:
- id: black
exclude: |
(?x)(
^projects/fal/src/fal/toolkit/image/image.py
^projects/fal/src/fal/toolkit/image/image.py |
^projects/fal/openapi-fal-rest/
)
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
from http import HTTPStatus
from typing import Any, Dict, List, Optional, Union, cast

import httpx

from ... import errors
from ...client import Client
from ...models.http_validation_error import HTTPValidationError
from ...types import Response


def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/admin/users/invoice_users".format(client.base_url)

headers: Dict[str, str] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()

return {
"method": "get",
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
}


def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[HTTPValidationError, List[str]]]:
if response.status_code == HTTPStatus.OK:
response_200 = cast(List[str], response.json())

return response_200
if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
response_422 = HTTPValidationError.from_dict(response.json())

return response_422
if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(response.status_code, response.content)
else:
return None


def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[HTTPValidationError, List[str]]]:
return Response(
status_code=HTTPStatus(response.status_code),
content=response.content,
headers=response.headers,
parsed=_parse_response(client=client, response=response),
)


def sync_detailed(
*,
client: Client,
) -> Response[Union[HTTPValidationError, List[str]]]:
"""Get Invoice Users

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
Response[Union[HTTPValidationError, List[str]]]
"""

kwargs = _get_kwargs(
client=client,
)

response = httpx.request(
verify=client.verify_ssl,
**kwargs,
)

return _build_response(client=client, response=response)


def sync(
*,
client: Client,
) -> Optional[Union[HTTPValidationError, List[str]]]:
"""Get Invoice Users

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
Union[HTTPValidationError, List[str]]
"""

return sync_detailed(
client=client,
).parsed


async def asyncio_detailed(
*,
client: Client,
) -> Response[Union[HTTPValidationError, List[str]]]:
"""Get Invoice Users

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
Response[Union[HTTPValidationError, List[str]]]
"""

kwargs = _get_kwargs(
client=client,
)

async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.request(**kwargs)

return _build_response(client=client, response=response)


async def asyncio(
*,
client: Client,
) -> Optional[Union[HTTPValidationError, List[str]]]:
"""Get Invoice Users

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
Union[HTTPValidationError, List[str]]
"""

return (
await asyncio_detailed(
client=client,
)
).parsed
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,7 @@ def _get_kwargs(
}


def _parse_response(
*, client: Client, response: httpx.Response
) -> Optional[Union[HTTPValidationError, str]]:
def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[HTTPValidationError, str]]:
if response.status_code == HTTPStatus.OK:
response_200 = cast(str, response.json())
return response_200
Expand All @@ -54,9 +52,7 @@ def _parse_response(
return None


def _build_response(
*, client: Client, response: httpx.Response
) -> Response[Union[HTTPValidationError, str]]:
def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[HTTPValidationError, str]]:
return Response(
status_code=HTTPStatus(response.status_code),
content=response.content,
Expand Down
Loading
Loading