{"id":28827794,"url":"https://github.com/jacobbudin/pinto","last_synced_at":"2025-07-06T02:35:42.354Z","repository":{"id":57655519,"uuid":"93454445","full_name":"jacobbudin/pinto","owner":"jacobbudin","description":"Query builder (SQL) in Rust","archived":false,"fork":false,"pushed_at":"2017-11-08T01:47:34.000Z","size":13,"stargazers_count":24,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-28T21:35:39.463Z","etag":null,"topics":["query-builder","rust","rust-library","sql"],"latest_commit_sha":null,"homepage":null,"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/jacobbudin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-05T23:00:04.000Z","updated_at":"2025-02-07T17:35:24.000Z","dependencies_parsed_at":"2022-09-01T14:10:11.838Z","dependency_job_id":null,"html_url":"https://github.com/jacobbudin/pinto","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/jacobbudin/pinto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobbudin%2Fpinto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobbudin%2Fpinto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobbudin%2Fpinto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobbudin%2Fpinto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacobbudin","download_url":"https://codeload.github.com/jacobbudin/pinto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobbudin%2Fpinto/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260684357,"owners_count":23046110,"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":["query-builder","rust","rust-library","sql"],"created_at":"2025-06-19T04:14:01.787Z","updated_at":"2025-07-06T02:35:42.349Z","avatar_url":"https://github.com/jacobbudin.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pinto\n\n[![](https://img.shields.io/crates/v/pinto.svg)][crate]\n[![](https://travis-ci.org/jacobbudin/pinto.svg?branch=master)][travis-ci]\n\nPinto is a small, easy-to-use library for constructing SQL queries programmatically in [Rust](https://www.rust-lang.org).\n\n⚠️ This library does not provide query parameterization. Do not use raw user-supplied data in your queries. If inputs are not properly escaped, your software will be suspectible to [SQL injection](https://en.wikipedia.org/wiki/SQL_injection) attacks.\n\n## Compatibility\n\nThe library aims to generate queries compatible with [PostgreSQL](https://www.postgresql.org), [MySQL](https://www.mysql.com), and [SQLite](https://sqlite.org).\n\n## Install\n\nAdd [`pinto`](https://crates.io/crates/pinto) as a dependency:\n\n```toml\n[dependencies]\npinto = \"0.6.1\"\n```\n\n## Example\n\n```rust\nlet query = query_builder::select(\"users\")\n    .fields(\u0026[\"id\", \"name\"])\n    .filter(\"name = $1\")\n    .order_by(\"id\", query_builder::Order::Asc)\n    .build();\n\nassert_eq!(\"SELECT id, name FROM users WHERE name = $1 ORDER BY id ASC;\", query);\n```\n\nSee included tests for additional examples.\n\n## Features\n\n### Statements\n\n- `DELETE`\n\t- `WHERE` clause\n- `INSERT`\n- `SELECT`\n\t- Table alias (`AS`)\n\t- Field selection\n\t- `JOIN` clause\n\t- `WHERE` clause\n\t- `GROUP BY` clause\n\t- `HAVING` clause\n\t- `ORDER BY` clause\n\t- `LIMIT` and `OFFSET` clause\n- `UPDATE`\n\t- `WHERE` clause\n\n## Documentation\n\n- [\"First Steps\"](https://github.com/jacobbudin/pinto/wiki/First-Steps) (recommended for beginners)\n- [API documentation](https://docs.rs/pinto)\n\n## Design Philosophy\n\nPinto aims to be:\n\n1. Easy-to-use — the library should be useful with a beginner's knowledge of Rust\n2. Simple — the library's API should follow common SQL terminology and should allow its users to write concise, readable implementations\n\nOther design goals, such as performance, are relevant but not foremost.\n\n## License\n\nMIT\n\n[crate]: https://crates.io/crates/pinto\n[travis-ci]: https://travis-ci.org/jacobbudin/pinto\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobbudin%2Fpinto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacobbudin%2Fpinto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobbudin%2Fpinto/lists"}