MCPcopy Index your code
hub / github.com/LukeMathWalker/pavex

github.com/LukeMathWalker/pavex @0.2.10

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.10 ↗ · + Follow
6,443 symbols 17,309 edges 1,151 files 1,135 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

pavex pavex

Re-imagining backend development in Rust

What is Pavex?

Pavex is a new framework to build APIs with Rust.

Pavex aims to have it all: great ergonomics and high performance.\ The same productivity boost of Ruby on Rails, Spring or ASP.NET Core.\ As fast as a handwritten solution that strips away all abstractions.

Check out Pavex's documentation for a thorough introduction to the framework and its design philosophy.

Project status

Pavex is currently in closed beta—you can sign up here to get early access.

We regularly publish project updates.

Last update: This month in Pavex #10 [April 2024]

Previous updates:

Architectural Overview

If the section above was enough to get you intrigued, you can check out the architectural deep-dive in ARCHITECTURE.md to learn how Pavex works under the hood.

Contributing

Typo in documentation? Open a PR straight-away!\ Small bug fix with a regression test? Open a PR straight-away!\ Anything beyond 20 lines of code? Open an issue first.

If you are looking to contribute, you can find dedicated instructions in CONTRIBUTING.md.

License

Licensed under the Apache License, Version 2.0. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

Extension points exported contracts — how you extend this code

SessionStorageBackend (Interface)
The interface of a session storage backend. [6 implementers]
runtime/sessions/pavex_session/src/store_.rs
CallableAnnotation (Interface)
A Pavex annotation that can only be applied to either function or methods. [10 implementers]
runtime/pavex_macros/src/utils/fn_like.rs
IntoResponse (Interface)
Convert a type into a [`Response`]. Types that implement `IntoResponse` can be returned: - as the output type of an in [6 …
runtime/pavex/src/response/into_response.rs
Dependency (Interface)
An interface for system dependencies that may or may not be auto-installable. [4 implementers]
compiler/pavex_cli_deps/src/installers.rs
LocalTrait (Interface)
(no doc) [3 implementers]
compiler/ui_tests/annotations/trait_methods_are_supported/src/lib.rs
SourceSpanExt (Interface)
Helper methods to reduce boilerplate when working with [`miette::SourceSpan`]s. We might eventually want to upstream the [1 …
compiler/pavexc/src/diagnostic/miette/mod.rs
ShellExt (Interface)
(no doc) [1 implementers]
compiler/pavex_cli_shell/src/lib.rs
AnyhowBridge (Interface)
(no doc) [1 implementers]
compiler/pavex_cli_diagnostic/src/utils.rs

Core symbols most depended-on inside this repo

new
called by 2135
compiler/generate_from_path/src/progressbar.rs
clone
called by 517
compiler/ui_tests/blueprint/constructors/trait_constraints_on_runtime_singletons/src/lib.rs
wrap_noop
called by 311
runtime/pavex/src/middleware.rs
join
called by 293
compiler/pavex_cli_flock/src/lib.rs
insert
called by 279
compiler/pavexc/src/rustdoc/queries.rs
insert
called by 216
compiler/pavexc/src/compiler/analyses/constructibles.rs
push
called by 213
compiler/pavexc/src/diagnostic/sink.rs
execute
called by 187
compiler/pavex_cli_client/src/commands/new.rs

Shape

Function 2,657
Method 1,952
Class 1,499
Enum 311
Interface 24

Languages

Rust100%
Python1%

Modules by API surface

compiler/pavexc/src/rustdoc/queries.rs64 symbols
compiler/pavexc/src/compiler/analyses/components/db/mod.rs58 symbols
compiler/pavexc/src/language/resolved_type.rs51 symbols
runtime/pavex/src/request/path/deserializer.rs46 symbols
compiler/pavex_miette/src/graphical_report_handler.rs45 symbols
runtime/sessions/pavex_session/src/session_.rs44 symbols
compiler/pavexc/src/diagnostic/registration_locations.rs41 symbols
compiler/pavex_test_runner/src/lib.rs38 symbols
compiler/pavex_cli_flock/src/lib.rs37 symbols
runtime/sessions/pavex_session/tests/session/main.rs31 symbols
compiler/pavex_bp_schema/src/lib.rs31 symbols
compiler/pavexc/src/language/fq_path.rs30 symbols

Datastores touched

(mysql)Database · 1 repos
nonexistent_dbDatabase · 1 repos
session_testDatabase · 1 repos

For agents

$ claude mcp add pavex \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page