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
Metadata
Release files for retro-sdk 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| retro_sdk-0.4.5.tar.gz | 12.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| retro_sdk-0.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.1 kB
Release files / retro_sdk-0.4.5.tar.gz
| Download URL | retro_sdk-0.4.5.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c045317f110be308d65b28e794594da2c6625938cbd7ae5fb310f7190bdb097
|
|
BLAKE2b-256 checksum How to use checksums |
2b79bca410463ad874492a21f65c2e0d252ce6be4f967d1b96d506e8e8a38b95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / retro_sdk-0.4.5-py3-none-any.whl
| Download URL | retro_sdk-0.4.5-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
854d3123563bcaeffa736e73ca66841d85fb7194760c70f6481c3c4efad92634
|
|
BLAKE2b-256 checksum How to use checksums |
984e9a4e623269a1c205cbc75e847673417f3bb5ac10da997c4e87111f58a7ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|