{"id":13481461,"url":"https://github.com/zio/zio-quill","last_synced_at":"2025-05-13T19:03:39.882Z","repository":{"id":35164773,"uuid":"39411044","full_name":"zio/zio-quill","owner":"zio","description":"Compile-time Language Integrated Queries for Scala","archived":false,"fork":false,"pushed_at":"2025-04-19T00:15:29.000Z","size":13113,"stargazers_count":2154,"open_issues_count":319,"forks_count":352,"subscribers_count":59,"default_branch":"master","last_synced_at":"2025-04-28T00:15:35.909Z","etag":null,"topics":["cassandra","database","jdbc","linq","mysql","postgres","scala","scalajs","spark","sparksql"],"latest_commit_sha":null,"homepage":"https://zio.dev/zio-quill","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2015-07-20T22:15:04.000Z","updated_at":"2025-04-17T02:37:26.000Z","dependencies_parsed_at":"2024-03-17T04:29:24.239Z","dependency_job_id":"f016dfc0-25a1-49ba-9432-54281adfca21","html_url":"https://github.com/zio/zio-quill","commit_stats":{"total_commits":2659,"total_committers":155,"mean_commits":17.15483870967742,"dds":0.720947724708537,"last_synced_commit":"cad62e136c1c732935bb42e3b3a74ed2a6055632"},"previous_names":["getquill/quill"],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zio%2Fzio-quill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zio%2Fzio-quill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zio%2Fzio-quill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zio%2Fzio-quill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zio","download_url":"https://codeload.github.com/zio/zio-quill/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254010793,"owners_count":21998993,"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":["cassandra","database","jdbc","linq","mysql","postgres","scala","scalajs","spark","sparksql"],"created_at":"2024-07-31T17:00:52.010Z","updated_at":"2025-05-13T19:03:39.864Z","avatar_url":"https://github.com/zio.png","language":"Scala","funding_links":[],"categories":["Database","Table of Contents","数据库开发","Scala","\u003ca name=\"Scala\"\u003e\u003c/a\u003eScala"],"sub_categories":["Database"],"readme":"[//]: # (This file was autogenerated using `zio-sbt-website` plugin via `sbt generateReadme` command.)\n[//]: # (So please do not edit it manually. Instead, change \"docs/index.md\" file or sbt setting keys)\n[//]: # (e.g. \"readmeDocumentation\" and \"readmeSupport\".)\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/getquill/quill/master/quill.png\"\u003e\n\u003c/p\u003e\n\n# ZIO Quill\n\nQuill provides a Quoted Domain Specific Language ([QDSL](https://homepages.inf.ed.ac.uk/wadler/papers/qdsl/qdsl.pdf)) to express queries in Scala and execute them in a target language. \n\n[![Production Ready](https://img.shields.io/badge/Project%20Stage-Production%20Ready-brightgreen.svg)](https://github.com/zio/zio/wiki/Project-Stages) ![CI Badge](https://github.com/zio/zio-quill/workflows/CI/badge.svg) [![Sonatype Releases](https://img.shields.io/nexus/r/https/oss.sonatype.org/io.getquill/quill-core_2.12.svg?label=Sonatype%20Release)](https://oss.sonatype.org/content/repositories/releases/io/getquill/quill-core_2.12/) [![Sonatype Snapshots](https://img.shields.io/nexus/s/https/oss.sonatype.org/io.getquill/quill-core_2.12.svg?label=Sonatype%20Snapshot)](https://oss.sonatype.org/content/repositories/snapshots/io/getquill/quill-core_2.12/) [![javadoc](https://javadoc.io/badge2/io.getquill/zio-quill-docs_2.12/javadoc.svg)](https://javadoc.io/doc/io.getquill/zio-quill-docs_2.12) [![ZIO Quill](https://img.shields.io/github/stars/zio/zio-quill?style=social)](https://github.com/zio/zio-quill)\n\n## Introduction\n\nThe library's core is designed to support multiple target languages, currently featuring specializations for Structured Query Language ([SQL](https://en.wikipedia.org/wiki/SQL)) and Cassandra Query Language ([CQL](https://cassandra.apache.org/doc/latest/cql/)).\n\n1. **Boilerplate-free mapping**: The database schema is mapped using simple case classes.\n2. **Quoted DSL**: Queries are defined inside a `quote` block. Quill parses each quoted block of code (quotation) at compile time and translates them to an internal Abstract Syntax Tree (AST)\n3. **Compile-time query generation**: The `ctx.run` call reads the quotation's AST and translates it to the target language at compile time, emitting the query string as a compilation message. As the query string is known at compile time, the runtime overhead is very low and similar to using the database driver directly.\n4. **Compile-time query validation**: If configured, the query is verified against the database at compile time and the compilation fails if it is not valid. The query validation **does not** alter the database state.\n\n\u003e ### Scala 3 Support\n\u003e [ProtoQuill](https://github.com/zio/zio-protoquill) provides Scala 3 support for Quill rebuilding on top of new metaprogramming capabilities from the ground \u003e up! It is published to maven-central as the `quill-\u003cmodule\u003e_3` line of artifacts.\n\n\u003e ### Doobie Support\n\u003e See [here](contexts.md#quill-doobie) for Doobie integration instructions.\n\n## Example\n\n![example](https://raw.githubusercontent.com/getquill/quill/master/example.gif)\n\nNote: The GIF example uses Eclipse, which shows compilation messages to the user.\n\n## Documentation\n\nLearn more on the [ZIO Quill homepage](https://zio.dev/zio-quill)!\n\n## Contributing\n\nFor the general guidelines, see ZIO [contributor's guide](https://zio.dev/about/contributing).\n\n## Code of Conduct\n\nSee the [Code of Conduct](https://zio.dev/about/code-of-conduct)\n\n## Support\n\nCome chat with us on [![Badge-Discord]][Link-Discord].\n\n[Badge-Discord]: https://img.shields.io/discord/629491597070827530?logo=discord \"chat on discord\"\n[Link-Discord]: https://discord.gg/2ccFBr4 \"Discord\"\n\n## Maintainers\n\n- @deusaquilus (lead maintainer)\n- @fwbrasil (creator)\n- @jilen\n- @juliano\n- @mentegy\n- @mdedetrich\n\n### Former maintainers:\n\n- @gustavoamigo\n- @godenji\n- @lvicentesanchez\n- @mxl\n\nYou can notify all current maintainers using the handle `@getquill/maintainers`.\n\n## Acknowledgement\n\nThe project was created having Philip Wadler's talk [\"A practical theory of language-integrated query\"](https://www.infoq.com/presentations/theory-language-integrated-query) as its initial inspiration. The development was heavily influenced by the following papers:\n\n* [A Practical Theory of Language-Integrated Query](https://homepages.inf.ed.ac.uk/slindley/papers/practical-theory-of-linq.pdf)\n* [Everything old is new again: Quoted Domain Specific Languages](https://homepages.inf.ed.ac.uk/wadler/papers/qdsl/qdsl.pdf)\n* [The Flatter, the Better](https://db.inf.uni-tuebingen.de/staticfiles/publications/the-flatter-the-better.pdf)\n\n## License\n\n[License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzio%2Fzio-quill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzio%2Fzio-quill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzio%2Fzio-quill/lists"}