1"use strict";(self.webpackChunksea_ql_blog=self.webpackChunksea_ql_blog||[]).push([[1266],{1286:e=>{e.exports=JSON.parse('{"permalink":"/blog/gsoc-2022","editUrl":"https://github.com/SeaQL/seaql.github.io/edit/master/Blog/blog/2022-03-08-gsoc-2022.md","source":"@site/blog/2022-03-08-gsoc-2022.md","title":"Google Summer of Code 2022","description":"GSoC 2022 Organization Profile","date":"2022-03-08T00:00:00.000Z","tags":[{"inline":true,"label":"news","permalink":"/blog/tags/news"}],"readingTime":1.71,"hasTruncateMarker":false,"authors":[{"name":"SeaQL Team","title":"Chris Tsang","url":"https://github.com/SeaQL","imageURL":"https://www.sea-ql.org/SeaORM/img/SeaQL.png","key":null,"page":null}],"frontMatter":{"slug":"gsoc-2022","title":"Google Summer of Code 2022","author":"SeaQL Team","author_title":"Chris Tsang","author_url":"https://github.com/SeaQL","author_image_url":"https://www.sea-ql.org/SeaORM/img/SeaQL.png","tags":["news"]},"unlisted":false,"prevItem":{"title":"What\'s new in SeaORM 0.7.0","permalink":"/blog/2022-03-26-whats-new-in-0.7.0"},"nextItem":{"title":"What\'s new in SeaORM 0.6.0","permalink":"/blog/2022-02-07-whats-new-in-0.6.0"}}')},5381:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>h,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var s=a(1286),o=a(4848),n=a(8453);const i={slug:"gsoc-2022",title:"Google Summer of Code 2022",author:"SeaQL Team",author_title:"Chris Tsang",author_url:"https://github.com/SeaQL",author_image_url:"https://www.sea-ql.org/SeaORM/img/SeaQL.png",tags:["news"]},r=void 0,h={authorsImageUrls:[void 0]},l=[];function u(e){const t={a:"a",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://summerofcode.withgoogle.com/programs/2022/organizations/seaql",children:"GSoC 2022 Organization Profile"})}),"\n",(0,o.jsx)(t.p,{children:"We are super excited to be selected as a Google Summer of Code 2022 mentor organization. Thank you everyone in the SeaQL community for your support and adoption!"}),"\n",(0,o.jsx)(t.p,{children:"In 2020, when we were developing systems in Rust, we noticed a missing piece in the ecosystem: an ORM that integrates well with the Rust async ecosystem. With that in mind, we designed SeaORM to have a familiar API that welcomes developers from node.js, Go, Python, PHP, Ruby and your favourite language."}),"\n",(0,o.jsxs)(t.p,{children:["The first piece of tool we released is ",(0,o.jsx)(t.a,{href:"https://github.com/SeaQL/sea-query",children:"SeaQuery"}),", a query builder with a fluent API. It has a simplified AST that reflects SQL syntax. It frees you from stitching strings together in case you needed to construct SQL dynamically and safely, with the advantages of Rust typings."]}),"\n",(0,o.jsxs)(t.p,{children:["The second piece of tool is ",(0,o.jsx)(t.a,{href:"https://github.com/SeaQL/sea-schema",children:"SeaSchema"}),", a schema manager that allows you to discover and manipulate database schema. The type definition of the schema is database-specific and thus reflecting the features of MySQL, Postgres and SQLite tightly."]}),"\n",(0,o.jsxs)(t.p,{children:["The third piece of tool is ",(0,o.jsx)(t.a,{href:"https://github.com/SeaQL/sea-orm",children:"SeaORM"}),', an Object Relational Mapper for building web services in Rust, whether it\'s REST, gRPC or GraphQL. We have "async & dynamic" in mind, so developers from dynamic languages can feel right at home.']}),"\n",(0,o.jsx)(t.p,{children:"But why stops at three?"}),"\n",(0,o.jsx)(t.p,{children:"This is just the foundation to setup Rust to be the best language for data engineering, and we have many more ideas on our idea list!"}),"\n",(0,o.jsx)(t.p,{children:"Your participation is what makes us unique; your adoption is what drives us forward."}),"\n",(0,o.jsx)(t.p,{children:"Thank you everyone for all your karma, it's the Rust community here that makes it possible. We will gladly take the mission to nurture open source developers during GSoC."}),"\n",(0,o.jsx)(t.p,{children:"Prospective contributors, stay in touch with us. We also welcome any discu
1ssion on the future of the Rust ecosystem and the SeaQL organization."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/SeaQL/summer-of-code/blob/main/2022/README.md",children:"GSoC 2022 Idea List"})})]})}function c(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>r});var s=a(6540);const o={},n=s.createContext(o);function i(e){const t=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.