https://github.com/juspay/framework-libs-rs
A collection of Rust libraries and utilities to aid application development.
https://github.com/juspay/framework-libs-rs
Last synced: 9 days ago
JSON representation
A collection of Rust libraries and utilities to aid application development.
- Host: GitHub
- URL: https://github.com/juspay/framework-libs-rs
- Owner: juspay
- License: apache-2.0
- Created: 2025-06-11T20:56:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-24T13:17:16.000Z (4 months ago)
- Last Synced: 2026-03-25T17:12:51.813Z (4 months ago)
- Language: Rust
- Size: 257 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust Framework Libraries
[![Apache-2.0 licensed][license-badge]][license-url]
[![CI Status][actions-badge]][actions-url]
[license-badge]: https://img.shields.io/badge/license-Apache--2.0-green.svg
[license-url]: LICENSE
[actions-badge]: https://github.com/juspay/framework-libs-rs/actions/workflows/ci.yaml/badge.svg
[actions-url]: https://github.com/juspay/framework-libs-rs/actions/workflows/ci.yaml
This repository provides a collection of Rust libraries and utilities to aid application and service development within Juspay.
However, we aim to keep these libraries generic enough so that they remain useful for the broader Rust community as well.
## Available Crates
- [`log_utils`](crates/log_utils/): A configurable logging infrastructure built on the [`tracing`](https://github.com/tokio-rs/tracing) ecosystem.
- [`build_info`](crates/build_info/): Utilities for extracting information about the build environment and Cargo workspace.
- [`hyperswitch_masking`](crates/hyperswitch_masking/): Personally Identifiable Information (PII) protection through wrapper types and traits for secret management, ensuring sensitive data isn't accidentally exposed in logs or debug output.
## Roadmap
We plan to expand this collection with additional utilities commonly needed in production Rust applications.
- [ ] `log_utils`:
- [x] Add support for the [`tracing`](https://github.com/tokio-rs/tracing) ecosystem
- [ ] Add support for the [`fastrace`](https://github.com/fast/fastrace) ecosystem
- [ ] Metrics support:
- [ ] Support for pushing metrics in OpenTelemetry format with the `opentelemetry` ecosystem
- [ ] Support for exposing metrics in Prometheus format
- [ ] HTTP client utilities
- [ ] Optionally, include metrics support
- [ ] HTTP server utilities
- [ ] Optionally, include metrics support
- [ ] Middleware for the `axum` server
- [ ] Middleware for the `actix-web` server
- [ ] Database related utilities
- [ ] Macros to provide common implementations
- [ ] Functions / queries for commonly performed operations.
- [ ] Optionally, include metrics support
- [ ] Can support PostgreSQL and MySQL
- [ ] Redis related utilities:
- [ ] An easy / simple interface to work with Redis
- [ ] Optionally, include metrics support
- [ ] Kafka related utilities:
- [ ] An easy / simple interface to work with Kafka
- [ ] Optionally, include metrics support
Preferably, we'd like to keep things in smaller, individual crates rather than including everything in one single crate.
This would allow users to pull specific crates based on their requirements.
Additionally, when supporting multiple underlying libraries / ecosystems or adding optional features (such as observability), we can make use of Cargo features, rather than having everything available by default.
## Contributing
While primarily developed for internal use, we welcome contributions that improve the libraries' quality, performance, or usability.
Please ensure any contributions maintain backward compatibility (as much as possible) and include appropriate tests.
## License
All crates in this repository are licensed under the [Apache-2.0 license](LICENSE).