1pub mod api;
8pub mod client;
10pub mod config;
12pub mod error;
14pub mod types;
16
17#[path = "analytics.rs"]
19pub mod analytics;
20
21mod csv_export;
23
24#[path = "file_handler.rs"]
26pub mod file_handler;
27
28#[path = "url_builder.rs"]
30pub mod url_builder;
31
32#[cfg(feature = "sqlite")]
34#[path = "sqlite.rs"]
35pub mod sqlite;
36
37pub use client::LastFmClient;
39pub use config::{Config, ConfigBuilder, RateLimit};
40pub use error::{LastFmError, Result};
41pub use types::{Period, TrackLimit, TrackList};
42
43pub use api::{Analyze, FetchAndSave, FetchAndUpdate, LimitBuilder};
45
46pub mod prelude {
61 pub use crate::api::{Analyze, FetchAndSave, FetchAndUpdate, LimitBuilder};
62}
63
64pub use api::{
66 FriendsRequestBuilder, LovedTracksRequestBuilder, PersonalTagsRequestBuilder, ProgressCallback,
67 RecentTracksRequestBuilder, TopAlbumsRequestBuilder, TopArtistsRequestBuilder,
68 TopTagsRequestBuilder, TopTracksRequestBuilder, UserInfoRequestBuilder,
69 WeeklyAlbumChartRequestBuilder, WeeklyArtistChartRequestBuilder, WeeklyChartListRequestBuilder,
70 WeeklyTrackChartRequestBuilder,
71};
72pub use types::{
73 FriendProfile, FriendsPage, PersonalTaggedAlbum, PersonalTaggedAlbumsPage,
74 PersonalTaggedArtist, PersonalTaggedArtistsPage, PersonalTaggedTrack, PersonalTaggedTracksPage,
75 UserInfo, UserTopTag, WeeklyAlbum, WeeklyArtist, WeeklyChartRange, WeeklyTrack,
76};
77
78#[cfg(feature = "sqlite")]
80pub use sqlite::{SqliteExportable, SqliteLoadable};
81
82pub use types::{
84 LovedTrack, RecentTrack, RecentTrackExtended, ScoredAlbum, ScoredArtist, ScoredTrack, TopTrack,
85 UserLovedTracks, UserRecentTracks, UserRecentTracksExtended, UserTopAlbums, UserTopArtists,
86 UserTopTracks,
87};