yetracker package¶
Submodules¶
yetracker.column module¶
- class yetracker.column.AvailableLengthEnum(*values)¶
- Bases: - StrEnum- The options for how much available length an entry has. - BEAT_ONLY = 'Beat Only'¶
 - CONFIRMED = 'Confirmed'¶
 - CONFLICTING_SOURCES = 'Conflicting Sources'¶
 - FULL = 'Full'¶
 - OG_FILE = 'OG File'¶
 - PARTIAL = 'Partial'¶
 - RUMORED = 'Rumored'¶
 - SNIPPET = 'Snippet'¶
 - STEM_BOUNCE = 'Stem Bounce'¶
 - TAGGED = 'Tagged'¶
 
- class yetracker.column.ContribTag(*values)¶
- Bases: - Enum- FEAT = 'feat.'¶
 - PROD = 'prod.'¶
 - QUES = '???.'¶
 - REF = 'ref.'¶
 - WITH = 'with'¶
 
- class yetracker.column.Contributors(name_str: str)¶
- Bases: - object- Represents the contributors a entry has. - feat¶
- The entry’s features. - Type:
- str | None 
 
 - ref¶
- Artists who do a reference in the entry. - Type:
- str | None 
 
 - with\_
- Artists the entry is made in equal collaboration with. - Type:
- str | none 
 
 - prod¶
- Producers of the entry. - Type:
- str | None 
 
 - ques¶
- The artists who contributed to an entry, but whose exact roles are unknown. - Type:
- str | None 
 
 
- class yetracker.column.Emoji(*values)¶
- Bases: - Enum- An emoji, indicating the quality of an unreleased song. - AI = '🤖'¶
 - BEST_OF = '⭐'¶
 - GRAIL = '🏆'¶
 - LOST = '⁉️'¶
 - SPECIAL = '✨'¶
 - WANTED = '🥇'¶
 - WORST_OF = '🗑️'¶
 
- class yetracker.column.QualityEnum(*values)¶
- Bases: - StrEnum- The options for the quality of an entry. - CD_QUALITY = 'CD Quality'¶
 - HIGH_QUALITY = 'High Quality'¶
 - LOSSLESS = 'Lossless'¶
 - LOW_QUALITY = 'Low Quality'¶
 - NOT_AVAILABLE = 'Not Available'¶
 - RECORDING = 'Recording'¶
 
- class yetracker.column.ReleasedTypeEnum(*values)¶
- Bases: - StrEnum- The options for the type of a release. - ALBUM_TRACK = 'Album Track'¶
 - FEATURE = 'Feature'¶
 - OTHER = 'Other'¶
 - PRODUCTION = 'Production'¶
 - SINGLE = 'Single'¶
 
- class yetracker.column.SampleUsed(name: str | None, artist: str | None = None, note: str | None = None, link: str | None = None)¶
- Bases: - object- Represents a used sample. - artist: str | None = None¶
- The sample’s artist. 
 - link: str | None = None¶
- Link to the sample. 
 - name: str | None¶
- The sample’s name. 
 - note: str | None = None¶
- Notes about the sample. 
 
- class yetracker.column.StemTypeEnum(*values)¶
- Bases: - Enum- The options for the type of stem files. - ACAPELLAS = 'Acapellas'¶
 - INSTRUMENTALS = 'Instrumentals'¶
 - LIVE_ACAPELLAS = 'Live Acapellas'¶
 - LIVE_STEMS = 'Live Stems'¶
 - SESSIONS = 'Sessions'¶
 - STEM_PLAYER_STEMS = 'Stem Player Stems'¶
 - STUDIO_STEMS = 'Studio Stems'¶
 - TV_TRACKS = 'TV Tracks'¶
 
- class yetracker.column.Version(version_start: int, version_end: int | Literal['?'] | None = None)¶
- Bases: - object- Represents the version of an entry. - version_start¶
- The version number of the entry’s first version. - Type:
- int 
 
 - version_end¶
- The version number of the entry’s last version. A value of ‘?’ indicates an unknown amount of versions. A value of None indicates the entry has only one version. - Type:
- int | Literal[‘?’] | None 
 
 - version¶
- Either the singular version of an entry, or the tuple of the start and end version. - Type:
- tuple[int, int | Literal[‘?’]] | int 
 
 - version_count_unknown¶
- Whether the entry has an unknown amount of versions or not. - Type:
- bool 
 
 
yetracker.common module¶
yetracker.entry module¶
- class yetracker.entry.Entry(row: Row)¶
- Bases: - ABC
- class yetracker.entry.Released(row: Row)¶
- Bases: - Song- Represents an entry in the Released tab. - release_date¶
- The song’s release date. See - file_dateof- Unreleasedfor information about the type.- Type:
- datetime | str | None 
 
 - type¶
- The type of the release. - Type:
- ReleasedTypeEnum | None 
 
 - streaming¶
- Whether the song is streaming or not. - Type:
- bool 
 
 
- class yetracker.entry.Sample(row: Row)¶
- 
Represents an entry in the Samples tab. Shares the era_name,notes, andlinksattributes withSong.- samples¶
- The samples used by a song. - Type:
- list[SampleUsed] 
 
 
- class yetracker.entry.Song(row: Row)¶
- Bases: - Entry,- WithNames,- WithEras- Base class for ‘song’-like entries. - era_name¶
- The plain-text name of the era/album the entry is from. - Type:
- str 
 
 - notes¶
