{"id":31530176,"url":"https://github.com/frictionlessdata/tableschema.jl","last_synced_at":"2025-10-04T01:19:07.664Z","repository":{"id":61801372,"uuid":"107080267","full_name":"frictionlessdata/TableSchema.jl","owner":"frictionlessdata","description":"A Julia library for working with Table Schema.","archived":false,"fork":false,"pushed_at":"2021-08-10T12:53:30.000Z","size":166,"stargazers_count":9,"open_issues_count":6,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-10-01T23:57:13.343Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","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}},"created_at":"2017-10-16T05:03:35.000Z","updated_at":"2025-06-30T15:56:56.000Z","dependencies_parsed_at":"2022-10-21T11:45:23.463Z","dependency_job_id":null,"html_url":"https://github.com/frictionlessdata/TableSchema.jl","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/frictionlessdata/TableSchema.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2FTableSchema.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2FTableSchema.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2FTableSchema.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2FTableSchema.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frictionlessdata","download_url":"https://codeload.github.com/frictionlessdata/TableSchema.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2FTableSchema.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278252153,"owners_count":25956252,"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-03T02:00:06.070Z","response_time":53,"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":[],"created_at":"2025-10-04T01:18:56.620Z","updated_at":"2025-10-04T01:19:07.654Z","avatar_url":"https://github.com/frictionlessdata.png","language":"Julia","readme":"# TableSchema.jl\n\n[![Travis](https://travis-ci.org/frictionlessdata/TableSchema.jl.svg?branch=master)](https://travis-ci.org/frictionlessdata/TableSchema.jl)\n[![Coveralls](http://img.shields.io/coveralls/frictionlessdata/TableSchema.jl.svg?branch=master)](https://coveralls.io/r/frictionlessdata/TableSchema.jl?branch=master)\n[![SemVer](https://img.shields.io/badge/versions-SemVer-brightgreen.svg)](http://semver.org/)\n[![Release](http://pkg.julialang.org/badges/JSON_1.0.svg)](http://pkg.julialang.org/?pkg=tableschema\u0026ver=1.0)\n[![Codebase](https://img.shields.io/badge/codebase-github-brightgreen)](https://github.com/frictionlessdata/tableschema-jl)\n[![Support](https://img.shields.io/badge/support-discord-brightgreen)](https://discordapp.com/invite/Sewv6av)\n\nA library for working with [Table Schema](http://specs.frictionlessdata.io/table-schema/) in Julia:\n\n\u003e Table Schema is a simple language- and implementation-agnostic way to declare a schema for tabular data. Table Schema is well suited for use cases around handling and validating tabular data in text formats such as CSV, but its utility extends well beyond this core usage, towards a range of applications where data benefits from a portable schema format.\n\n### Features\n\n- `Table` class for working with data and schema\n- `Schema` class for working with schemata\n- `Field` class for working with schema fields\n- `validate` function for validating schema descriptors\n- `infer` function that creates a schema based on a data sample\n\n### Status\n\n:construction: This package is pre-release and under heavy development. Please see [DESIGN.md](DESIGN.md) for a detailed overview of our goals, and visit the [issues page](https://github.com/frictionlessdata/TableSchema.jl/issues) to contribute and make suggestions. For questions that need to a real time response, reach out via [Gitter](https://gitter.im/frictionlessdata/chat). Thanks! :construction:\n\nWe aim to make this library compatible with all widely used approaches to work with tabular data in Julia.\n\nPlease visit [our wiki](https://github.com/frictionlessdata/DataPackage.jl/wiki) for a list of related projects that we are tracking, and contibute use cases there or as enhancement [issues](https://github.com/frictionlessdata/TableSchema.jl/issues).\n\n# Usage\n\nSee `examples` folder and unit tests in [runtests.jl](test/runtests.jl) for current usage.\n\n## Table\n\n```Julia\nusing TableSchema\n\ntable = Table(\"cities.csv\")\ntable.headers\n# ['city', 'location']\ntable.read(keyed=True)\n# [\n#   {city: 'london', location: '51.50,-0.11'},\n#   {city: 'paris', location: '48.85,2.30'},\n#   {city: 'rome', location: 'N/A'},\n# ]\nrows = table.source\n# 6×5 Array{Any,2}:\n#   \"id\"    \"height\"   \"age\"  \"name\"     \"occupation\"         \n#  1      10.0        1       \"string1\"  \"2012-06-15 00:00:00\"\n#  2      10.1        2       \"string2\"  \"2013-06-15 01:00:00\"\n# ...\nerr = table.errors # handle errors\n...\n```\n\n## Schema\n\n```Julia\nschema = Schema(\"schema.json\")\nschema.fields\n# \u003cField1, Field2...\u003e\nerr = schema.errors # handle errors\n```\n\n## Field\n\nAdd fields to create or expand your schema like this:\n\n```Julia\nschema = Schema()\nfield = Field()\nfield.descriptor._name = \"A column\"\nfield.descriptor.typed = \"Integer\"\nadd_field(schema, field)\n```\n\n## Installation\n\n:construction: Work In Progress. The following documentation is relevant only after package release. In the interim, please see [DataPackage.jl](https://github.com/frictionlessdata/DataPackage.jl)\n\nThe package use semantic versioning, meaning that major versions could include breaking changes. It is highly recommended to specify a version range in your `REQUIRE` file e.g.:\n\n```\nv\"0.0.1-\" \u003c= TableSchema \u003c v\"1.0.0-\"\n```\n\nAt the Julia REPL, install the package with:\n\n`(v1.0) pkg\u003e add \"https://github.com/loleg/TableSchema.jl\"`\n\n## Development\n\nCode examples here require **Julia 0.7**, as we are now migrating to Julia 1.0. See [Pkg documentation](https://docs.julialang.org/en/v1.0.0/stdlib/Pkg/#Creating-your-own-packages-1) for further information.\n\nClone this repository, enter the REPL (press `]` at the Julia prompt) to activate and test it using:\n\n```\ncd \u003cpath-to-my-folder\u003e/TableSchema.jl\njulia\n# Press ]\n(v1.0) pkg\u003e activate .\n(TableSchema) pkg\u003e test\n```\n\nYou can also install the package locally and run unit tests from the console:\n\n```\n(v1.0) pkg\u003e add .\njulia test/runtests.jl\n```\n\nA new feature of Julia's package manager is the **dev** command. To get a copy of this package installed into your `~/.julia` folder and updated with every change, use:\n\n`(v1.0) pkg\u003e dev TableSchema`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrictionlessdata%2Ftableschema.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrictionlessdata%2Ftableschema.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrictionlessdata%2Ftableschema.jl/lists"}