AsyncStream

class tweepy.asynchronous.AsyncStream(consumer_key, consumer_secret, access_token, access_token_secret, *, max_retries=inf, proxy=None)

Stream realtime Tweets asynchronously with Twitter API v1.1

Note

New Twitter Developer Apps created on or after April 29, 2022 will not be able to gain access to v1.1 statuses/sample and v1.1 statuses/filter, the Twitter API v1.1 endpoints that AsyncStream uses. Twitter API v2 can be used instead with AsyncStreamingClient.

New in version 4.0.

Parameters
  • consumer_key (str) – Twitter API Consumer Key

  • consumer_secret (str) – Twitter API Consumer Secret

  • access_token (str) – Twitter API Access Token

  • access_token_secret (str) – Twitter API Access Token Secret

  • max_retries (int | None) – Number of times to attempt to (re)connect the stream.

  • proxy (str | None) – URL of the proxy to use when connecting to the stream

session

Aiohttp client session used to connect to the API

Type

aiohttp.ClientSession | None

task

The task running the stream

Type

asyncio.Task | None

user_agent

User agent used when connecting to the API

Type

str

filter(*, follow=None, track=None, locations=None, filter_level=None, languages=None, stall_warnings=False)

Filter realtime Tweets

Parameters
Raises

TweepyException – When the stream is already connected or when the number of location coordinates is not a multiple of 4

Returns

The task running the stream

Return type

asyncio.Task

References

https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/api-reference/post-statuses-filter

sample(*, languages=None, stall_warnings=False)

Sample realtime Tweets

Parameters
  • languages (list[str] | None) – Setting this parameter to a comma-separated list of BCP 47 language identifiers corresponding to any of the languages listed on Twitter’s advanced search page will only return Tweets that have been detected as being written in the specified languages. For example, connecting with language=en will only stream Tweets detected to be in the English language.

  • stall_warnings (bool | None) – Specifies whether stall warnings should be delivered. See https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters for more information.

Raises

TweepyException – When the stream is already connected

Returns

The task running the stream

Return type

asyncio.Task

References

https://developer.twitter.com/en/docs/twitter-api/v1/tweets/sample-realtime/api-reference/get-statuses-sample

async on_data(raw_data)

This function is a coroutine.

This is called when raw data is received from the stream. This method handles sending the data to other methods, depending on the message type.

Parameters

raw_data (JSON) – The raw data from the stream

References

https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/streaming-message-types

async on_status(status)

This function is a coroutine.

This is called when a status is received.

Parameters

status (Status) – The Status received

async on_delete(status_id, user_id)

This function is a coroutine.

This is called when a status deletion notice is received.

Parameters
  • status_id (int) – The ID of the deleted Tweet

  • user_id (int) – The ID of the author of the Tweet

async on_disconnect_message(message)

This function is a coroutine.

This is called when a disconnect message is received.

Parameters

message (JSON) – The disconnect message

async on_limit(track)

This function is a coroutine.

This is called when a limit notice is received.

Parameters

track (int) – Total count of the number of undelivered Tweets since the connection was opened

async on_scrub_geo(notice)

This function is a coroutine.

This is called when a location deletion notice is received.

Parameters

notice (JSON) – The location deletion notice

async on_status_withheld(notice)

This function is a coroutine.

This is called when a status withheld content notice is received.

Parameters

notice (JSON) – The status withheld content notice

async on_user_withheld(notice)

This function is a coroutine.

This is called when a user withheld content notice is received.

Parameters

notice (JSON) – The user withheld content notice

async on_warning(notice)

This function is a coroutine.

This is called when a stall warning message is received.

Parameters

warning (JSON) – The stall warning

disconnect()

Disconnect the stream

async on_closed(resp)

This function is a coroutine.

This is called when the stream has been closed by Twitter.

Parameters

response (aiohttp.ClientResponse) – The response from Twitter

async on_connect()

This function is a coroutine.

This is called after successfully connecting to the streaming API.

async on_connection_error()

This function is a coroutine.

This is called when the stream connection errors or times out.

async on_disconnect()

This function is a coroutine.

This is called when the stream has disconnected.

async on_exception(exception)

This function is a coroutine.

This is called when an unhandled exception occurs.

Parameters

exception (Exception) – The unhandled exception

async on_keep_alive()

This function is a coroutine.

This is called when a keep-alive signal is received.

async on_request_error(status_code)

This function is a coroutine.

This is called when a non-200 HTTP status code is encountered.

Parameters

status_code (int) – The HTTP status code encountered