{"id":16957844,"url":"https://github.com/pauljohanneskraft/codablecsv","last_synced_at":"2026-03-01T17:32:50.277Z","repository":{"id":115292648,"uuid":"145239715","full_name":"pauljohanneskraft/CodableCSV","owner":"pauljohanneskraft","description":"CodableCSV - Makes it easy to parse CSV files using the Codable protocols","archived":false,"fork":false,"pushed_at":"2022-04-26T21:41:35.000Z","size":181,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-12T10:39:15.440Z","etag":null,"topics":["cocoapod","cocoapods","codable","comma-separated-values","csv","ios","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pauljohanneskraft.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-18T17:30:36.000Z","updated_at":"2023-04-13T01:59:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"6c6d9956-1917-404a-9852-7581d5ada293","html_url":"https://github.com/pauljohanneskraft/CodableCSV","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/pauljohanneskraft/CodableCSV","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauljohanneskraft%2FCodableCSV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauljohanneskraft%2FCodableCSV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauljohanneskraft%2FCodableCSV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauljohanneskraft%2FCodableCSV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pauljohanneskraft","download_url":"https://codeload.github.com/pauljohanneskraft/CodableCSV/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauljohanneskraft%2FCodableCSV/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29976279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"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":["cocoapod","cocoapods","codable","comma-separated-values","csv","ios","swift"],"created_at":"2024-10-13T22:20:05.263Z","updated_at":"2026-03-01T17:32:50.234Z","avatar_url":"https://github.com/pauljohanneskraft.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![CodableCSV](https://user-images.githubusercontent.com/15239005/165396791-9bd01540-4327-4f39-9e23-988c7b0b5841.png)\n\nUse CodableCSV for JSON-like  CSV file parsing using the Codable protocols in Swift.\n\n## Custom coding options\n\nCustom coding options include that you can define the character separating values in one row, the delimiter separating rows from each other, as well as enclosures which ensure that values could potentially include the separator or delimiter characters (currently only support for separator available).\n\n### Sorting\n\nYou can define your own sorting order for header titles using a `CSVEncoder`. Simply put in a `(String, String) -\u003e Bool` closure defining a \u003c (less than) relation.\n\n### Encoding\n\nYou can put in your custom encoders and decoders for more complex data structures. For encoding custom nested types register a `(C) -\u003e String?` closure in your `CSVEncoder`. For decoding register a `(String) -\u003e C?` closure in your `CSVDecoder`. Use this for all types, which are not in the following list: `Bool, Int8, Int16, Int32, Int64, Int, UInt8, UInt16, UInt32, UInt64, UInt, String`.\n\n## Example\n\n```swift\nstruct Person: Codable {\n    var name: String\n    var age: Int\n}\n\nlet person0 = Person(name: \"Paul\", age: 22)\nlet person1 = Person(name: \"Peter\", age: 34)\n\nlet encoded: Data = CSVEncoder().encode([person0, person1])\n\nlet decoded: [Person] = CSVDecoder().decode(Person.self, from: encoded)\n```\n\n## Requirements\n\n## Installation\n\nCodableCSV is available through [CocoaPods](https://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'CodableCSV'\n```\n\n## Author\n\nPaul Kraft\n\n## License\n\nCodableCSV is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpauljohanneskraft%2Fcodablecsv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpauljohanneskraft%2Fcodablecsv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpauljohanneskraft%2Fcodablecsv/lists"}