{"id":17157298,"url":"https://github.com/eksperimental/beam_meta","last_synced_at":"2025-04-13T13:24:27.220Z","repository":{"id":57479519,"uuid":"433806381","full_name":"eksperimental/beam_meta","owner":"eksperimental","description":null,"archived":false,"fork":false,"pushed_at":"2022-02-11T19:15:39.000Z","size":250,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T04:22:50.967Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eksperimental.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSES/LICENSE.0BSD.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-01T11:51:34.000Z","updated_at":"2023-08-13T22:13:15.000Z","dependencies_parsed_at":"2022-09-18T05:45:13.602Z","dependency_job_id":null,"html_url":"https://github.com/eksperimental/beam_meta","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eksperimental%2Fbeam_meta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eksperimental%2Fbeam_meta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eksperimental%2Fbeam_meta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eksperimental%2Fbeam_meta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eksperimental","download_url":"https://codeload.github.com/eksperimental/beam_meta/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248718879,"owners_count":21150651,"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":[],"created_at":"2024-10-14T22:08:46.493Z","updated_at":"2025-04-13T13:24:27.194Z","avatar_url":"https://github.com/eksperimental.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BeamMeta\n\n## Introduction\n\n`BeamMeta` is a library to programmatically get information related to BEAM languages.\n\nCurrently Elixir and Erlang/OTP are supported. More languages will be added if there's interest.\n\nThe library is divided into the following namespaces:\n\n### BeamMeta.Compatibility\n\nProvides compatibility between [`Elixir and Erlang/OTP`](`BeamMeta.Compatibility.OtpElixir`) versions.\n\nThe [`Compatibility.OtpElixir`](`BeamMeta.Compatibility.OtpElixir`) submodule has functions for returning the compatibility table, Elixir and OTP releases, and also the [`compatible?/2`](`BeamMeta.Compatibility.OtpElixir.compatible?/2`) helper than tells you whether and OTP and an Elixir release are compatible.\n\n### BeamMeta.Release\n\nProvides information related to releases such as published versions, release condidates, latest Elixir version, etc.\n\nThe [`Release`](`BeamMeta.Release`) submodule provides guards such as [`is_elixir_version/1`](`BeamMeta.Release.is_elixir_version/1`) or [`is_otp_version/1`](`BeamMeta.Release.is_otp_version/1`) amongst others.\n\n- `BeamMeta.Release.Elixir` provides functions such as:\n  - [`latest_version/0`](`BeamMeta.Release.Elixir.latest_version/0`)\n  - [`final_releases/0`](`BeamMeta.Release.Elixir.final_releases/0`)\n  - [`prereleases/0`](`BeamMeta.Release.Elixir.prereleases/0`)\n  - [`release_data/0`](`BeamMeta.Release.Elixir.release_data/0`) which lists all the information in the JSON file provided by the `BeamLangsMetaData` in a nicely formatted structure;\n  - [`release_data/2`](`BeamMeta.Release.Elixir.release_data/2`) which accepts a `t:Version.requirement/0` allowing you to filter the return values.\n\n- `BeamMeta.Release.Otp` provides functions such as:\n  - [`latest_version/0`](`BeamMeta.Release.Otp.latest_version/0`)\n  - [`final_releases/0`](`BeamMeta.Release.Otp.final_releases/0`)\n  - [`release_data/0`](`BeamMeta.Release.Otp.release_data/0`) which lists all the information in the JSON file provided by the `BeamLangsMetaData` in a nicely formatted structure;\n  - [`release_data/2`](`BeamMeta.Release.Otp.release_data/2`) which accepts a `t:Version.requirement/0` allowing you to filter the return values.\n\nAdditionally, there is a sister library called `BeamLangsMetaData` which contains the\nup-to-date data and the one on which this library builds on such as the compatibility tables,\nand release information. The source code can be found at: \u003chttps://github.com/eksperimental/beam_langs_meta_data\u003e\n\n\n## Important Notice\n\nDue to the nature of the project and since we have not reached `v1.0` yet, only the latest `v0.MINOR` version will be update with the latest meta-data. Older packages will be [retired](`Mix.Tasks.Hex.Retire`) and you will get a warning when using them indicating that you need to update your library.\n\n## Repository and Packages\n\nThis source code is freely available at \u003chttps://github.com/eksperimental/beam_meta\u003e\n\nPackages are regularly updated.\nAll published packages can be found on Hex: \u003chttps://hex.pm/packages/beam_meta\u003e\n\n\n## Documentation\n\nOnline documentation can be found at \u003chttps://hexdocs.pm/beam_meta\u003e\n\n\n## Installation\n\nThe package can be installed by adding `beam_meta` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:beam_meta, \"~\u003e 0.2.1\"},\n  ]\nend\n```\n\n\n## Feature Requests\n\nFeel free to open up an issue \u003chttps://github.com/eksperimental/beam_meta/issues\u003e with your request.\n\n\n## Development\n\nRun `git clone` install the repository locally. You can run the following tasks by running:\n\n- `mix setup`\n- `mix validate`\n- `mix all`\n\nRun tests by executing:\n`mix test`\n\n\n## Road Map\n\n1. Automatic package publishing on every OTP and Elixir new release.\n2. Detect update if the release data gets updated. This feature depends on `BeamLangsMetaData`, but it is planned to be included.\n\n## Contact\n\nEksperimental \u003ceskperimental (at) autistici (dot) org\u003e\n\n\n## License\n\nNo Copyright\n\nThis work is released to the\n[Public Domain](https://creativecommons.org/publicdomain/mark/1.0/) and multi-licensed under the\n[Creative Commons Zero Universal version 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/),\nthe [MIT No Attribution license](https://spdx.org/licenses/MIT-0.html),\nand the [BSD Zero Clause license](https://opensource.org/licenses/0BSD).\n\nYou can choose between one of them if you use this work.\n\nThe author, [Eksperimental](https://github.com/eksperimental) has dedicated the work to the\npublic domain by waiving all copyright and related or neighboring rights to this work worldwide\nunder copyright law including all related and neighboring rights, to the extent allowed by law.\n\nYou can copy, modify, distribute and create derivative work, even for commercial purposes, all\nwithout asking permission. Giving credits is appreciated though;\nyou may link to this repository if you wish.\n\n\u003cp xmlns:dct=\"https://purl.org/dc/terms/\"\u003e\n  \u003ca rel=\"license\" href=\"https://creativecommons.org/publicdomain/mark/1.0/\"\u003e\n    \u003cimg src=\"https://i.creativecommons.org/p/mark/1.0/88x31.png\"\n       style=\"border-style: none;\" alt=\"Public Domain Mark\" /\u003e\n  \u003c/a\u003e\u003cbr /\u003e\n  \u003ca rel=\"license\"\n     href=\"https://creativecommons.org/publicdomain/zero/1.0/\"\u003e\n    \u003cimg src=\"https://i.creativecommons.org/p/zero/1.0/88x31.png\" style=\"border-style: none;\" alt=\"Creative Commons Zero\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nCheck the [LICENSES/LICENSE.CC0-1.0.txt](LICENSES/LICENSE.CC0-1.0.txt),\n[LICENSES/LICENSE.MIT-0.txt](LICENSES/LICENSE.MIT-0.txt),\n[LICENSES/LICENSE.0BSD.txt](LICENSES/LICENSE.0BSD.txt) files for more information.\n\n`SPDX-License-Identifier: CC0-1.0 or MIT-0 or 0BSD`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feksperimental%2Fbeam_meta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feksperimental%2Fbeam_meta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feksperimental%2Fbeam_meta/lists"}