Skip to content

release: 0.1.0-alpha.21 #118

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

Merged
merged 32 commits into from
Jun 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d12ca4b
codegen metadata
stainless-app[bot] May 15, 2025
3aa9884
chore(ci): fix installation instructions
stainless-app[bot] May 16, 2025
18f661d
chore(internal): codegen related update
stainless-app[bot] May 17, 2025
40ae04a
feat(api): api update
stainless-app[bot] May 21, 2025
7bbf57a
feat(api): api update
stainless-app[bot] May 21, 2025
428e500
chore(docs): grammar improvements
stainless-app[bot] May 22, 2025
3a52931
feat(api): api update
stainless-app[bot] Jun 3, 2025
7ba3858
fix(docs/api): remove references to nonexistent types
stainless-app[bot] May 28, 2025
57f522f
chore(api): mark some methods as deprecated
stainless-app[bot] May 29, 2025
ef4acf2
feat(api): api update
stainless-app[bot] Jun 11, 2025
8fcb74d
chore(docs): remove reference to rye shell
stainless-app[bot] Jun 3, 2025
2ef6184
chore(docs): remove unnecessary param examples
stainless-app[bot] Jun 20, 2025
f8a8e15
feat(client): add follow_redirects request option
stainless-app[bot] Jun 3, 2025
6612522
codegen metadata
stainless-app[bot] Jun 3, 2025
b3878c1
codegen metadata
stainless-app[bot] Jun 5, 2025
8489bc7
feat(api): api update
stainless-app[bot] Jun 9, 2025
0a636fa
feat(api): api update
stainless-app[bot] Jun 10, 2025
0a3aaa1
chore(tests): run tests in parallel
stainless-app[bot] Jun 13, 2025
9debf1d
fix(client): correctly parse binary response | stream
stainless-app[bot] Jun 13, 2025
658d527
codegen metadata
stainless-app[bot] Jun 16, 2025
425caff
feat(api): api update
stainless-app[bot] Jun 16, 2025
bf46662
chore(tests): add tests for httpx client instantiation & proxies
stainless-app[bot] Jun 17, 2025
9bd8925
chore(internal): update conftest.py
stainless-app[bot] Jun 17, 2025
a28cd9c
chore(ci): enable for pull requests
stainless-app[bot] Jun 17, 2025
0bb6eec
chore(readme): update badges
stainless-app[bot] Jun 18, 2025
14a4f3c
fix(tests): fix: tests which call HTTP endpoints directly with the ex…
stainless-app[bot] Jun 18, 2025
20a7b36
feat(api): api update
stainless-app[bot] Jun 18, 2025
2836ef3
docs(client): fix httpx.Timeout documentation reference
stainless-app[bot] Jun 20, 2025
b8729dd
feat(api): api update
stainless-app[bot] Jun 20, 2025
7a72928
feat(api): add new endpoints
stainless-app[bot] Jun 20, 2025
ee0e109
feat(api): add bearer token auth
stainless-app[bot] Jun 22, 2025
b034a7c
release: 0.1.0-alpha.21
stainless-app[bot] Jun 22, 2025
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
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ on:
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
- 'stl-preview-base/**'

jobs:
lint:
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0-alpha.20"
".": "0.1.0-alpha.21"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
configured_endpoints: 44
openapi_spec_hash: 9d81a4b0eca6d3629ba9d5432a65655c
config_hash: 659f65b6ccf5612986f920f7f9abbcb5
configured_endpoints: 65
openapi_spec_hash: eeb8ebc5600523bdfad046381a929572
config_hash: 14b2643a0ec60cf326dfed00939644ff
46 changes: 46 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
# Changelog

## 0.1.0-alpha.21 (2025-06-22)

