python sdk for retro, the photo sharing app!
Project description
retro sdk
a python sdk for the internal retro api + db!
authentication
send_code(phone_number, verbose=False)— send a verification SMS (international format, e.g.+18556254225)verify_code(code, phone_number=None, verbose=False)— verify the SMS code and authenticate the sessionget_refresh_token(token, verbose=False)— exchange a custom token for a refresh token and store it
users
get_current_user_id()— returns the UID of the authenticated userget_user(user_id=None)— get a user's profile data; defaults to the current userset_username(username, verbose=False)— set the username for the authenticated userget_user_profile_picture(user_id)— get a user's profile picture as a PIL Imagelist_profile_photos(user_id)— list filenames of a user's profile photos in Firebase Storagedownload_profile_photo(user_id, filename)— download a profile photo as a PIL Imagedownload_profile_photos(user_id)— download all profile photos for a user
media
get_week_media(user_id, week_id)— get all media items for a user and weekupload_media(image, image_time=None, image_location=None, album_id=None)— upload a PIL Image as a new post;image_timeis a unix timestamp for when the photo was taken (determines week andcreatedAt; defaults to now); optionally setimage_locationandalbum_idto associate with a journaldelete_media(week_id, media_id)— delete one of your own media itemstag_user(media_id, week_id, user_id)— tag a user in one of your own postsuntag_user(media_id, week_id, user_id)— remove a tag from one of your own postsget_media_metadata(user_id, week, filename)— get Firebase Storage metadata for a media filelist_files_in_folder(user_id, week)— list raw Storage response for a user's week folderget_filenames_in_folder(user_id, week)— get filenames in a user's week folderdownload_media_file(user_id, week, filename)— download a media file as a PIL Imagedownload_image(storage_path)— download any Firebase Storage file as a PIL Image
comments & likes
get_media_comments(owner_id, media_id)— get all comments on a media itempost_comment(owner_id, media_id, week_id, text)— post a comment on a media itemlike_media(owner_id, media_id, week_id)— like a media itemunlike_media(owner_id, media_id)— remove a like
friends
get_friend_statuses(filter=None)— get all friend relationships; optionally pass aFieldFiltersend_friend_request(user_id)— send a friend requestcancel_friend_request(user_id)— cancel a pending outbound friend requestaccept_friend_request(user_id, verbose=False)— accept an incoming friend requestreject_friend_request(user_id, verbose=False)— reject an incoming friend requestunfriend(user_id)— remove a friendget_people_you_may_also_know(user_id, verbose=False)— get suggested friends
keys
give_key(user_id)— give your key to a friendrevoke_key(user_id)— take back a key you gave
albums
get_album(album_id)— get album/journal metadata (includespublicSlugfor share URLs)get_album_media(album_id)— get all media in an album, ordered oldest-firstcreate_album(name, members=[], cover_font="roslindale", verbose=False)— create a new albumadd_album_member(album_id, user_ids)— add members to an albumremove_album_member(album_id, user_id)— remove a member from an albummake_album_admin(album_id, user_id)— promote a member to admin
dms
get_threads(member_filter=None, include_deleted=False)— get DM threads for the current user; optionally filter by members with{"member_ids": [...], "exclusive": bool}get_thread_members(thread_id)— get member user IDs for a threadget_messages(thread_id, limit=50)— get messages in a thread, oldest-firstsend_message(thread_id, text)— send a text message to an existing thread; returns the new message IDcreate_message_thread(member_ids)— create a new DM thread with a list of user IDs; returns the thread IDadd_message_thread_members(user_ids, message_thread_id)— add members to an existing thread
notifications
get_notifications(type=None)— get activity notifications; optionally filter by"like","comment","request", or"tag"
search
search_users(username, page=0)— search for users by username via Algolia (no auth required)get_user_id(username)— look up a user's ID from their username
profile weeks
profile_weeks(user_id, verbose=False)— get the list of weeks a user has posted (requires friendship or key)profile_weeks_v2(user_id, verbose=False)— same as above, also returnsisNew
utilities
get_auth_token()— returns the current auth token, refreshing if expiredget_auth_header()— returns the Firebase auth header dict for manual requests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
retro_sdk-0.4.5.tar.gz
(12.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
retro_sdk-0.4.5-py3-none-any.whl
(13.0 kB
view details)
File details
Details for the file retro_sdk-0.4.5.tar.gz.
File metadata
- Download URL: retro_sdk-0.4.5.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c045317f110be308d65b28e794594da2c6625938cbd7ae5fb310f7190bdb097
|
|
| MD5 |
f5252b451578d9c2affa4e531820b983
|
|
| BLAKE2b-256 |
2b79bca410463ad874492a21f65c2e0d252ce6be4f967d1b96d506e8e8a38b95
|
File details
Details for the file retro_sdk-0.4.5-py3-none-any.whl.
File metadata
- Download URL: retro_sdk-0.4.5-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
854d3123563bcaeffa736e73ca66841d85fb7194760c70f6481c3c4efad92634
|
|
| MD5 |
ffda88d07b0516ce1d2174ec8f06f772
|
|
| BLAKE2b-256 |
984e9a4e623269a1c205cbc75e847673417f3bb5ac10da997c4e87111f58a7ad
|