{"id":24803918,"url":"https://github.com/asciamanna/ituneslibraryparser","last_synced_at":"2025-10-13T05:31:02.783Z","repository":{"id":4770412,"uuid":"5921667","full_name":"asciamanna/iTunesLibraryParser","owner":"asciamanna","description":"C# LINQ-To-XML iTunes Library Parser","archived":false,"fork":false,"pushed_at":"2020-06-26T05:22:48.000Z","size":16887,"stargazers_count":19,"open_issues_count":2,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-28T23:51:44.454Z","etag":null,"topics":["c-sharp","itunes","linq","nuget","plist","propertylist","xml"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"johnkoht/breadcrumbs_on_rails","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asciamanna.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2012-09-23T11:49:25.000Z","updated_at":"2025-02-23T19:14:47.000Z","dependencies_parsed_at":"2022-08-28T07:00:53.902Z","dependency_job_id":null,"html_url":"https://github.com/asciamanna/iTunesLibraryParser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asciamanna/iTunesLibraryParser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciamanna%2FiTunesLibraryParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciamanna%2FiTunesLibraryParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciamanna%2FiTunesLibraryParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciamanna%2FiTunesLibraryParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asciamanna","download_url":"https://codeload.github.com/asciamanna/iTunesLibraryParser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciamanna%2FiTunesLibraryParser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013703,"owners_count":26085393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["c-sharp","itunes","linq","nuget","plist","propertylist","xml"],"created_at":"2025-01-30T06:13:50.872Z","updated_at":"2025-10-13T05:31:01.906Z","avatar_url":"https://github.com/asciamanna.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"iTunesLibraryParser \r\n===================\r\n[![Build status](https://ci.appveyor.com/api/projects/status/tsebsc61mqylaejq?svg=true)](https://ci.appveyor.com/project/asciamanna/ituneslibraryparser)\r\n[![Coverage Status](https://coveralls.io/repos/github/asciamanna/iTunesLibraryParser/badge.svg?branch=master)](https://coveralls.io/github/asciamanna/iTunesLibraryParser?branch=master)\r\n[![NuGet version](https://img.shields.io/nuget/v/ITunesLibraryParser.svg)](https://www.nuget.org/packages/iTunesLibraryParser/)\r\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/20f1e8648cc74b158fbbb09528fd9e2e)](https://app.codacy.com/app/asciamanna/iTunesLibraryParser?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=asciamanna/iTunesLibraryParser\u0026utm_campaign=badger)\r\n\r\nThe iTunes Library Parser is implemented in C# utilizing LINQ-To-XML. Given the location of a iTunes Music Library XML file it parses the PropertyList format, which is defined by the Document Type Declaration (DTD) defined here [http://www.apple.com/DTDs/PropertyList-1.0.dtd](http://www.apple.com/DTDs/PropertyList-1.0.dtd). It supports parsing tracks, albums, and playlists.  More features will be added periodically.\r\n\r\n## Nuget\r\n\r\nThe nuget package is [available here](https://www.nuget.org/packages/iTunesLibraryParser/)\r\n\r\n## Usage\r\n```csharp\r\nvar library = new ITunesLibrary(\"iTunesLibrary.xml\");\r\n\r\nvar tracks = library.Tracks \r\n// returns all tracks in the iTunes Library\r\n\r\nvar albums = library.Albums\r\n// returns all albums in the iTunes Library\r\n\r\nvar playlists = library.Playlists\r\n// returns all playlists in the iTunes Library\r\n```\r\n\r\n## Versioning\r\niTunesLibaryParser will be maintained under the [Semantic Versioning guidelines](http://semver.org). Releases will follow this format:\r\n\r\n```\r\n\u003cmajor\u003e.\u003cminor\u003e.\u003cbuild\u003e\r\n```\r\n\r\n * If a release breaks backward compatibility the major version will be bumped (resetting minor and build back to zero). \r\n * New features and updates without breaking backward compatibility will bump the minor version (resetting the build to zero)\r\n * Bug fixes and small miscellaneous changes increase the build number\r\n\r\n## Performance Testing\r\n\r\n14,500 tracks -\u003e 800ms  \r\n2400 albums -\u003e 1.4s  \r\n100 playlists -\u003e 2.2s  \r\n\r\n## Coming Soon\r\nAdditional features will be coming soon like filtering tracks by track criteria.\r\n\r\n## Project Dependencies\r\ncoveralls.io 1.4.2  \r\nMoq 4.8.2   \r\nNUnit 3.10.1   \r\nNUnit.ConsoleRunner 3.8.0   \r\nOpenCover 4.6.519   \r\n\r\n## Contact\r\n**Anthony Sciamanna**\r\n\u003cbr/\u003e\r\n**Web:** [https://anthonysciamanna.com](https://anthonysciamanna.com)  \r\n**Twitter:** [@asciamanna](https://www.twitter.com/asciamanna)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasciamanna%2Fituneslibraryparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasciamanna%2Fituneslibraryparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasciamanna%2Fituneslibraryparser/lists"}