{"id":31530182,"url":"https://github.com/frictionlessdata/tableschema-java","last_synced_at":"2026-03-07T10:31:45.223Z","repository":{"id":21423077,"uuid":"92710283","full_name":"frictionlessdata/tableschema-java","owner":"frictionlessdata","description":"A Java library for working with Table Schema.","archived":false,"fork":false,"pushed_at":"2025-11-05T15:48:35.000Z","size":1408,"stargazers_count":27,"open_issues_count":6,"forks_count":21,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-11-05T17:33:18.555Z","etag":null,"topics":["csv","frictionlessdata","java","java-8","java8","json","json-schema","table-schema","tableschema-java"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/frictionlessdata.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-29T05:43:53.000Z","updated_at":"2025-11-05T15:48:39.000Z","dependencies_parsed_at":"2025-03-04T13:36:57.114Z","dependency_job_id":"316bd0f1-ea4a-4862-a40e-9718c1ffbbc9","html_url":"https://github.com/frictionlessdata/tableschema-java","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/frictionlessdata/tableschema-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ftableschema-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ftableschema-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ftableschema-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ftableschema-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frictionlessdata","download_url":"https://codeload.github.com/frictionlessdata/tableschema-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ftableschema-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30212048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"last_error":"SSL_read: 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":["csv","frictionlessdata","java","java-8","java8","json","json-schema","table-schema","tableschema-java"],"created_at":"2025-10-04T01:18:58.774Z","updated_at":"2026-03-07T10:31:45.190Z","avatar_url":"https://github.com/frictionlessdata.png","language":"Java","readme":"# tableschema-java\n\n[![License](https://img.shields.io/github/license/frictionlessdata/tableschema-java.svg)](https://github.com/frictionlessdata/tableschema-java/blob/master/LICENSE)\n[![Release](https://img.shields.io/jitpack/v/github/frictionlessdata/tableschema-java)](https://jitpack.io/#frictionlessdata/tableschema-java)\n[![Codebase](https://img.shields.io/badge/codebase-github-brightgreen)](https://github.com/frictionlessdata/tableschema-java)\n[![Support](https://img.shields.io/badge/support-discord-brightgreen)](https://discordapp.com/invite/Sewv6av)\n\nA Java library for working with Table data. \n**tableschema-java** is a library aimed at parsing CSV and JSON-Array documents into live Java objects according \nto [Table Schema](https://frictionlessdata.io/specs/table-schema/), a format definition based on \n[JSON Schema](https://json-schema.org/understanding-json-schema/).\n\nIt allows you to read and write tabular data with assurances to format integrity (it also allows reading and writing\nCSV free-form, ie. without a Schema). And finally, it converts Java POJOs to and from CSV, similar to Jackson for JSON \n(mostly).\n\nIt was conceived by the guys at [Frictionless Data](frictionlessdata.io)\n\nPlease find releases on [Jitpack](https://jitpack.io/#frictionlessdata/tableschema-java)\n\n## Usage\n\nOK, enough of the PR, how do I actually use that thing. It's not like you are the only CSV parser, \nso show me the goods.\n- [Reading data](docs/table-reading.md) explains various ways of reading data\n  - [Via Java Beans](docs/table-reading.md#reading-tabular-data-the-java-way) for minimal friction \n       if you already have a domain model\n  - [Without a Schema](docs/table-reading.md#reading-tabular-data-without-a-schema) Read as String arrays and without \n         format integrity assurance\n  - [With a Schema](docs/table-reading.md#reading-tabular-data-using-a-schema) Read as converted Java object arrays with\n    format integrity assurance\n- [Writing data](docs/table-writing.md) explains various ways of writing data\n- [Creating a Schema](docs/creating-schemas.md) shows ways of creating a Table Schema from scratch or from example data\n- [Datapackages](https://github.com/frictionlessdata/datapackage-java) documentation on Datapackages to distribute \n    data sets as self-contained units\n- [Key contraints](docs/key-constraints.md) details ways of working with key constraints\n- Validating data: Parsing string data to Field values (casting)\n    - [Row Casting](docs/casting.md#row-casting) to check String arrays against a Schema\n    - [Field Casting](docs/casting.md#field-casting) to check Strings  against a Field definition\n- [Javadoc](docs/javadoc/allclasses-index.html)\n\n## Contributing\n\nFound a problem and would like to fix it? Have that great idea and would love to see it in the repository?\n\n\u003e [!NOTE]\n\u003e Please open an issue before you start working.\n\nIt  saves a lot of time for everyone, and we are super happy to answer questions and help you along the way. \nFurthermore, feel free to join [frictionlessdata Gitter chat room](https://gitter.im/frictionlessdata/chat) \nand ask questions.\n\nThis project follows the [Open Knowledge International coding standards](https://github.com/okfn/coding-standards).\n\nGet started:\n```sh\n# install Java 17 or higher (use Jabba if you need to test on different versions) and maven2\n$ cd tableschema-java\n$ jabba install 17\n$ jabba use 17\n$ mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V\n$ mvn test -B\n```\n\nMake sure all tests pass.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrictionlessdata%2Ftableschema-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrictionlessdata%2Ftableschema-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrictionlessdata%2Ftableschema-java/lists"}