Skip to main content

Byte API Wrapper for Python

Project description

pybyte-logo


A Python wrapper for the byte.co app.

Python 3.6+ Required.


Attention: This project was built in a weekend (mostly in the weekend that it was launched) as such this is not production level software.

Byte does not have an official web API for developers, and most likely this will violate the ToS. Endpoints were found from the mobile app. As such, this wrapper can break at anytime. Do not rely on this wrapper.


Installation

  • PyPi (Recommended)
    pip install pybyte
    
  • Git repo
    git clone https://github.com/ms7m/py-byte
    cd py-byte
    python3 setup.py install
    

Usage

>>> import pybyte
>>> 
>>> byte = pybyte.Byte("7WMRREHUQRH4DBK7DQCV7YWL44")
>>> 
>>> byte.me().username
'BotBottyFace220'
>>> 
>>> my_timeline = byte.me().timeline()
>>> 
>>> # no rate limit protection yet. do it at your own risk!
... 
>>> import time
>>> 
>>> for post in my_timeline.feed:
...     print(f"Caption: {post.caption}")
...     time.sleep(1)
...     print(f"Author: {post.author.username}")
...     print('\n')
... 
Caption: 
Author: BotMcBotFace2300


Caption: Nice
Author: BotMcBotFace2300


Caption: 
Author: BotMcBotFace2300


Caption: 
Author: BotMcBotFace2300


Caption: @peaks 
Author: BotMcBotFace2300
# ...
>>> 
>>> 
>>> # Set your own username
... 
>>> byte.me().username = "BotMcBotFace2300"
>>> byte.me().username
'BotMcBotFace2300'
>>> 
>>> # Get Posts
... 
>>> post = byte.get_post("4ZPUKLE5OZB7JJGIBLVMIYQLBU")
>>> post.caption
'@peaks '
>>> post.mentions
[<pybyte.user.ByteUser object at 0x10b33b550>]
>>> 
>>> # rebyte / like posts
... 
>>> post.rebyte()
True
>>> post.like()
True
>>> 
>>> # comment posts
... 
>>> post.comment("Haha!")
True
>>> 
>>> # Upload Posts
... 
>> byte.upload('sample.mp4', caption="haha too funny!")
>> # Automatically generate a thumbnail
>> byte.upload('sample.mp4', caption="haha too funny!", generate_thumbnail=True)
>> # Supply your own thumbnail!
>> byte.upload('sample.mp4', caption="haha too funny", providedThumbnail="ultraCoolthumbnail.jpg")

Example Script

# Go through the global feed, comment and follow the author if they have < 10 followers

global_feed = byte.me().global_feed()

for post in global_feed.feed:
    if post.author.followers['followerCount'] > 10:
      	post.comment("Hey man, thanks for making me laugh!")
        post.like()
    else:
      	continue

Example Scripts

# Go through your posts and comment any post older than 3 days and has less than 200 likes

my_posts = byte.me().posts()
time_now = datetime.datetime.now()

for post in my_posts.feed:
    if (time_now - post.date).days > 3:
        if post.like_count < 200:
            # i am not popular :(
            post.comment("this post isn't making me popular")
         else:
            post.comment("Woohoo! I'm very popular!")
    else:
        # not old enough
        continue

Tests

Coming soon

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybyte-0.1.8.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

pybyte-0.1.8-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

Details for the file pybyte-0.1.8.tar.gz.

File metadata

  • Download URL: pybyte-0.1.8.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5

File hashes

Hashes for pybyte-0.1.8.tar.gz
Algorithm Hash digest
SHA256 97c6bf638d447c7be8c0b756a2c1716c0a62b076c6be12460219e9bc466e6a66
MD5 9f44bd9d023bd893d15e72b858e5f12f
BLAKE2b-256 bc796dc832364b6efd12823a18fd5d4c7307abb425330c6e8e063f5837c51971

See more details on using hashes here.

File details

Details for the file pybyte-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: pybyte-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 31.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5

File hashes

Hashes for pybyte-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a2ab6d26a9e498e2cb8b78e24f6e6f8ca4b1a47e6045ef72bc5ada61a1a12214
MD5 1533b872eb9dc229b7b365ba79f87468
BLAKE2b-256 92be6ce71955c2850125753bed2a0c35625ebce51847318ca1afd6c491fca510

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page