aureliusxyz/automl

automl, a handrolled 0 dependency zig toml parser

Zig

2

12 commits

updated Aug 16, 2026

See the code

README

AUTOML

Made with Zig Status

Automl is a toml-like parser for xpk, and can generally be used as a drop-in library. there is a very small documentation about this, so i'd rather you read the code.

If anything,its desined to not be 100% like toml, and a more ergonomic. Upcoming changes:

  • multierror display with better hints.
  • schema aware validation (for the multi errors kinda)
  • flags (for metadata)
  • validation rules
  • redaction aware (uses flags)
  • add more toml specific things, and even some other things.
  • round trip editing (atomic)

    this is basically a big twisting point on why automl and not 100% toml, its gonna be able to directly mutate values too, other then just parse.

License

automl uses the 2-Clause BSD License. More info about it at: https://opensource.org/license/bsd-2-clause

Verifying releases

[!IMPORTANT] automl releases are signed with my key, if they are not signed with them they are not my releases

aurelius (automl maintainer and owner)

Fingerprint: 7194 59C4 0E06 BCD8 7785 528F 48DC 1015 5AE4 87B5

Fetch via:
gpg --keyserver keys.openpgp.org --recv-keys 719459C40E06BCD87785528F48DC10155AE487B5

Or view directly:
https://keys.openpgp.org/search?q=719459C40E06BCD87785528F48DC10155AE487B5

A release signed by either key should be considered valid. If you notice a release signed by a key not listed here, treat it as untrusted and please open an issue, although this shan't happen.

Getting Started

zig fetch --save git+https://github.com/aureliusxyz/automl

in a repo of your choice, and

exe.root_module.addImport("automl", automl.module("automl"));

const automl = b.dependency("automl", .{
    .target = target,
});

in your build.zig, or even another library!

Documentation

At the moment, automl is not well documented at all. However, you can run:

scripts/setup-docs.sh && scripts/build-docs.sh 

to initialize docs locally, in the near future they will be hosted on a website for easier viewing, just read the damn code, its much easier to makeout what i mean, specifically basic usage in src/root.zig

How can I say thanks?

Open up more issues since 49 tests are not enough, and visit xpk repo

toml-parser
zig
zig-library

aureliusxyz/automl

automl, a handrolled 0 dependency zig toml parser

Zig

2

12 commits

updated Aug 16, 2026

See the code

README

AUTOML

Made with Zig Status

Automl is a toml-like parser for xpk, and can generally be used as a drop-in library. there is a very small documentation about this, so i'd rather you read the code.

If anything,its desined to not be 100% like toml, and a more ergonomic. Upcoming changes:

  • multierror display with better hints.
  • schema aware validation (for the multi errors kinda)
  • flags (for metadata)
  • validation rules
  • redaction aware (uses flags)
  • add more toml specific things, and even some other things.
  • round trip editing (atomic)

    this is basically a big twisting point on why automl and not 100% toml, its gonna be able to directly mutate values too, other then just parse.

License

automl uses the 2-Clause BSD License. More info about it at: https://opensource.org/license/bsd-2-clause

Verifying releases

[!IMPORTANT] automl releases are signed with my key, if they are not signed with them they are not my releases

aurelius (automl maintainer and owner)

Fingerprint: 7194 59C4 0E06 BCD8 7785 528F 48DC 1015 5AE4 87B5

Fetch via:
gpg --keyserver keys.openpgp.org --recv-keys 719459C40E06BCD87785528F48DC10155AE487B5

Or view directly:
https://keys.openpgp.org/search?q=719459C40E06BCD87785528F48DC10155AE487B5

A release signed by either key should be considered valid. If you notice a release signed by a key not listed here, treat it as untrusted and please open an issue, although this shan't happen.

Getting Started

zig fetch --save git+https://github.com/aureliusxyz/automl

in a repo of your choice, and

exe.root_module.addImport("automl", automl.module("automl"));

const automl = b.dependency("automl", .{
    .target = target,
});

in your build.zig, or even another library!

Documentation

At the moment, automl is not well documented at all. However, you can run:

scripts/setup-docs.sh && scripts/build-docs.sh 

to initialize docs locally, in the near future they will be hosted on a website for easier viewing, just read the damn code, its much easier to makeout what i mean, specifically basic usage in src/root.zig

How can I say thanks?

Open up more issues since 49 tests are not enough, and visit xpk repo

toml-parser
zig
zig-library