{"id":15639930,"url":"https://github.com/janstenpickle/extruder","last_synced_at":"2025-08-02T01:09:44.119Z","repository":{"id":49929623,"uuid":"78059928","full_name":"janstenpickle/extruder","owner":"janstenpickle","description":"Populate Case Classes From Any Data Source","archived":false,"fork":false,"pushed_at":"2021-03-14T17:54:31.000Z","size":14653,"stargazers_count":84,"open_issues_count":3,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-14T11:51:07.225Z","etag":null,"topics":["cats","configuration","decoding","encoding","extruder","scala","serialization","shapeless","typelevel"],"latest_commit_sha":null,"homepage":"https://janstenpickle.github.io/extruder/","language":"Scala","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/janstenpickle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-04T23:01:12.000Z","updated_at":"2025-01-19T11:03:01.000Z","dependencies_parsed_at":"2022-07-30T10:17:59.233Z","dependency_job_id":null,"html_url":"https://github.com/janstenpickle/extruder","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/janstenpickle/extruder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janstenpickle%2Fextruder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janstenpickle%2Fextruder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janstenpickle%2Fextruder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janstenpickle%2Fextruder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janstenpickle","download_url":"https://codeload.github.com/janstenpickle/extruder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janstenpickle%2Fextruder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268322405,"owners_count":24231819,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cats","configuration","decoding","encoding","extruder","scala","serialization","shapeless","typelevel"],"created_at":"2024-10-03T11:28:26.022Z","updated_at":"2025-08-02T01:09:44.007Z","avatar_url":"https://github.com/janstenpickle.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"text-align:center\"\u003e\u003cimg src =\"https://janstenpickle.github.io/extruder/img/extruder.svg\" /\u003e\u003c/div\u003e\n\n# Extruder\n\n[![Typelevel Incubator](https://img.shields.io/badge/typelevel-incubator-green.svg)](http://typelevel.org/projects) [![CircleCI](https://circleci.com/gh/janstenpickle/extruder/tree/master.svg?style=shield)](https://circleci.com/gh/janstenpickle/extruder/tree/master) [![codecov](https://codecov.io/gh/janstenpickle/extruder/branch/master/graph/badge.svg)](https://codecov.io/gh/janstenpickle/extruder)\n\nThis library uses [shapeless](https://github.com/milessabin/shapeless) and [cats](https://github.com/typelevel/cats) to provide a neat syntax to instantiate Scala case classes from a data source.\n\n[See the extruder microsite for detailed documentation.](https://janstenpickle.github.io/extruder/)\n\n# Modules\n|Module|Description|Download|\n|---|---|---|\n| **Extruder**|Main module, includes core functionality and basic resolvers.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder/_latestVersion)|\n| **Cats Effect**|Provides Cats Effect [typeclass implementations](concepts.html#effects).|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-cats-effect/_latestVersion)|\n| **Typesafe Config**|Support for resolution from [Typesafe Config](https://github.com/typesafehub/config).|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-typesafe/_latestVersion)|\n| **Circe**|Bridge to [Circe](https://circe.github.io/circe/) encoding/decoding.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-circe/_latestVersion)|\n| **Circe YAML**|Bridge to [Circe](https://circe.github.io/circe/) YAML encoding/decoding.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-circe/_latestVersion)|\n| **Refined**|Support for [Refined](https://github.com/fthomas/refined) types.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-refined/_latestVersion)|\n| **AWS**|Support for [AWS](https://aws.amazon.com/sdk-for-java/) types.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-aws/_latestVersion)|\n| **Prometheus**|Support for encoding data as [Prometheus](https://prometheus.io) metrics.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-metrics-prometheus/_latestVersion)|\n| **Dropwizard**|Support for encoding data as [Dropwizard](https://metrics.dropwizard.io) metrics.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-metrics-dropwizard/_latestVersion)|\n| **Spectator**|Support for encoding data as [Spectator](https://github.com/Netflix/spectator) metrics.|[ ![Download](https://api.bintray.com/packages/janstenpickle/extruder/extruder/images/download.svg) ](https://bintray.com/janstenpickle/extruder/extruder-metrics-spectator/_latestVersion)|\n\n## Install with SBT\nAdd the following to your `build.sbt`:\n```scala\nlibraryDependencies += \"io.extruder\" %% \"extruder\" % \"0.11.0\"\n\n// only if you require support for cats-effect instances\nlibraryDependencies += \"io.extruder\" %% \"extruder-cats-effect\" % \"0.11.0\"\n\n// only if you require support for Typesafe config\nlibraryDependencies += \"io.extruder\" %% \"extruder-typesafe\" % \"0.11.0\"\n\n// only if you require support for Circe types\nlibraryDependencies += \"io.extruder\" %% \"extruder-circe\" % \"0.11.0\"\n\n// only if you require support for Circe YAML\nlibraryDependencies += \"io.extruder\" %% \"extruder-circe-yaml\" % \"0.11.0\"\n\n// only if you require support for refined types\nlibraryDependencies += \"io.extruder\" %% \"extruder-refined\" % \"0.11.0\"\n\n// only if you require support for AWS config\nlibraryDependencies += \"io.extruder\" %% \"extruder-aws\" % \"0.11.0\"\n\n// only if you require support for prometheus encoders\nlibraryDependencies += \"io.extruder\" %% \"extruder-metrics-prometheus\" % \"0.11.0\"\n\n// only if you require support for dropwizard encoders\nlibraryDependencies += \"io.extruder\" %% \"extruder-metrics-dropwizard\" % \"0.11.0\"\n\n// only if you require support for spectator encoders\nlibraryDependencies += \"io.extruder\" %% \"extruder-metrics-spectator\" % \"0.11.0\"\n```\n\n# Participation\n\nThis project supports the [Scala Code of Conduct](https://typelevel.org/code-of-conduct.html) and aims that its channels\n(mailing list, Gitter, github, etc.) to be welcoming environments for everyone.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanstenpickle%2Fextruder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanstenpickle%2Fextruder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanstenpickle%2Fextruder/lists"}