{"id":15068773,"url":"https://github.com/decorators-squad/eo-yaml","last_synced_at":"2025-05-15T17:08:54.911Z","repository":{"id":38303237,"uuid":"77525014","full_name":"decorators-squad/eo-yaml","owner":"decorators-squad","description":"YAML for Java 8 and above. A user-friendly OOP library. Previously known as \"Camel\".","archived":false,"fork":false,"pushed_at":"2024-11-13T12:06:37.000Z","size":1884,"stargazers_count":268,"open_issues_count":19,"forks_count":53,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-07T22:11:07.695Z","etag":null,"topics":["elegantobjects","java8","java9","module","oop-library","parsing","yaml"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/decorators-squad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":{"custom":"https://paypal.me/amihaiemil","github":"amihaiemil"}},"created_at":"2016-12-28T10:34:25.000Z","updated_at":"2025-01-19T17:06:15.000Z","dependencies_parsed_at":"2023-12-20T12:49:33.477Z","dependency_job_id":"1cec608e-9047-49ab-8f67-1f3676135e6c","html_url":"https://github.com/decorators-squad/eo-yaml","commit_stats":null,"previous_names":["amihaiemil/camel"],"tags_count":68,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decorators-squad%2Feo-yaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decorators-squad%2Feo-yaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decorators-squad%2Feo-yaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decorators-squad%2Feo-yaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decorators-squad","download_url":"https://codeload.github.com/decorators-squad/eo-yaml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384989,"owners_count":22062422,"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":["elegantobjects","java8","java9","module","oop-library","parsing","yaml"],"created_at":"2024-09-25T01:39:13.662Z","updated_at":"2025-05-15T17:08:54.863Z","avatar_url":"https://github.com/decorators-squad.png","language":"Java","funding_links":["https://paypal.me/amihaiemil","https://github.com/sponsors/amihaiemil"],"categories":["\u003ca name=\"Java\"\u003e\u003c/a\u003eJava"],"sub_categories":[],"readme":"# eo-yaml\n\u003cimg alt=\"eo-yaml-logo\" src=\"http://www.amihaiemil.com/images/camila2.png\" width=\"120\" height=\"70\"/\u003e\n\n[![Coverage Status](https://coveralls.io/repos/github/decorators-squad/eo-yaml/badge.svg?branch=master)](https://coveralls.io/github/decorators-squad/eo-yaml?branch=master)\n\n[![Managed By Self XDSD](https://docs.self-xdsd.com/img/mbself.svg)](https://self-xdsd.com/p/decorators-squad/eo-yaml?provider=github) \n[![DevOps By Rultor.com](http://www.rultor.com/b/decorators-squad/eo-yaml)](http://www.rultor.com/p/decorators-squad/eo-yaml)\n[![We recommend IntelliJ IDEA](http://amihaiemil.github.io/images/intellij-idea-recommend.svg)](https://www.jetbrains.com/idea/)\n[![OpenJDK Quality Outreach](https://amihaiemil.com/images/openjdk_quality_outreach.svg)](https://wiki.openjdk.java.net/display/quality/Quality+Outreach)\n\n\u003ca href=\"https://www.yegor256.com/2019/11/03/award-2020.html\"\u003e\n  \u003cimg src=\"https://www.yegor256.com/images/award/2020/winner-amihaiemil.png\" height=\"45\" alt='winner'/\u003e\n\u003c/a\u003e\n\nYAML for Java 8 and above. Based on [spec 1.2](http://www.yaml.org/spec/1.2/spec.html).\n\nFrom the [specification](http://yaml.org/spec/1.2/spec.html): **YAML™** is a human-friendly, cross language, Unicode based data serialization language.\n\nTo get the latest release from Maven Central, simply add the following to your ``pom.xml``: \n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.amihaiemil.web\u003c/groupId\u003e\n    \u003cartifactId\u003eeo-yaml\u003c/artifactId\u003e\n    \u003cversion\u003e8.0.6\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nor download the \u003ca href=\"https://oss.sonatype.org/service/local/repositories/releases/content/com/amihaiemil/web/eo-yaml/8.0.6/eo-yaml-8.0.6-jar-with-dependencies.jar\"\u003efat\u003c/a\u003e jar.\n\nIf you use Gradle, add this to your dependencies:\n\n```gradle\nimplementation group: 'com.amihaiemil.web', name: 'eo-yaml', version: '8.0.6'\n```\n\nThe releases are also available on [Github Packages](https://github.com/decorators-squad/eo-yaml/packages)!\n\n## Usage\n\nThe API of this library is clean, intuitive and generally close to the ``javax.json`` API that most developers are used to.\nJust start from the ``com.amihaiemil.eoyaml.Yaml`` class, it offers all the builders and readers you may need.\n\nSee the [Block Style Yaml](https://github.com/decorators-squad/eo-yaml/wiki/Block-Style-YAML) wiki for a first glance.\n\n## Features detailed (ongoing work!)\n\nHere is what we have so far:\n\n* Building and Reading Block YAML ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Block-Style-YAML));\n* Flow-style/JSON-Like representation ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Flow-Style-(JSON%E2%80%90like)-YAML));\n* Support for Folded and Literal Block Scalars ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Folded-and-Literal-Block-Scalars));\n* Convenience Type-Casting Methods ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Convenience-Type-Casting-Methods));\n* Support for Comments ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Support-For-Comments));\n* Convenient ``YamlPrinter`` ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/YAML-Printer));\n* Easy Extension Thanks to Interfaces ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Easy-Extension-Via-Interfaces));\n* Building and Reading YAML Streams, integrated with Java 8's Stream API ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/YAML-Streams));\n* Java Beans to YAML ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/Java-Bean-To-YAML));\n* JSON to/from YAML ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/JSON-to-or-from-YAML));\n* YAML Visitor ([wiki](https://github.com/decorators-squad/eo-yaml/wiki/YAML-Visitor));\n* Others:\n    - Clear and detailed Exceptions. For instance, in the case of bad indentation, it will tell you exactly which line is problematic and why.\n    - Fully encapsulated. The user works only with a few Java Interfaces.\n    - All objects are immutable and thread-safe.\n    - It can be used as a **Java Module** (if you're on JDK 9+).\n    - It is **lightweight**! It has 0 dependencies.\n\nHere is what we're **still missing and working on**:\n\n* Aliases, anchors and tags\n* YAML to Java Bean\n\n**Keep in mind** that the library is based on interfaces and OOP best practices, so you can probably extend/decorate the objects in order to create the functionality you need, if it's not yet implemented. \n\nIf you have some time and like the library, please consider contributing. \n\n## Contribute\n\nContributors are welcome!\n\n1. Open an issue regarding an improvement you thought of, or a bug you noticed, or ask to be assigned to an existing one.\n2. If the issue is confirmed, fork the repository, do the changes on a separate branch and make a Pull Request.\n3. After review and acceptance, the PR is merged and closed.\n\nMake sure the maven build\n\n``$ mvn clean install -Pcheckstyle,itcases``\n\n**passes before making a PR**. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecorators-squad%2Feo-yaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecorators-squad%2Feo-yaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecorators-squad%2Feo-yaml/lists"}