Skip to content

Commit

Permalink
chore: go live (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Sep 13, 2024
1 parent 99fc2a4 commit f720320
Show file tree
Hide file tree
Showing 20 changed files with 197 additions and 55 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow is triggered when a GitHub release is created.
# It can also be run manually to re-publish to PyPI in case it failed for some reason.
# You can run this workflow by navigating to https://www.github.com/julep-ai/python-sdk/actions/workflows/publish-pypi.yml
name: Publish PyPI
on:
workflow_dispatch:

release:
types: [published]

jobs:
publish:
name: publish
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Install Rye
run: |
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.35.0'
RYE_INSTALL_OPTION: '--yes'

- name: Publish to PyPI
run: |
bash ./bin/publish-pypi
env:
PYPI_TOKEN: ${{ secrets.JULEP_PYPI_TOKEN || secrets.PYPI_TOKEN }}
21 changes: 21 additions & 0 deletions .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Release Doctor
on:
pull_request:
branches:
- main
workflow_dispatch:

jobs:
release_doctor:
name: release doctor
runs-on: ubuntu-latest
if: github.repository == 'julep-ai/python-sdk' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4

- name: Check release environment
run: |
bash ./bin/check-release-environment
env:
PYPI_TOKEN: ${{ secrets.JULEP_PYPI_TOKEN || secrets.PYPI_TOKEN }}
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.0.1-alpha.0"
}
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ If you’d like to use the repository from source, you can either install from g
To install via git:

```bash
pip install git+ssh://[email protected]/stainless-sdks/julep-python.git
pip install git+ssh://[email protected]/julep-ai/python-sdk.git
```

Alternatively, you can build from source and install the wheel file:
Expand Down Expand Up @@ -117,7 +117,7 @@ the changes aren't made through the automated pipeline, you may want to make rel

### Publish with a GitHub workflow

