Skip to main content

A Python implementation of JCOF: JSON-like Compact Object Format

Project description

pyJCOF

A Python implementation of JCOF: JSON-like Compact Object Format

Code style Pylint License PyPi pipeline status

For an explanation on what JCOF is, please see https://github.com/mortie/jcof. This README does not explain the semantics of JCOF or its syntax.

Table of contents


📦 Installation

pyJCOF is available on PyPi. It requires a Python version of at least 3.10.0. and depends on no packages.

To install pyJCOF with pip:

python -m pip install jcof

The package name is jcof, not pyjcof.

To install pyJCOF through Git:

python -m pip install git+https://gitlab.com/whoatemybutter/pyjcof.git

🛠 Usage

pyJCOF functions are similar to json. Use jcof.dumps for converting Python values to JCOF, and use jcof.loads for converting JCOF to Python values.

Use dump and load for dealing with files rather than objects.

import jcof

example = {
    "people": [
        {"first-name": "Bob", "age": 32, "occupation": "Plumber", "full-time": True},
        {
            "first-name": "Alice",
            "age": 28,
            "occupation": "Programmer",
            "full-time": True,
        },
        {"first-name": "Bernard", "age": 36, "occupation": None, "full-time": None},
        {"first-name": "El", "age": 57, "occupation": "Programmer", "full-time": False},
    ]
}

dumped = jcof.dumps(example)
# 'Programmer;"age""first-name""full-time""occupation";{"people"[(0,iw"Bob"b"Plumber")(0,is"Alice"b,s0)(0,iA"Bernard"n,n)(0,iV"El"B,s0)]}'

assert jcof.loads(dumped) == example
# Returns nothing; True

📰 Changelog

The changelog is at CHANGELOG.md.


📜 License

pyJCOF is licensed under GNU General Public License 3.0 or later.

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

jcof-1.0.1.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

jcof-1.0.1-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file jcof-1.0.1.tar.gz.

File metadata

  • Download URL: jcof-1.0.1.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for jcof-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0a93be33c5155e613ee7b8049bfddb998aa4fe231918dcc5fe9a7fab63ef0bad
MD5 e2b0219d2151ad196d152253fa150b06
BLAKE2b-256 494244435bb7d2147609656de6cdf8e637a0d475ceb18ae593c616a7fb7b9785

See more details on using hashes here.

File details

Details for the file jcof-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: jcof-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for jcof-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20bcf855e254781211886104f6da5992926ac27acc92c2ad4ff97381dcb2c11c
MD5 bd1caa60ea7bfeafb1f7158a00e6eca5
BLAKE2b-256 1ed3a49253bea4a2492be37bea5bf2a2a0da7a415a64ae9e781850d785ee422c

See more details on using hashes here.

Supported by

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