Full Changelog: [v0.1.0-alpha.20...v0.1.0-alpha.21](https://github.com/cleanlab/codex-python/compare/v0.1.0-alpha.20...v0.1.0-alpha.21)

### Features

* **api:** add bearer token auth ([ee0e109](https://github.com/cleanlab/codex-python/commit/ee0e109227593a26ff771b265bc838b29c25c66e))
* **api:** add new endpoints ([7a72928](https://github.com/cleanlab/codex-python/commit/7a729283e11ae9dfb3ea7b337db31f179a5b108c))
* **api:** api update ([b8729dd](https://github.com/cleanlab/codex-python/commit/b8729ddd238b931c8739b960f0c5f5c185c69119))
* **api:** api update ([20a7b36](https://github.com/cleanlab/codex-python/commit/20a7b367fab70147c0ce071ad56b9ee02d27df7b))
* **api:** api update ([425caff](https://github.com/cleanlab/codex-python/commit/425caff55b0a813f637afee7a973b66053bd366f))
* **api:** api update ([0a636fa](https://github.com/cleanlab/codex-python/commit/0a636fa5930c53671923de2f191a4e5c74328f7f))
* **api:** api update ([8489bc7](https://github.com/cleanlab/codex-python/commit/8489bc74223f2132cec88583f3fabbf5620dc599))
* **api:** api update ([ef4acf2](https://github.com/cleanlab/codex-python/commit/ef4acf292c728a838aecd6539d278b8c128be68a))
* **api:** api update ([3a52931](https://github.com/cleanlab/codex-python/commit/3a5293161e7313d7c18ec61be1b8e7ee56bad8c9))
* **api:** api update ([7bbf57a](https://github.com/cleanlab/codex-python/commit/7bbf57ae5327ddd85e6729997a4f85b427758258))
* **api:** api update ([40ae04a](https://github.com/cleanlab/codex-python/commit/40ae04a279ba1e2573d17a17e097f71d1347a3d3))
* **client:** add follow_redirects request option ([f8a8e15](https://github.com/cleanlab/codex-python/commit/f8a8e15df5a70e7065127943dfae2261724ca3f2))


### Bug Fixes

* **client:** correctly parse binary response | stream ([9debf1d](https://github.com/cleanlab/codex-python/commit/9debf1d4208f1c65a67211fc4e7adce3193ed291))
* **docs/api:** remove references to nonexistent types ([7ba3858](https://github.com/cleanlab/codex-python/commit/7ba3858c1c968c093c676478a1c7e5e13b92c12a))
* **tests:** fix: tests which call HTTP endpoints directly with the example parameters ([14a4f3c](https://github.com/cleanlab/codex-python/commit/14a4f3cff659d280f002fa694024e6c9814b3922))


### Chores

* **api:** mark some methods as deprecated ([57f522f](https://github.com/cleanlab/codex-python/commit/57f522fbd04637849146636a83976fe696160a97))
* **ci:** enable for pull requests ([a28cd9c](https://github.com/cleanlab/codex-python/commit/a28cd9c9e47987a1193e345fb48c3dc75512e87a))
* **ci:** fix installation instructions ([3aa9884](https://github.com/cleanlab/codex-python/commit/3aa98843e0f042734eb5b74ea86c8dcca8636954))
* **docs:** grammar improvements ([428e500](https://github.com/cleanlab/codex-python/commit/428e5001b6b5576f5383c0f2ffd3ad5fe085128a))
* **docs:** remove reference to rye shell ([8fcb74d](https://github.com/cleanlab/codex-python/commit/8fcb74d6d5ef8db36a78031c9bf59f0840def1d4))
* **docs:** remove unnecessary param examples ([2ef6184](https://github.com/cleanlab/codex-python/commit/2ef6184b1f5acfb9e924b6adb0ca6b453507ddd2))
* **internal:** codegen related update ([18f661d](https://github.com/cleanlab/codex-python/commit/18f661d21b849f15cbe85ce5063ef0dea877d89f))
* **internal:** update conftest.py ([9bd8925](https://github.com/cleanlab/codex-python/commit/9bd89258f9ce4448e92957c31cc0ff2457f105c9))
* **readme:** update badges ([0bb6eec](https://github.com/cleanlab/codex-python/commit/0bb6eec41fc0ccb6fcc2d987552dd56a602d6ccb))
* **tests:** add tests for httpx client instantiation & proxies ([bf46662](https://github.com/cleanlab/codex-python/commit/bf466627bf3e9dc4a8d1f3283f94a75bab241a58))
* **tests:** run tests in parallel ([0a3aaa1](https://github.com/cleanlab/codex-python/commit/0a3aaa1955e03895d340cfb8b5512bbcc4556d88))


### Documentation

* **client:** fix httpx.Timeout documentation reference ([2836ef3](https://github.com/cleanlab/codex-python/commit/2836ef3a6e7fca6fb2a92d6b13fbe0e38f30f1ad))

## 0.1.0-alpha.20 (2025-05-15)

Full Changelog: [v0.1.0-alpha.19...v0.1.0-alpha.20](https://github.com/cleanlab/codex-python/compare/v0.1.0-alpha.19...v0.1.0-alpha.20)
Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ $ rye sync --all-features
You can then run scripts using `rye run python script.py` or by activating the virtual environment:

```sh
$ rye shell
# or manually activate - https://docs.python.org/3/library/venv.html#how-venvs-work
# Activate the virtual environment - https://docs.python.org/3/library/venv.html#how-venvs-work
$ source .venv/bin/activate

# now you can omit the `rye run` prefix
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Codex SDK

[![PyPI version](https://img.shields.io/pypi/v/codex-sdk.svg)](https://pypi.org/project/codex-sdk/)
[![PyPI version](<https://img.shields.io/pypi/v/codex-sdk.svg?label=pypi%20(stable)>)](https://pypi.org/project/codex-sdk/)

This library is not meant to be used directly. Refer to https://pypi.org/project/cleanlab-codex/ instead.
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ before making any information public.
## Reporting Non-SDK Related Security Issues

If you encounter security issues that are not directly related to SDKs but pertain to the services
or products provided by Codex please follow the respective company's security reporting guidelines.
or products provided by Codex, please follow the respective company's security reporting guidelines.

### Codex Terms and Policies

Please contact [email protected] for any questions or concerns regarding security of our services.
Please contact [email protected] for any questions or concerns regarding the security of our services.

---

Expand Down
78 changes: 74 additions & 4 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,7 @@ from codex.types import (
ProjectReturnSchema,
ProjectRetrieveResponse,
ProjectListResponse,
ProjectExportResponse,
ProjectIncrementQueriesResponse,
ProjectInviteSmeResponse,
ProjectRetrieveAnalyticsResponse,
ProjectValidateResponse,
)
Expand All @@ -153,8 +152,9 @@ Methods:
- <code title="put /api/projects/{project_id}">client.projects.<a href="./src/codex/resources/projects/projects.py">update</a>(project_id, \*\*<a href="src/codex/types/project_update_params.py">params</a>) -> <a href="./src/codex/types/project_return_schema.py">ProjectReturnSchema</a></code>
- <code title="get /api/projects/">client.projects.<a href="./src/codex/resources/projects/projects.py">list</a>(\*\*<a href="src/codex/types/project_list_params.py">params</a>) -> <a href="./src/codex/types/project_list_response.py">ProjectListResponse</a></code>
- <code title="delete /api/projects/{project_id}">client.projects.<a href="./src/codex/resources/projects/projects.py">delete</a>(project_id) -> None</code>
- <code title="get /api/projects/{project_id}/export">client.projects.<a href="./src/codex/resources/projects/projects.py">export</a>(project_id) -> <a href="./src/codex/types/project_export_response.py">object</a></code>
- <code title="post /api/projects/{project_id}/increment_queries">client.projects.<a href="./src/codex/resources/projects/projects.py">increment_queries</a>(project_id, \*\*<a href="src/codex/types/project_increment_queries_params.py">params</a>) -> <a href="./src/codex/types/project_increment_queries_response.py">object</a></code>
- <code title="get /api/projects/{project_id}/export">client.projects.<a href="./src/codex/resources/projects/projects.py">export</a>(project_id) -> object</code>
- <code title="post /api/projects/{project_id}/increment_queries">client.projects.<a href="./src/codex/resources/projects/projects.py">increment_queries</a>(project_id, \*\*<a href="src/codex/types/project_increment_queries_params.py">params</a>) -> object</code>
- <code title="post /api/projects/{project_id}/notifications">client.projects.<a href="./src/codex/resources/projects/projects.py">invite_sme</a>(project_id, \*\*<a href="src/codex/types/project_invite_sme_params.py">params</a>) -> <a href="./src/codex/types/project_invite_sme_response.py">ProjectInviteSmeResponse</a></code>
- <code title="get /api/projects/{project_id}/analytics/">client.projects.<a href="./src/codex/resources/projects/projects.py">retrieve_analytics</a>(project_id, \*\*<a href="src/codex/types/project_retrieve_analytics_params.py">params</a>) -> <a href="./src/codex/types/project_retrieve_analytics_response.py">ProjectRetrieveAnalyticsResponse</a></code>
- <code title="post /api/projects/{project_id}/validate">client.projects.<a href="./src/codex/resources/projects/projects.py">validate</a>(project_id, \*\*<a href="src/codex/types/project_validate_params.py">params</a>) -> <a href="./src/codex/types/project_validate_response.py">ProjectValidateResponse</a></code>

Expand Down Expand Up @@ -212,6 +212,76 @@ Methods:
- <code title="get /api/projects/{project_id}/entries/clusters">client.projects.clusters.<a href="./src/codex/resources/projects/clusters.py">list</a>(project_id, \*\*<a href="src/codex/types/projects/cluster_list_params.py">params</a>) -> <a href="./src/codex/types/projects/cluster_list_response.py">SyncOffsetPageClusters[ClusterListResponse]</a></code>
- <code title="get /api/projects/{project_id}/entries/clusters/{representative_entry_id}">client.projects.clusters.<a href="./src/codex/resources/projects/clusters.py">list_variants</a>(representative_entry_id, \*, project_id) -> <a href="./src/codex/types/projects/cluster_list_variants_response.py">ClusterListVariantsResponse</a></code>

## Evals

Types:

```python
from codex.types.projects import EvalListResponse
```

Methods:

- <code title="post /api/projects/{project_id}/evals">client.projects.evals.<a href="./src/codex/resources/projects/evals.py">create</a>(project_id, \*\*<a href="src/codex/types/projects/eval_create_params.py">params</a>) -> <a href="./src/codex/types/project_return_schema.py">ProjectReturnSchema</a></code>
- <code title="put /api/projects/{project_id}/evals/{eval_key}">client.projects.evals.<a href="./src/codex/resources/projects/evals.py">update</a>(path_eval_key, \*, project_id, \*\*<a href="src/codex/types/projects/eval_update_params.py">params</a>) -> <a href="./src/codex/types/project_return_schema.py">ProjectReturnSchema</a></code>
- <code title="get /api/projects/{project_id}/evals">client.projects.evals.<a href="./src/codex/resources/projects/evals.py">list</a>(project_id) -> <a href="./src/codex/types/projects/eval_list_response.py">EvalListResponse</a></code>
- <code title="delete /api/projects/{project_id}/evals/{eval_key}">client.projects.evals.<a href="./src/codex/resources/projects/evals.py">delete</a>(eval_key, \*, project_id) -> <a href="./src/codex/types/project_return_schema.py">ProjectReturnSchema</a></code>

## QueryLogs

Types:

```python
from codex.types.projects import (
QueryLogRetrieveResponse,
QueryLogListResponse,
QueryLogListByGroupResponse,
QueryLogListGroupsResponse,
QueryLogStartRemediationResponse,
)
```

Methods:

- <code title="get /api/projects/{project_id}/query_logs/{query_log_id}">client.projects.query_logs.<a href="./src/codex/resources/projects/query_logs.py">retrieve</a>(query_log_id, \*, project_id) -> <a href="./src/codex/types/projects/query_log_retrieve_response.py">QueryLogRetrieveResponse</a></code>
- <code title="get /api/projects/{project_id}/query_logs/">client.projects.query_logs.<a href="./src/codex/resources/projects/query_logs.py">list</a>(project_id, \*\*<a href="src/codex/types/projects/query_log_list_params.py">params</a>) -> <a href="./src/codex/types/projects/query_log_list_response.py">QueryLogListResponse</a></code>
- <code title="get /api/projects/{project_id}/query_logs/logs_by_group">client.projects.query_logs.<a href="./src/codex/resources/projects/query_logs.py">list_by_group</a>(project_id, \*\*<a href="src/codex/types/projects/query_log_list_by_group_params.py">params</a>) -> <a href="./src/codex/types/projects/query_log_list_by_group_response.py">QueryLogListByGroupResponse</a></code>
- <code title="get /api/projects/{project_id}/query_logs/groups">client.projects.query_logs.<a href="./src/codex/resources/projects/query_logs.py">list_groups</a>(project_id, \*\*<a href="src/codex/types/projects/query_log_list_groups_params.py">params</a>) -> <a href="./src/codex/types/projects/query_log_list_groups_response.py">QueryLogListGroupsResponse</a></code>
- <code title="post /api/projects/{project_id}/query_logs/{query_log_id}/start_remediation">client.projects.query_logs.<a href="./src/codex/resources/projects/query_logs.py">start_remediation</a>(query_log_id, \*, project_id) -> <a href="./src/codex/types/projects/query_log_start_remediation_response.py">QueryLogStartRemediationResponse</a></code>

## Remediations

Types:

```python
from codex.types.projects import (
RemediationCreateResponse,
RemediationRetrieveResponse,
RemediationListResponse,
RemediationEditAnswerResponse,
RemediationEditDraftAnswerResponse,
RemediationGetResolvedLogsCountResponse,
RemediationListResolvedLogsResponse,
RemediationPauseResponse,
RemediationPublishResponse,
RemediationUnpauseResponse,
)
```

Methods:

- <code title="post /api/projects/{project_id}/remediations/">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">create</a>(project_id, \*\*<a href="src/codex/types/projects/remediation_create_params.py">params</a>) -> <a href="./src/codex/types/projects/remediation_create_response.py">RemediationCreateResponse</a></code>
- <code title="get /api/projects/{project_id}/remediations/{remediation_id}">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">retrieve</a>(remediation_id, \*, project_id) -> <a href="./src/codex/types/projects/remediation_retrieve_response.py">RemediationRetrieveResponse</a></code>
- <code title="get /api/projects/{project_id}/remediations/">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">list</a>(project_id, \*\*<a href="src/codex/types/projects/remediation_list_params.py">params</a>) -> <a href="./src/codex/types/projects/remediation_list_response.py">RemediationListResponse</a></code>
- <code title="delete /api/projects/{project_id}/remediations/{remediation_id}">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">delete</a>(remediation_id, \*, project_id) -> None</code>
- <code title="patch /api/projects/{project_id}/remediations/{remediation_id}/edit_answer">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">edit_answer</a>(remediation_id, \*, project_id, \*\*<a href="src/codex/types/projects/remediation_edit_answer_params.py">params</a>) -> <a href="./src/codex/types/projects/remediation_edit_answer_response.py">RemediationEditAnswerResponse</a></code>
- <code title="patch /api/projects/{project_id}/remediations/{remediation_id}/edit_draft_answer">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">edit_draft_answer</a>(remediation_id, \*, project_id, \*\*<a href="src/codex/types/projects/remediation_edit_draft_answer_params.py">params</a>) -> <a href="./src/codex/types/projects/remediation_edit_draft_answer_response.py">RemediationEditDraftAnswerResponse</a></code>
- <code title="get /api/projects/{project_id}/remediations/{remediation_id}/resolved_logs_count">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">get_resolved_logs_count</a>(remediation_id, \*, project_id) -> <a href="./src/codex/types/projects/remediation_get_resolved_logs_count_response.py">RemediationGetResolvedLogsCountResponse</a></code>
- <code title="get /api/projects/{project_id}/remediations/{remediation_id}/resolved_logs">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">list_resolved_logs</a>(remediation_id, \*, project_id) -> <a href="./src/codex/types/projects/remediation_list_resolved_logs_response.py">RemediationListResolvedLogsResponse</a></code>
- <code title="patch /api/projects/{project_id}/remediations/{remediation_id}/pause">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">pause</a>(remediation_id, \*, project_id) -> <a href="./src/codex/types/projects/remediation_pause_response.py">RemediationPauseResponse</a></code>
- <code title="patch /api/projects/{project_id}/remediations/{remediation_id}/publish">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">publish</a>(remediation_id, \*, project_id) -> <a href="./src/codex/types/projects/remediation_publish_response.py">RemediationPublishResponse</a></code>
- <code title="patch /api/projects/{project_id}/remediations/{remediation_id}/unpause">client.projects.remediations.<a href="./src/codex/resources/projects/remediations.py">unpause</a>(remediation_id, \*, project_id) -> <a href="./src/codex/types/projects/remediation_unpause_response.py">RemediationUnpauseResponse</a></code>

# Tlm

Types:
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "codex-sdk"
version = "0.1.0-alpha.20"
version = "0.1.0-alpha.21"
description = "Internal SDK used within cleanlab-codex package. Refer to https://pypi.org/project/cleanlab-codex/ instead."
dynamic = ["readme"]
license = "MIT"
Expand Down Expand Up @@ -54,6 +54,7 @@ dev-dependencies = [
"importlib-metadata>=6.7.0",
"rich>=13.7.1",
"nest_asyncio==1.6.0",
"pytest-xdist>=3.6.1",
]

[tool.rye.scripts]
Expand Down Expand Up @@ -125,7 +126,7 @@ replacement = '[\1](https://github.com/cleanlab/codex-python/tree/main/\g<2>)'

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--tb=short"
addopts = "--tb=short -n auto"
xfail_strict = true
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
Expand Down
4 changes: 4 additions & 0 deletions requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ distro==1.8.0
exceptiongroup==1.2.2
# via anyio
# via pytest
execnet==2.1.1
# via pytest-xdist
filelock==3.12.4
# via virtualenv
h11==0.14.0
Expand Down Expand Up @@ -72,7 +74,9 @@ pygments==2.18.0
pyright==1.1.399
pytest==8.3.3
# via pytest-asyncio
# via pytest-xdist
pytest-asyncio==0.24.0
pytest-xdist==3.7.0
python-dateutil==2.8.2
# via time-machine
pytz==2023.3.post1
Expand Down
2 changes: 1 addition & 1 deletion scripts/utils/upload-artifact.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \

if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
echo -e "\033[32mInstallation: npm install 'https://pkg.stainless.com/s/codex-python/$SHA'\033[0m"
echo -e "\033[32mInstallation: pip install --pre 'https://pkg.stainless.com/s/codex-python/$SHA'\033[0m"
else
echo -e "\033[31mFailed to upload artifact.\033[0m"
exit 1
Expand Down
Loading