You can release to package managers by using [the `Publish PyPI` GitHub action](https://www.github.com/stainless-sdks/julep-python/actions/workflows/publish-pypi.yml). This requires a setup organization or repository secret to be set up.
You can release to package managers by using [the `Publish PyPI` GitHub action](https://www.github.com/julep-ai/python-sdk/actions/workflows/publish-pypi.yml). This requires a setup organization or repository secret to be set up.

### Publish manually

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ The REST API documentation can be found on [docs.julep.ai](https://docs.julep.ai
## Installation

```sh
# install from this staging repo
pip install git+ssh://[email protected]/stainless-sdks/julep-python.git
# install from the production repo
pip install git+ssh://[email protected]/julep-ai/python-sdk.git
```

> [!NOTE]
Expand Down Expand Up @@ -311,9 +311,9 @@ agent = response.parse() # get the object that `agents.create_or_update()` woul
print(agent.id)
```

These methods return an [`APIResponse`](https://github.com/stainless-sdks/julep-python/tree/main/src/julep/_response.py) object.
These methods return an [`APIResponse`](https://github.com/julep-ai/python-sdk/tree/main/src/julep/_response.py) object.

The async client returns an [`AsyncAPIResponse`](https://github.com/stainless-sdks/julep-python/tree/main/src/julep/_response.py) with the same structure, the only difference being `await`able methods for reading the response content.
The async client returns an [`AsyncAPIResponse`](https://github.com/julep-ai/python-sdk/tree/main/src/julep/_response.py) with the same structure, the only difference being `await`able methods for reading the response content.

#### `.with_streaming_response`

Expand Down Expand Up @@ -412,7 +412,7 @@ This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) con

We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.

We are keen for your feedback; please open an [issue](https://www.github.com/stainless-sdks/julep-python/issues) with questions, bugs, or suggestions.
We are keen for your feedback; please open an [issue](https://www.github.com/julep-ai/python-sdk/issues) with questions, bugs, or suggestions.

### Determining the installed version

Expand Down
21 changes: 21 additions & 0 deletions bin/check-release-environment
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env bash

errors=()

if [ -z "${PYPI_TOKEN}" ]; then
errors+=("The JULEP_PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.")
fi

lenErrors=${#errors[@]}

if [[ lenErrors -gt 0 ]]; then
echo -e "Found the following errors in the release environment:\n"

for error in "${errors[@]}"; do
echo -e "- $error\n"
done

exit 1
fi

echo "The environment is ready to push releases!"
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ classifiers = [
]

[project.urls]
Homepage = "https://github.com/stainless-sdks/julep-python"
Repository = "https://github.com/stainless-sdks/julep-python"
Homepage = "https://github.com/julep-ai/python-sdk"
Repository = "https://github.com/julep-ai/python-sdk"



Expand Down Expand Up @@ -123,7 +123,7 @@ path = "README.md"
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
# replace relative links with absolute links
pattern = '\[(.+?)\]\(((?!https?://)\S+?)\)'
replacement = '[\1](https://github.com/stainless-sdks/julep-python/tree/main/\g<2>)'
replacement = '[\1](https://github.com/julep-ai/python-sdk/tree/main/\g<2>)'

[tool.black]
line-length = 120
Expand Down
66 changes: 66 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"packages": {
".": {}
},
"$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json",
"include-v-in-tag": true,
"include-component-in-tag": false,
"versioning": "prerelease",
"prerelease": true,
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": false,
"pull-request-header": "Automated Release PR",
"pull-request-title-pattern": "release: ${version}",
"changelog-sections": [
{
"type": "feat",
"section": "Features"
},
{
"type": "fix",
"section": "Bug Fixes"
},
{
"type": "perf",
"section": "Performance Improvements"
},
{
"type": "revert",
"section": "Reverts"
},
{
"type": "chore",
"section": "Chores"
},
{
"type": "docs",
"section": "Documentation"
},
{
"type": "style",
"section": "Styles"
},
{
"type": "refactor",
"section": "Refactors"
},
{
"type": "test",
"section": "Tests",
"hidden": true
},
{
"type": "build",
"section": "Build System"
},
{
"type": "ci",
"section": "Continuous Integration",
"hidden": true
}
],
"release-type": "python",
"extra-files": [
"src/julep/_version.py"
]
}
2 changes: 1 addition & 1 deletion src/julep/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "julep"
__version__ = "0.0.1-alpha.0"
__version__ = "0.0.1-alpha.0" # x-release-please-version
8 changes: 4 additions & 4 deletions src/julep/resources/agents/agents.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def with_raw_response(self) -> AgentsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return AgentsResourceWithRawResponse(self)

Expand All @@ -77,7 +77,7 @@ def with_streaming_response(self) -> AgentsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return AgentsResourceWithStreamingResponse(self)

Expand Down Expand Up @@ -417,7 +417,7 @@ def with_raw_response(self) -> AsyncAgentsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return AsyncAgentsResourceWithRawResponse(self)

Expand All @@ -426,7 +426,7 @@ def with_streaming_response(self) -> AsyncAgentsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return AsyncAgentsResourceWithStreamingResponse(self)

Expand Down
8 changes: 4 additions & 4 deletions src/julep/resources/agents/docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def with_raw_response(self) -> DocsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return DocsResourceWithRawResponse(self)

Expand All @@ -48,7 +48,7 @@ def with_streaming_response(self) -> DocsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return DocsResourceWithStreamingResponse(self)

Expand Down Expand Up @@ -322,7 +322,7 @@ def with_raw_response(self) -> AsyncDocsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return AsyncDocsResourceWithRawResponse(self)

Expand All @@ -331,7 +331,7 @@ def with_streaming_response(self) -> AsyncDocsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return AsyncDocsResourceWithStreamingResponse(self)

Expand Down
8 changes: 4 additions & 4 deletions src/julep/resources/agents/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def with_raw_response(self) -> ToolsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return ToolsResourceWithRawResponse(self)

Expand All @@ -47,7 +47,7 @@ def with_streaming_response(self) -> ToolsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return ToolsResourceWithStreamingResponse(self)

Expand Down Expand Up @@ -307,7 +307,7 @@ def with_raw_response(self) -> AsyncToolsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return AsyncToolsResourceWithRawResponse(self)

Expand All @@ -316,7 +316,7 @@ def with_streaming_response(self) -> AsyncToolsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return AsyncToolsResourceWithStreamingResponse(self)

Expand Down
8 changes: 4 additions & 4 deletions src/julep/resources/docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def with_raw_response(self) -> DocsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return DocsResourceWithRawResponse(self)

Expand All @@ -43,7 +43,7 @@ def with_streaming_response(self) -> DocsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return DocsResourceWithStreamingResponse(self)

Expand Down Expand Up @@ -120,7 +120,7 @@ def with_raw_response(self) -> AsyncDocsResourceWithRawResponse:
This property can be used as a prefix for any HTTP method call to return the
the raw response object instead of the parsed content.
For more information, see https://www.github.com/stainless-sdks/julep-python#accessing-raw-response-data-eg-headers
For more information, see https://www.github.com/julep-ai/python-sdk#accessing-raw-response-data-eg-headers
"""
return AsyncDocsResourceWithRawResponse(self)

Expand All @@ -129,7 +129,7 @@ def with_streaming_response(self) -> AsyncDocsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/stainless-sdks/julep-python#with_streaming_response
For more information, see https://www.github.com/julep-ai/python-sdk#with_streaming_response
"""
return AsyncDocsResourceWithStreamingResponse(self)

Expand Down
Loading

0 comments on commit f720320

Please sign in to comment.