Releases: ALERTua/bandcamp_async_api
Releases · ALERTua/bandcamp_async_api
0.1.1 Pagination fix
What's changed
Fixes 🔧
Maintenance ⚙️
- chore(deps): bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory @dependabot[bot] (#19)
Full Changelog: 0.1.0...0.1.1
0.1.0: Bandcamp Personal Music Feed
New Features ⚡
Music Feed
The get_feed() method retrieves a personalized music feed containing new releases from followed artists, fan purchases, and fan picks. This endpoint requires authentication - you must provide an identity token.
import asyncio
from bandcamp_async_api import BandcampAPIClient, BandcampMustBeLoggedInError
async def main():
async with BandcampAPIClient(identity_token='your_identity_token') as client:
# Get your music feed
feed = await client.get_feed()
print(f"New stories: {len(feed.stories)}")
print(f"Has more: {feed.has_more}")
# Iterate through feed stories
for story in feed.stories:
print(f" - {story.story_type}: {story.item_title} by {story.band_name}")
# Access tracks with streaming URLs
for track in feed.track_list:
print(f" Track: {track.title} - {track.streaming_url}")
# Paginate through older stories
if feed.has_more and feed.oldest_story_date:
older_feed = await client.get_feed(older_than=feed.oldest_story_date)
print(f"Older stories: {len(older_feed.stories)}")
if __name__ == '__main__':
asyncio.run(main())Feed Story Types
The feed contains different story types:
np- New track/track releasenr- New album releasep- Fan purchasefp- Fan pick
Error Handling
The feed endpoint requires authentication. If you try to access it without an identity token, you'll receive a BandcampMustBeLoggedInError:
from bandcamp_async_api import BandcampAPIClient, BandcampMustBeLoggedInError
async def safe_get_feed():
client = BandcampAPIClient() # No identity token
try:
feed = await client.get_feed()
except BandcampMustBeLoggedInError:
print("Feed requires authentication - provide an identity token")Maintenance ⚙️
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #16
- chore(deps): bump release-drafter/release-drafter from 6 to 7 by @dependabot[bot] in #17
Full Changelog: 0.0.9...0.1.0
0.0.9: Dummy release. See 0.0.8
0.0.8: Access following bands, following fans, and followers
New Features ⚡
Maintenance ⚙️
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10
- chore(deps): bump cryptography from 46.0.4 to 46.0.5 in the uv group across 1 directory by @dependabot[bot] in #11
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #12
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #13
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #14
New Contributors
- @pre-commit-ci[bot] made their first contribution in #10
- @teancom made their first contribution in #15
Full Changelog: 0.0.7...0.0.8
0.0.7: configurable default_retry_after parameter
What's Changed
Full Changelog: 0.0.6...0.0.7
0.0.6: HTTP 429 (rate limit) handling
What's Changed
- Add BandcampRateLimitError exception for handling HTTP 429 (rate limit) responses from the Bandcamp API. by @ALERTua in #8
Full Changelog: 0.0.5...0.0.6
0.0.5: Sanitize comma in search queries
0.0.4: BandcampMustBeLoggedInError
What's changed
- Added
BandcampMustBeLoggedInErrorin case of missing or wrong identity token
Full Changelog: 0.0.3...0.0.4
0.0.3: polishing
Fixes 🔧
- minor models fixes
Maintenance ⚙️
- tests expanded