sangria
trustfall
sangria | trustfall | |
---|---|---|
5 | 24 | |
1,966 | 2,273 | |
0.2% | - | |
8.4 | 9.2 | |
19 days ago | 9 days ago | |
Scala | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sangria
- GraphQL is quickly moving to one of my least favorite technologies
-
How is this calculating complexity?
I am taking a look at Resolver from the Sangria GraphQL library and I cannot figure out how calcComplexity works. The code in the `Success` us really confusing to me. Where is the complexity getting calculated?
-
Where is this value coming from?
I started taking a look at QueryReducer from the Sangria GraphQL library and I am having a really hard tracing the logic for rejectMaxDepth. More specifically, I don't understand why depth is a parameter to measureDepth, where it is coming from, and how the depth is being calculated in measureDepth.
-
How (Not) To Build Your Own GraphQL Server
Instead of constructing an object, it uses classes to define the types and operations for the schema that it generates. The schema generated by this implementation will have the same structure as the schema created with graphql-js. Using classes to define your schema has the advantage of being less mutable and more structured when writing code. Similar implementations can be found for TypeScript with the library TypeGraphQL or Sangria GraphQL for Scala.
-
What is the state of frameworks and libraries support to build microservices in scala?
As Api gateway we use sangria on top of Finagle (finch to be precise) and that has been a huge boon in making the connection between microservices and frontend seamless/safe.
trustfall
-
Planner programming blows my mind
Pleasantly surprised to see Predrag show up as a reviewer, but at the same time not at all surprised:
- The [Firebase technical screen](https://startupandrew.com/posts/how-firebase-interviewed-sof...) would have been much easier with something like this, as it was Just Another Optimization Problem™. Part of me wants to try it again with Picat!
- He's doing other very interesting things with programming languages, e.g.: https://github.com/obi1kenobi/trustfall
-
Ask HN: Who wants to be hired? (December 2023)
Email: [email protected]
Hi, I'm u9g. I'm looking for an internship for either this winter (in a few weeks) or a summer internship!
Some things I've done:
I integrated a [query engine for lints](https://github.com/obi1kenobi/trustfall) (and contributed optimizations) into [OXC](https://github.com/oxc-project/oxc) (a new Rust-based Javascript Linter).
I wrote [several](https://github.com/u9g/money-lens) [toy](https://github.com/u9g/quickquestion/tree/main/extension) languages and syntax highlighting for them.
I also wrote a [js-to-scheme transpiler](https://github.com/u9g/js2scheme/blob/main/example.js).
Happy to work on things compiler or database oriented, but also happy to learn something new!
-
Semver violations are common, better tooling is the answer
If you'd like to dig deeper, here are some links:
- cargo-semver-checks: https://github.com/obi1kenobi/cargo-semver-checks
- Trustfall query engine, which powers cargo-semver-checks: https://github.com/obi1kenobi/trustfall
- Trustfall playground, where you can query Rust library APIs in your browser -- for example, "which structs in `itertools` are importable by more than one path": https://play.predr.ag/rustdoc#?f=2&q=*3-Structs-importable-f...
- 10min conference talk on Trustfall: https://www.hytradboi.com/2022/how-to-query-almost-everythin...
I'm also giving a talk at P99 CONF in a few months about how Trustfall's new optimizations API made cargo-semver-checks over 2300x faster: https://twitter.com/PredragGruevski/status/16893002495908003...
-
Cargo-semver-checks: Scan your Rust crate for semver violations
No worries!
Trustfall is even more general than semver actually, one can use it to query any data source -- even HN itself:
https://play.predr.ag/HackerNews
Here's a link to that project if you'd like to check it out:
https://github.com/obi1kenobi/trustfall
I gave a 10min conference talk on it last year titled "How to query (almost) everything"
https://www.hytradboi.com/2022/how-to-query-almost-everythin...
-
We created Taxi, and why we felt the need for Another Schema Language
I've had my eye on Taxi for a while, and it's neat! I agree that the problems it aims to solve are real and painful in real life.
In my experience, I'm not sure people care about schemas or schema languages — they are just implementation details best left under the hood. This is why in my own work, I started on the query end of the spectrum instead.
This is why I built Trustfall, a query engine able to query any data source: DBs, APIs, files like PDF, CSV, or JSON, or any combination of those.
GitHub: https://github.com/obi1kenobi/trustfall
Playground showing the query "which GitHub/Twitter users comment on HackerNews stories about OpenAI?": https://play.predr.ag/hackernews#?f=1&q=IyBDcm9zcyBBUEkgcXVl...
- cargo-semver-checks v0.20 and Trustfall v0.4 released — semver-check up to 2354x faster
- DuckDB: Querying JSON files as if they were tables
-
Speeding up Rust semver-checking by over 2000x
Here's an example adapter for querying RSS/Atom feeds. Here's an example adapter for querying the HackerNews APIs. Both projects also include a schema and example queries which you can run.
- Trustfall: How to Query (Almost) Everything
What are some alternatives?
Finatra - Fast, testable, Scala services built on TwitterServer and Finagle
postgrest - REST API for any Postgres database
Scalatra - Tiny Scala high-performance, async web framework, inspired by Sinatra
cargo-semver-checks-action - A GitHub Action for running cargo-semver-checks
Colossus - I/O and Microservice library for Scala
join-monster - A GraphQL to SQL query execution layer for query planning and batch data fetching.
Play - The Community Maintained High Velocity Web Framework For Java and Scala.
graphql-java - GraphQL Java implementation
Analogweb
dgs-framework - [Moved to: https://github.com/Netflix/dgs-framework]
youi - Next generation user interface and application development in Scala and Scala.js for web, mobile, and desktop.
genql - Type safe TypeScript client for any GraphQL API