- The entry’s notes. - Type:
- str 
 
 - length¶
- The length of the entry. - Type:
- timedelta | None 
 
 - link¶
- Audio link of the entry. - Type:
- str 
 
 
- class yetracker.entry.Stem(row: Row)¶
- Bases: - Song- Represents an entry in the Stems tab. - Shares the - file_date,- leak_date,- available_length, and- qualityattributes with- Unreleased.- bpm¶
- The BPM of the stems. - Type:
- str 
 
 
- class yetracker.entry.Unreleased(row: Row)¶
- Bases: - Song- Represents an entry in the Unreleased tab. - file_date¶
- The date of the song file itself. Either a plain-text string of the date, or a datetime object if the date is exact. - Type:
- datetime | str | None 
 
 - leak_date¶
- The date of the song’s leakage. See - file_datefor information about the type.- Type:
- datetime | str | None 
 
 - available_length¶
- How much of the song is available. - Type:
- AvailableLengthEnum | None 
 
 - quality¶
- The audio quality of the song. - Type:
- QualityEnum | None 
 
 
- class yetracker.entry.WithEras¶
- Bases: - object- Base class of entries in tabs with specical rows for eras and suberas. - era¶
- Either the plain-text name of the era (equivalent to - era_name), or an Era object.- Type:
- str | Era 
 
 - subera¶
- The subera of the entry. - Type:
- SubEra | None 
 
 - set_era(era: Era)¶
 - set_subera(subera: SubEra)¶
 
- class yetracker.entry.WithNames¶
- Bases: - object- Base class used to derive various attributes from the “Name” column in multiple tabs. - full_name¶
- The full text of the entry’s “Name” column. - Type:
- str 
 
 - main_name¶
- The entry’s main name. - Type:
- str 
 
 - alt_names¶
- Alternative names the entry is known by. - Type:
- list[str] 
 
 - contribs¶
- Contributors to the song. - Type:
 
 - artist¶
- The artist of the entry (if not the tracker’s main artist) - Type:
- str | None 
 
 
yetracker.era module¶
- class yetracker.era.BasicEra(row: Row)¶
- Bases: - Era- Represents a standard era. - notes¶
- Notes about the era. - Type:
- str 
 
 - stats¶
- Statistics about the entries within the era. - Type:
- dict[str, int] 
 
 - events¶
- The events within an era, mapped to the date they happened. - Type:
- dict[str, str] 
 
 - main_name¶
- The main name of the era. - Type:
- str 
 
 - alt_names¶
- Alternative names the era is known by. - Type:
- str 
 
 
- class yetracker.era.BasicSubEra(row: Row)¶
- Bases: - SubEra- Represents a standard subera. - events¶
- The events within an era with the date they happened. - Type:
- dict[str, str] 
 
 - name¶
- The subera’s name. - Type:
- str 
 
 
- class yetracker.era.StemSubEra(row)¶
- Bases: - SubEra- Represents a subera within the Stems tab. - stem_type¶
- The type of the stem. - Type:
- StemTypeEnum | None 
 
 
yetracker.tab module¶
- class yetracker.tab.ReleasedTab(raw_values: Range)¶
- 
List of entries in the Released tab. 
- class yetracker.tab.SamplesTab(raw_values: Range)¶
- 
List of entries in the Samples tab. 
- class yetracker.tab.Tab(raw_values: Range)¶
- Bases: - list[- T],- ABC,- Generic- Base class for a tab/sheet within a tracker. 
- class yetracker.tab.UnreleasedTab(raw_values: Range)¶
- Bases: - Tab[- Unreleased]- List of entries in the Unreleased tab. - get_ai()¶
- Returns a filtered UnreleasedTab with only entries that have the “AI” emoji. 
 - get_best_of()¶
- Returns a filtered UnreleasedTab with only entries that have the “Best Of” emoji. 
 - get_grails_or_wanted()¶
- Returns a filtered UnreleasedTab with only entries that either have the “Grail” or the “Wanted” emoji. 
 - get_special()¶
- Returns a filtered UnreleasedTab with only entries that have the “Special” emoji. 
 - get_worst_of()¶
- Returns a filtered UnreleasedTab with only entries that have the “Worst Of” emoji. 
 
yetracker.tracker module¶
- exception yetracker.tracker.NotAuthenticatedError¶
- Bases: - Exception
- class yetracker.tracker.Tracker(*, spreadsheet_id: str, api_key: str)¶
- class yetracker.tracker.Tracker(*, raw_json: str | TextIO)
- class yetracker.tracker.Tracker
- Bases: - ABC- Base class for a tracker. Inherit to create a specific tracker. - save_data_to_file(file_name: str)¶
- Save the raw data collected to a file. The file can subsequently be loaded in with use_json. - Parameters:
- file_name – name of the file to be written to. 
 
 - use_api(spreadsheet_id: str, api_key: str)¶
- Set the tracker to use the Google Sheets API. - Parameters:
- spreadsheet_id – The ID of the Google Sheets spreadsheet. 
- api_key – The API key used to access the sheet. 
 
 
 - use_json(json: str | TextIO)¶
- Set the tracker to use a JSON data source. - Parameters:
- json – Either a JSON string in the format of an API response, or as a file handler to a JSON file of that format.