{"id":32299779,"url":"https://github.com/tolo/id3tag","last_synced_at":"2026-02-24T14:35:21.034Z","repository":{"id":41931996,"uuid":"433875463","full_name":"tolo/id3tag","owner":"tolo","description":"A cross-platform, pure-Dart package for reading ID3 meta data","archived":false,"fork":false,"pushed_at":"2024-10-21T08:34:06.000Z","size":297,"stargazers_count":10,"open_issues_count":2,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T05:15:55.319Z","etag":null,"topics":["chap","chapters","dart","flutter","id3","mp3"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tolo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-01T15:11:39.000Z","updated_at":"2024-10-21T08:34:10.000Z","dependencies_parsed_at":"2022-09-01T19:51:27.211Z","dependency_job_id":null,"html_url":"https://github.com/tolo/id3tag","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tolo/id3tag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolo%2Fid3tag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolo%2Fid3tag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolo%2Fid3tag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolo%2Fid3tag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tolo","download_url":"https://codeload.github.com/tolo/id3tag/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolo%2Fid3tag/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29785532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T10:45:18.109Z","status":"ssl_error","status_checked_at":"2026-02-24T10:45:09.911Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chap","chapters","dart","flutter","id3","mp3"],"created_at":"2025-10-23T05:04:29.501Z","updated_at":"2026-02-24T14:35:21.029Z","avatar_url":"https://github.com/tolo.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ID3Tag\n\nID3Tag is a small library for reading common ID3 meta data from mp3-files and other types of media files. \nThere are of course already other libraries for doing this out there, but at the time of creating this library, none of \nthem provided support in three critical areas: \n\n- Reading **chapter** (`CHAP`) and **table of contents** (`CTOC`) frames\n- Reading ID3 meta data without having to load the entire file into memory\n- Easy extensibility to be able to implement support for additional frame types\n\nThus, the above list was the basic motivation for creating this library. Also, the specific use case of supporting mp3 \naudio books was another motivating factor (hence support for chapters and large file sizes).  \n\n\n## Features\n\n- Support for ID3 v2.3 (and above)\n- Support for common ID3 frames, such as:\n    - Text information frames [see here](https://id3.org/id3v2.3.0#Text_information_frames) \n    - Chapter frames, i.e. [`CHAP` frames](https://id3.org/id3v2-chapters-1.0#Chapter_frame)\n    - Table of contents frames, i.e. [`CTOC` frames](https://id3.org/id3v2-chapters-1.0#Table_of_contents_frame)\n    - Attached picture frames, i.e. [`APIC` frames](https://id3.org/id3v2.3.0#Attached_picture)\n    - Comment frames, i.e. [`COMM` frames](https://id3.org/id3v2.3.0#Comments)\n\n\n## Usage\n\nTo use this package, simply include the dependency, import the package and then use the class `ID3TagReader` to read \nthe ID3 tag from a file.  \n\n```dart\nfinal parser = ID3TagReader.path('path to a file');\nfinal tag = parser.readTagSync();\nprint('Title: ${tag.title}');\nprint('All chapters: ${tag.chapters}');\n// Or: \nprint('Chapters in top level table of contents: ${tag.topLevelChapters}');\n```\n\nDuring development, it may sometimes be convenient to use files in the form of asset resources. To accomplish this, you \ncan use the snippet below (requires the [path_provider package](https://pub.dev/packages/path_provider)): \n\n```dart\nimport 'package:path_provider/path_provider.dart';\n...\nfinal ByteData fileData = await rootBundle.load('some asset file');\nfinal filePath = '${(await getTemporaryDirectory()).path}/a file name';\nFile(filePath).writeAsBytesSync(fileData.buffer.asUint8List(fileData.offsetInBytes, fileData.lengthInBytes));\n```\n\n\n## Additional information\n\nThis library was initially derived from the package [id3](https://github.com/sanket143/id3), but later refactored,\nrewritten and and rearchitected for better extensibility, readability and robustness. The architecture was in part\ninspired by [OutcastID3](https://github.com/CrunchyBagel/OutcastID3). \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftolo%2Fid3tag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftolo%2Fid3tag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftolo%2Fid3tag/lists"}