{"id":13571723,"url":"https://github.com/GrayJack/janetrs","last_synced_at":"2025-04-04T08:32:06.997Z","repository":{"id":62441249,"uuid":"271666032","full_name":"GrayJack/janetrs","owner":"GrayJack","description":"Rust high level bindings for Janet","archived":false,"fork":false,"pushed_at":"2024-04-24T10:00:26.000Z","size":8600,"stargazers_count":58,"open_issues_count":3,"forks_count":3,"subscribers_count":5,"default_branch":"dev","last_synced_at":"2024-05-10T09:56:09.088Z","etag":null,"topics":["binding","bindings","janet","janet-lang","library","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/GrayJack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"GrayJack"}},"created_at":"2020-06-11T23:29:21.000Z","updated_at":"2024-06-07T20:10:51.178Z","dependencies_parsed_at":"2024-01-14T03:51:01.673Z","dependency_job_id":"d7c68860-cb74-4af4-9e3c-26eafe80265a","html_url":"https://github.com/GrayJack/janetrs","commit_stats":{"total_commits":453,"total_committers":2,"mean_commits":226.5,"dds":0.004415011037527616,"last_synced_commit":"e7ae175a83879849359dd54667f8c00d8ab61f01"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fjanetrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fjanetrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fjanetrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fjanetrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GrayJack","download_url":"https://codeload.github.com/GrayJack/janetrs/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247147599,"owners_count":20891732,"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","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":["binding","bindings","janet","janet-lang","library","rust","rust-lang"],"created_at":"2024-08-01T14:01:05.310Z","updated_at":"2025-04-04T08:32:01.985Z","avatar_url":"https://github.com/GrayJack.png","language":"Rust","funding_links":["https://github.com/sponsors/GrayJack"],"categories":["Rust"],"sub_categories":[],"readme":"# JanetRS\n\n[![Hits-of-Code](https://hitsofcode.com/github/grayjack/janetrs?branch=dev)](https://hitsofcode.com/view/github/grayjack/janetrs?branch=dev)\n[![Build Status](https://github.com/GrayJack/janetrs/workflows/Check%20and%20Test/badge.svg)](https://github.com/GrayJack/janetrs/actions)\n[![Crates.io](https://img.shields.io/crates/v/janetrs?logo=rust)](https://crates.io/crates/janetrs)\n[![Docs latest release](https://img.shields.io/static/v1?label=Docs\u0026message=latest\u0026color=blue\u0026logo=rust)](https://docs.rs/janetrs/)\n[![Docs dev branch](https://img.shields.io/static/v1?label=Docs\u0026message=dev\u0026color=lightgray\u0026logo=rust)](https://grayjack.github.io/janetrs/janetrs/index.html)\n[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENCE)\n\nA crate with high level bindings to Janet C API.\n\n## Goals\n\nProvide a safe and ergonomic interface to the Janet C API to create Janet\nclients and Janet modules/libraries using Rust.\n\nThis project still are in it's early stages, so breaking changes may happen,\nthere is no minimal supported Rust version (MSRV) yet.\n\nNotice that most doc tests will fail if the feature \"almagation\" or\n\"link-system\" aren't set, because most of then need the Janet runtime to\nfunction properly.\n\n## Cargo Features\n\n- `std`: Enable some trait impl for types that only exist on the `std` and the\n  Error trait\n- `unicode`: Enable more methods for JanetString and JanetBuffer\n- `inline-more`: More aggressive inlining\n- `amalgation`: Link the Janet runtime to the package, enabling to use the\n  client module\n- `unicode`: Enable some unicode methods for JanetString and JanetBuffer\n- `system`: Use system header to get Janet functions\n- `link-system`: Link the Janet runtime to the package from the system, enabling\n  to use the client module\n- `nightly`: Enable some parts of the crate that uses nightly features, to use\n  this feature you must compile the crate using a nightly rust version\n\n## Environment variables\n\n**These variables are only used when the `amalgation` feature is enabled**\n\nIt is possible to use environment variables to overwrite some Janet definitions.\n\n- `JANET_RECURSION_GUARD=\u003cinteger\u003e`\n- `JANET_MAX_PROTO_DEPTH=\u003cinteger\u003e`\n- `JANET_MAX_MACRO_EXPAND=\u003cinteger\u003e`\n- `JANET_STACK_MAX=\u003cinteger\u003e`\n\n## Licensing\n\nThis software is licensed under the terms of the\n[MIT Public License](./LICENSE).\n\n### TODO: Types: Lacking or Incomplete\n\n- [ ] Marshaling\n\n`[ ]: Lacking` `[I]: Incomplete` `[X]: Done`\n\nProbably there is much more missing, for that you can use the `lowlevel` module\nto access the raw C API of Janet\n\n### TODO: Lib level\n\n- Better docs.\n- Marshalling mechanism\n\n## Acknowledgments\n\n- [Calvin Rose](https://github.com/bakpakin) for creating this amazing language\n  called Janet\n- [andrewchambers](https://github.com/andrewchambers) for janet_ll crate and\n  discuss with us some ideas for the abstractions of this crate\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGrayJack%2Fjanetrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGrayJack%2Fjanetrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGrayJack%2Fjanetrs/lists"}