I am creating a wrapper Python API for twitter,
For example:
search_tweets(**kwargs)
This API returns back a Tweet object. Tweet class looks something like:
class Tweet:
def __init__(self, tweet, favorites, impressions, engagements, **kwargs):
""" Create a new Tweet Object with field values """
self.impressions = impressions
self.favorites = favorites
self.tweet = tweet
self.engagements = engagements
vars(self).update(kwargs)
def retweet():
""" Retweet this tweet """
Tweet object will be exposed to users because Tweet object will be returned by search_tweets API and users can call methods like retweet on this object, but I do not want users to explicitly create this object.
How can I denote that Tweet object should not be created by users, it should only be operated upon?