Skip to content

Commit 026ae8a

Browse files
authored
Merge pull request #116 from steel-dev/release-please--branches--main--changes--next
release: 0.6.0
2 parents 2868990 + 0812854 commit 026ae8a

File tree

12 files changed

+1476
-30
lines changed

12 files changed

+1476
-30
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,31 @@ jobs:
3535
- name: Run lints
3636
run: ./scripts/lint
3737

38-
upload:
38+
build:
3939
if: github.repository == 'stainless-sdks/steel-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)
4040
timeout-minutes: 10
41-
name: upload
41+
name: build
4242
permissions:
4343
contents: read
4444
id-token: write
4545
runs-on: depot-ubuntu-24.04
4646
steps:
4747
- uses: actions/checkout@v4
4848

49+
- name: Install Rye
50+
run: |
51+
curl -sSf https://rye.astral.sh/get | bash
52+
echo "$HOME/.rye/shims" >> $GITHUB_PATH
53+
env:
54+
RYE_VERSION: '0.44.0'
55+
RYE_INSTALL_OPTION: '--yes'
56+
57+
- name: Install dependencies
58+
run: rye sync --all-features
59+
60+
- name: Run build
61+
run: rye build
62+
4963
- name: Get GitHub OIDC Token
5064
id: github-oidc
5165
uses: actions/github-script@v6

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.5.0"
2+
".": "0.6.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 25
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/nen-labs%2Fsteel-f81cef6f87adc0530d9bc21e8d47c95aadef9d5bc3c282837ae0ad41d7f71bac.yml
3-
openapi_spec_hash: 5b273b225abb80a969ea1485bf399745
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/nen-labs%2Fsteel-efa19cc3cc7e8d1692f1952185eb882fd6250d5bc81af147aab3830fc39b4f8d.yml
3+
openapi_spec_hash: 85a6c998ec4fbd8d526ccd3dd40bdf96
44
config_hash: 42515bf83f1e0e765071038fcf702122

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## 0.6.0 (2025-07-02)
4+
5+
Full Changelog: [v0.5.0...v0.6.0](https://github.com/steel-dev/steel-python/compare/v0.5.0...v0.6.0)
6+
7+
### Features
8+
9+
* **api:** api update ([4a1726f](https://github.com/steel-dev/steel-python/commit/4a1726f54695553013b1bec0ab6c3b7e0f196482))
10+
* **api:** api update ([dc67b27](https://github.com/steel-dev/steel-python/commit/dc67b27864bfcf0e040996cfe3d8538dbdb5328f))
11+
12+
13+
### Chores
14+
15+
* **ci:** change upload type ([76f1526](https://github.com/steel-dev/steel-python/commit/76f1526277ff1a1dbc75ed3ce5c57e51293dfb3d))
16+
317
## 0.5.0 (2025-06-30)
418

519
Full Changelog: [v0.4.0...v0.5.0](https://github.com/steel-dev/steel-python/compare/v0.4.0...v0.5.0)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "steel-sdk"
3-
version = "0.5.0"
3+
version = "0.6.0"
44
description = "The official Python library for the steel API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

scripts/utils/upload-artifact.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#!/usr/bin/env bash
22
set -exuo pipefail
33

4-
RESPONSE=$(curl -X POST "$URL" \
4+
FILENAME=$(basename dist/*.whl)
5+
6+
RESPONSE=$(curl -X POST "$URL?filename=$FILENAME" \
57
-H "Authorization: Bearer $AUTH" \
68
-H "Content-Type: application/json")
79

@@ -12,13 +14,13 @@ if [[ "$SIGNED_URL" == "null" ]]; then
1214
exit 1
1315
fi
1416

15-
UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \
16-
-H "Content-Type: application/gzip" \
17-
--data-binary @- "$SIGNED_URL" 2>&1)
17+
UPLOAD_RESPONSE=$(curl -v -X PUT \
18+
-H "Content-Type: binary/octet-stream" \
19+
--data-binary "@dist/$FILENAME" "$SIGNED_URL" 2>&1)
1820

1921
if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
2022
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
21-
echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/steel-python/$SHA'\033[0m"
23+
echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/steel-python/$SHA/$FILENAME'\033[0m"
2224
else
2325
echo -e "\033[31mFailed to upload artifact.\033[0m"
2426
exit 1

src/steel/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "steel"
4-
__version__ = "0.5.0" # x-release-please-version
4+
__version__ = "0.6.0" # x-release-please-version

src/steel/resources/sessions/sessions.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,9 @@ def create(
7676
session_context: session_create_params.SessionContext | NotGiven = NOT_GIVEN,
7777
session_id: str | NotGiven = NOT_GIVEN,
7878
solve_captcha: bool | NotGiven = NOT_GIVEN,
79+
stealth_config: session_create_params.StealthConfig | NotGiven = NOT_GIVEN,
7980
api_timeout: int | NotGiven = NOT_GIVEN,
80-
use_proxy: bool | NotGiven = NOT_GIVEN,
81+
use_proxy: session_create_params.UseProxy | NotGiven = NOT_GIVEN,
8182
user_agent: str | NotGiven = NOT_GIVEN,
8283
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
8384
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -116,10 +117,12 @@ def create(
116117
117118
solve_captcha: Enable automatic captcha solving. Default is false.
118119
120+
stealth_config: Stealth configuration for the session
121+
119122
api_timeout: Session timeout duration in milliseconds. Default is 300000 (5 minutes).
120123
121-
use_proxy: Enable Steel-provided residential proxy usage for the browser session. Default
122-
is false, which routes requests through datacenter proxies.
124+
use_proxy: Proxy configuration for the session. Can be a boolean or array of proxy
125+
configurations
123126
124127
user_agent: Custom user agent string for the browser session
125128
@@ -146,6 +149,7 @@ def create(
146149
"session_context": session_context,
147150
"session_id": session_id,
148151
"solve_captcha": solve_captcha,
152+
"stealth_config": stealth_config,
149153
"api_timeout": api_timeout,
150154
"use_proxy": use_proxy,
151155
"user_agent": user_agent,
@@ -432,8 +436,9 @@ async def create(
432436
session_context: session_create_params.SessionContext | NotGiven = NOT_GIVEN,
433437
session_id: str | NotGiven = NOT_GIVEN,
434438
solve_captcha: bool | NotGiven = NOT_GIVEN,
439+
stealth_config: session_create_params.StealthConfig | NotGiven = NOT_GIVEN,
435440
api_timeout: int | NotGiven = NOT_GIVEN,
436-
use_proxy: bool | NotGiven = NOT_GIVEN,
441+
use_proxy: session_create_params.UseProxy | NotGiven = NOT_GIVEN,
437442
user_agent: str | NotGiven = NOT_GIVEN,
438443
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
439444
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -472,10 +477,12 @@ async def create(
472477
473478
solve_captcha: Enable automatic captcha solving. Default is false.
474479
480+
stealth_config: Stealth configuration for the session
481+
475482
api_timeout: Session timeout duration in milliseconds. Default is 300000 (5 minutes).
476483
477-
use_proxy: Enable Steel-provided residential proxy usage for the browser session. Default
478-
is false, which routes requests through datacenter proxies.
484+
use_proxy: Proxy configuration for the session. Can be a boolean or array of proxy
485+
configurations
479486
480487
user_agent: Custom user agent string for the browser session
481488
@@ -502,6 +509,7 @@ async def create(
502509
"session_context": session_context,
503510
"session_id": session_id,
504511
"solve_captcha": solve_captcha,
512+
"stealth_config": stealth_config,
505513
"api_timeout": api_timeout,
506514
"use_proxy": use_proxy,
507515
"user_agent": user_agent,

src/steel/types/session.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from .._models import BaseModel
1010

11-
__all__ = ["Session", "Dimensions"]
11+
__all__ = ["Session", "Dimensions", "StealthConfig"]
1212

1313

1414
class Dimensions(BaseModel):
@@ -19,6 +19,17 @@ class Dimensions(BaseModel):
1919
"""Width of the browser window"""
2020

2121

22+
class StealthConfig(BaseModel):
23+
humanize_interactions: Optional[bool] = FieldInfo(alias="humanizeInteractions", default=None)
24+
"""
25+
This flag will make the browser act more human-like by moving the mouse in a
26+
more natural way
27+
"""
28+
29+
skip_fingerprint_injection: Optional[bool] = FieldInfo(alias="skipFingerprintInjection", default=None)
30+
"""This flag will skip the fingerprint generation for the session."""
31+
32+
2233
class Session(BaseModel):
2334
id: str
2435
"""Unique identifier for the session"""
@@ -44,6 +55,9 @@ class Session(BaseModel):
4455
proxy_bytes_used: int = FieldInfo(alias="proxyBytesUsed")
4556
"""Amount of data transmitted through the proxy"""
4657

58+
proxy_source: Optional[Literal["steel", "external"]] = FieldInfo(alias="proxySource", default=None)
59+
"""Source of the proxy used for the session"""
60+
4761
session_viewer_url: str = FieldInfo(alias="sessionViewerUrl")
4862
"""URL to view session details"""
4963

@@ -59,14 +73,14 @@ class Session(BaseModel):
5973
is_selenium: Optional[bool] = FieldInfo(alias="isSelenium", default=None)
6074
"""Indicates if Selenium is used in the session"""
6175

62-
proxy: Optional[str] = None
63-
"""Proxy server used for the session"""
64-
6576
region: Optional[Literal["lax", "ord", "iad", "bom", "scl", "fra", "hkg"]] = None
6677
"""The region where the session was created"""
6778

6879
solve_captcha: Optional[bool] = FieldInfo(alias="solveCaptcha", default=None)
6980
"""Indicates if captcha solving is enabled"""
7081

82+
stealth_config: Optional[StealthConfig] = FieldInfo(alias="stealthConfig", default=None)
83+
"""Stealth configuration for the session"""
84+
7185
user_agent: Optional[str] = FieldInfo(alias="userAgent", default=None)
7286
"""User agent string used in the session"""

0 commit comments

Comments
 (0)