Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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 .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.2.0"
".": "0.3.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 115
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-3b2c6c771ad1da0bbfeb0af115972929ed2c7fcd5e47a79556d66cd21431b224.yml
openapi_spec_hash: de2890233b68387bf5f9b6d19e7d87dc
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-93bb7d4f1475c8043af464ec88244a034456c549136c8477f284f0a33192e1c9.yml
openapi_spec_hash: 74dca63c872249274ad99b111dea0833
config_hash: 8894c96caeb6df84c9394518810221bd
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.3.0 (2026-04-01)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/Xquik-dev/x-twitter-scraper-python/compare/v0.2.0...v0.3.0)

### Features

* **api:** api update ([e52e7fb](https://github.com/Xquik-dev/x-twitter-scraper-python/commit/e52e7fba2cb13cdc2dd75fcfe4d281e7e28d445c))

## 0.2.0 (2026-04-01)

Full Changelog: [v0.1.3...v0.2.0](https://github.com/Xquik-dev/x-twitter-scraper-python/compare/v0.1.3...v0.2.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "x_twitter_scraper"
version = "0.2.0"
version = "0.3.0"
description = "The official Python library for the x-twitter-scraper API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/x_twitter_scraper/_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__ = "x_twitter_scraper"
__version__ = "0.2.0" # x-release-please-version
__version__ = "0.3.0" # x-release-please-version
4 changes: 2 additions & 2 deletions src/x_twitter_scraper/resources/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ def update_locale(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountUpdateLocaleResponse,
)
Expand Down Expand Up @@ -255,7 +255,7 @@ async def update_locale(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountUpdateLocaleResponse,
)
Expand Down
12 changes: 6 additions & 6 deletions src/x_twitter_scraper/resources/api_keys.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def create(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=APIKeyCreateResponse,
)
Expand All @@ -99,7 +99,7 @@ def list(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=APIKeyListResponse,
)
Expand Down Expand Up @@ -136,7 +136,7 @@ def revoke(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=APIKeyRevokeResponse,
)
Expand Down Expand Up @@ -195,7 +195,7 @@ async def create(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=APIKeyCreateResponse,
)
Expand All @@ -218,7 +218,7 @@ async def list(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=APIKeyListResponse,
)
Expand Down Expand Up @@ -255,7 +255,7 @@ async def revoke(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=APIKeyRevokeResponse,
)
Expand Down
8 changes: 8 additions & 0 deletions src/x_twitter_scraper/resources/integrations.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,10 @@ def update(
Update integration

Args:
filters: Event filter rules (JSON)

message_template: Custom message template (JSON)

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand Down Expand Up @@ -442,6 +446,10 @@ async def update(
Update integration

Args:
filters: Event filter rules (JSON)

message_template: Custom message template (JSON)

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand Down
20 changes: 10 additions & 10 deletions src/x_twitter_scraper/resources/x/accounts.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def create(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountCreateResponse,
)
Expand Down Expand Up @@ -138,7 +138,7 @@ def retrieve(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountRetrieveResponse,
)
Expand All @@ -161,7 +161,7 @@ def list(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountListResponse,
)
Expand Down Expand Up @@ -198,7 +198,7 @@ def delete(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountDeleteResponse,
)
Expand Down Expand Up @@ -248,7 +248,7 @@ def reauth(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountReauthResponse,
)
Expand Down Expand Up @@ -330,7 +330,7 @@ async def create(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountCreateResponse,
)
Expand Down Expand Up @@ -367,7 +367,7 @@ async def retrieve(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountRetrieveResponse,
)
Expand All @@ -390,7 +390,7 @@ async def list(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountListResponse,
)
Expand Down Expand Up @@ -427,7 +427,7 @@ async def delete(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountDeleteResponse,
)
Expand Down Expand Up @@ -477,7 +477,7 @@ async def reauth(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
security={},
security={"api_key": True},
),
cast_to=AccountReauthResponse,
)
Expand Down
33 changes: 30 additions & 3 deletions src/x_twitter_scraper/types/compose_create_response.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Dict
from typing_extensions import TypeAlias
from typing import TYPE_CHECKING, Dict, List, Optional

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = ["ComposeCreateResponse"]

ComposeCreateResponse: TypeAlias = Dict[str, object]

class ComposeCreateResponse(BaseModel):
feedback: Optional[str] = None
"""AI feedback on the draft"""

score: Optional[float] = None
"""Engagement score (0-100)"""

suggestions: Optional[List[str]] = None
"""Improvement suggestions"""

text: Optional[str] = None
"""Generated or refined tweet text"""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]
1 change: 1 addition & 0 deletions src/x_twitter_scraper/types/event_retrieve_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class EventRetrieveResponse(BaseModel):
id: str

data: Dict[str, object]
"""Event payload — shape varies by event type (JSON)"""

monitor_id: str = FieldInfo(alias="monitorId")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class ExtractionRetrieveResponse(BaseModel):
has_more: bool = FieldInfo(alias="hasMore")

job: Dict[str, object]
"""Extraction job metadata — shape varies by tool type (JSON)"""

results: List[Dict[str, object]]

Expand Down
2 changes: 2 additions & 0 deletions src/x_twitter_scraper/types/integration_create_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class IntegrationCreateResponse(BaseModel):
id: str

config: Dict[str, object]
"""Integration config — shape varies by type (JSON)"""

created_at: datetime = FieldInfo(alias="createdAt")

Expand All @@ -29,6 +30,7 @@ class IntegrationCreateResponse(BaseModel):
type: Literal["telegram"]

filters: Optional[Dict[str, object]] = None
"""Event filter rules (JSON)"""

message_template: Optional[str] = FieldInfo(alias="messageTemplate", default=None)

Expand Down
2 changes: 2 additions & 0 deletions src/x_twitter_scraper/types/integration_list_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class Integration(BaseModel):
id: str

config: Dict[str, object]
"""Integration config — shape varies by type (JSON)"""

created_at: datetime = FieldInfo(alias="createdAt")

Expand All @@ -29,6 +30,7 @@ class Integration(BaseModel):
type: Literal["telegram"]

filters: Optional[Dict[str, object]] = None
"""Event filter rules (JSON)"""

message_template: Optional[str] = FieldInfo(alias="messageTemplate", default=None)

Expand Down
2 changes: 2 additions & 0 deletions src/x_twitter_scraper/types/integration_retrieve_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class IntegrationRetrieveResponse(BaseModel):
id: str

config: Dict[str, object]
"""Integration config — shape varies by type (JSON)"""

created_at: datetime = FieldInfo(alias="createdAt")

Expand All @@ -29,6 +30,7 @@ class IntegrationRetrieveResponse(BaseModel):
type: Literal["telegram"]

filters: Optional[Dict[str, object]] = None
"""Event filter rules (JSON)"""

message_template: Optional[str] = FieldInfo(alias="messageTemplate", default=None)

Expand Down
2 changes: 2 additions & 0 deletions src/x_twitter_scraper/types/integration_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,12 @@ class IntegrationUpdateParams(TypedDict, total=False):
]

filters: Dict[str, object]
"""Event filter rules (JSON)"""

is_active: Annotated[bool, PropertyInfo(alias="isActive")]

message_template: Annotated[Dict[str, object], PropertyInfo(alias="messageTemplate")]
"""Custom message template (JSON)"""

name: str

Expand Down
2 changes: 2 additions & 0 deletions src/x_twitter_scraper/types/integration_update_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class IntegrationUpdateResponse(BaseModel):
id: str

config: Dict[str, object]
"""Integration config — shape varies by type (JSON)"""

created_at: datetime = FieldInfo(alias="createdAt")

Expand All @@ -29,6 +30,7 @@ class IntegrationUpdateResponse(BaseModel):
type: Literal["telegram"]

filters: Optional[Dict[str, object]] = None
"""Event filter rules (JSON)"""

message_template: Optional[str] = FieldInfo(alias="messageTemplate", default=None)

Expand Down
Loading
Loading