Skip to main content

Object Record Table - a CSV like structured data format with native object and array support.

Project description

Object Record Table (ORT)

ORT is a CSV-like structured data format with native support for objects and arrays.
Unlike inefficient human-readable data structures, ORT efficiently represents data, making it ideal for large language model (LLM) token optimization and structured data interchange.

[!TIP] ORT was inspired by Token-Oriented Object Notation (TOON) and was created to contribute to the open-source ecosystem and the advancement of LLMs.
Thank you, TOON.


Table of Contents


Why ORT

Standard JSON and YAML prioritize human readability, but their structural characteristics introduce significant computational overhead when passing data to large language models. ORT addresses this by optimizing data representation for token efficiency.

JSON

{
  "users": [
    {
      "id": 1,
      "profile": {
        "name": "John Doe",
        "age": 30,
        "address": {
          "city": "New York",
          "country": "USA"
        }
      }
    },
    {
      "id": 2,
      "profile": {
        "name": "Jane Smith",
        "age": 25,
        "address": {
          "city": "London",
          "country": "UK"
        }
      }
    }
  ]
}

398 Characters / 118 Tokens

Compact-JSON

{"users":[{"id":1,"profile":{"name":"John Doe","age":30,"address":{"city":"New York","country":"USA"}}},{"id":2,"profile":{"name":"Jane Smith","age":25,"address":{"city":"London","country":"UK"}}}]}

198 Characters / 58 Tokens

ORT

users:id,profile(name,age,address(city,country)):
1,(John Doe,30,(New York,USA))
2,(Jane Smith,25,(London,UK))

110 Characters / 35 Tokens


When Not to Use ORT

ORT is not always the optimal choice. Consider using JSON in the following scenarios:

  • Non-uniform data structures: ORT operates efficiently and reliably with uniform data structures. For heterogeneous data, JSON is more efficient and prevents data loss.
  • Direct application data files: ORT is not optimized for direct input/output operations. Since ORT specializes in data transformation and processing, using JSON for application data files offers better compatibility and stability.

Command-Line Tools

The Rust implementation provides CLI utilities for converting between ORT and JSON formats:

ort2json <input_file>
json2ort <input_file>

# Or with output file specification

ort2json <input_file> -o <output_file>
json2ort <input_file> -o <output_file>

Installation

CLI

cargo install ort-rs

Rust Library

Add to your Cargo.toml:

[dependencies]
ort-rs = "1.0.0"

TypeScript Library

npm i ort-ts

Python Library

pip install ort-python

Package Links


License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ort_python-1.0.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ort_python-1.0.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file ort_python-1.0.0.tar.gz.

File metadata

  • Download URL: ort_python-1.0.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ort_python-1.0.0.tar.gz
Algorithm Hash digest
SHA256 efa5481dda9c296fe6ab703aff644199e8fa76f485ff12d8ac694cb644ffd5b6
MD5 8f0005bd732380896fb0fe44fc98afd3
BLAKE2b-256 b6c7c1019e7c491c373c54e0a5f7b1f01c2d7cb1b1ef7305e0390abf92be82e4

See more details on using hashes here.

File details

Details for the file ort_python-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ort_python-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ort_python-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f808ed1f7c66c6cbec6bb678bd524b49cb1b814161b75af3c0c3967e4a2f4bf
MD5 fa8a9e197f82b469c0bae39d9302de62
BLAKE2b-256 b1999691b79edaa4afd76c3d92268ff5a1fa4c7f1305dd6db153d92a5ed452b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page