Skip to main content

A cute, declarative config language with fail-fast behavior and optional type safety.

Project description

・゚ Yumly ・゚

⚠️ Warning — subject to changes.

Yumly is a cute, declarative configuration language with fail-fast behavior and optional type safety, blending elements from many configuration formats and some ideas from my head.

Hey! New here? Check my Documentation Home for a starter guide!


✿ What's in Yumly?

  • No indentation — blocks delimited by { } allowing flexible organization
  • Optional type hints — you can declare intent UwU
  • Fail-fast — syntax and validation errors are raised immediately with cute cute messages
  • No overwriting — duplicate keys and bindings are not allowed.
  • Native env vars$["VAR"] and include { ".env" } are first class ;)
  • Readable — it's easy to read and understand ^_^
  • Extensions .yumly and .yuy (it's so cute!!)
Why i created Yumly
  1. I created Yumly for fun — I had never built a parser before. I wanted something simple and special to use in my own projects.
  2. Yumly mixes ideas from many formats, but initially YAML and JSON, but tries to be more explicit, safe.
  3. I know the “cuteness” and personality won’t be for everyone — and that’s okay.
  4. I also wanted to learn Nim and avoid going down the “Holy C” path.

✿ Syntax & Features

For the complete syntax, see:

✿ Quick Start

Python

pip install yumly
from yumly import Yumly
data = Yumly().load("config.yumly")

Hey!, check out the Python Usage Guide for more.

Nim

git clone https://github.com/Creeper011/Yumly
cd Yumly/
nimble install --path:. # not published on Nimble yet
import Yumly
let config = loadYumly("config.yumly")

Hey!, check out the Nim Usage Guide for more.

Nix / NixOS (For the Yumly CLI ✨)

nix profile add github:Creeper011/Yumly

✿ Development & Tools

✿ Additional Information:

  • This is a super personal project with open code. Contributions are welcome, but theres no guarantee of support or roadmap. use it, enjoy it, and if something breaks, open an issue ♡

★ License ★

MIT — see LICENSE.

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

yumly-0.9.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distributions

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

yumly-0.9.0-py3-none-win_amd64.whl (273.9 kB view details)

Uploaded Python 3Windows x86-64

yumly-0.9.0-py3-none-manylinux_2_28_x86_64.whl (206.0 kB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

yumly-0.9.0-py3-none-macosx_11_0_arm64.whl (152.8 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file yumly-0.9.0.tar.gz.

File metadata

  • Download URL: yumly-0.9.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yumly-0.9.0.tar.gz
Algorithm Hash digest
SHA256 862306e33b35272b15ecce3164bf414ee61e89789bcb3c0918a77be65bf005e0
MD5 cf33db3438588ac37d244cf556a6b26f
BLAKE2b-256 77ea857347896b2361fb315518988d31c8fb22a9c7bb90a4f3549cc2e86df9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for yumly-0.9.0.tar.gz:

Publisher: release.yml on Creeper011/Yumly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yumly-0.9.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: yumly-0.9.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 273.9 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yumly-0.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2a45cc09ce38c690279bee66613418589dca14485f0f88c2c691e06a46c65864
MD5 b7ba3d60d387453a7e937e4229496c50
BLAKE2b-256 fb39cf9a3b9638c89d67c8aed3c566796c7b0997b1f1013545bad0f7112c6c67

See more details on using hashes here.

Provenance

The following attestation bundles were made for yumly-0.9.0-py3-none-win_amd64.whl:

Publisher: release.yml on Creeper011/Yumly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yumly-0.9.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: yumly-0.9.0-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 206.0 kB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yumly-0.9.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de726689beb9c25576505908393e8a2aeeaafd8e6b6237e30a20c9084ca481f5
MD5 8bf8a224cd513813a52a655fd3b002f7
BLAKE2b-256 42f8a6faaf41af557cfad02fdfe47e7e2d975a4784673cc0c2e64172284f3301

See more details on using hashes here.

Provenance

The following attestation bundles were made for yumly-0.9.0-py3-none-manylinux_2_28_x86_64.whl:

Publisher: release.yml on Creeper011/Yumly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yumly-0.9.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: yumly-0.9.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 152.8 kB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yumly-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2609ea35f77e955c42d59c4f6c5bfde9323c0b2cd62ec285f393a4be13c1a96e
MD5 4e6e86ae33c648e69fb98bb76e29fc2e
BLAKE2b-256 7224b5002c0a488d539aa146507ebff33cc6fbb3d0d8b6adb20bce1a51c0e296

See more details on using hashes here.

Provenance

The following attestation bundles were made for yumly-0.9.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on Creeper011/Yumly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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