24 releases

0.4.0-rc.0 Jul 15, 2024
0.4.0-dev.3 Jun 10, 2024
0.4.0-dev.0 Jan 8, 2024
0.2.2 Dec 19, 2023
0.0.3 Jul 27, 2023

#11 in #layered

Download history 349/week @ 2024-07-29 219/week @ 2024-08-05 217/week @ 2024-08-12 46/week @ 2024-08-19 25/week @ 2024-08-26 33/week @ 2024-09-02 27/week @ 2024-09-09 88/week @ 2024-09-16 104/week @ 2024-09-23 147/week @ 2024-09-30 85/week @ 2024-10-07 20/week @ 2024-10-14 13/week @ 2024-10-21 21/week @ 2024-10-28 16/week @ 2024-11-04 18/week @ 2024-11-11

70 downloads per month
Used in 2 crates (via papyrus_storage)

Custom license

62KB
1K SLoC

papyrus-config

Description

papyrus-config is a flexible and powerful layered configuration system designed specifically for Papyrus, a Starknet node. This system allows you to easily manage configurations for your Papyrus node by leveraging various sources and providing additional helpful features.

Configuration sources

Supports multiple configuration sources in ascending order of overriding priority:

  • Default values
  • Configuration files (from first to last)
  • Environment variables
  • Command-line arguments

Additional features

  • Support for Nested Configuration Components: Organize your configurations into nested components, making it easy to manage complex settings for different aspects of the application.

  • Usage of Pointers: Use pointers to merge parameters that are common to multiple components. This capability helps in streamlining configurations and avoiding duplication of settings.

  • Automatically-Generated Command Line Parser: To simplify the process of handling command-line arguments, the system automatically generates a command-line parser. This means you don't have to write complex argument parsing code; it's ready to use out-of-the-box.

  • Automatically-Generated Reference Configuration File: Makes it easier for users by generating a reference configuration file. This file serves as a template that highlights all available configuration options and their default values, enabling users to customize their configurations efficiently.

Documentation

Developer reference documentation is available at https://docs.rs/papyrus_config/. The documentation on this site is updated periodically.

To view the most up-to-date documentation, enter the following command at the root directory of the papyrus project:

cargo doc --open -p papyrus_config

Dependencies

~7–10MB
~187K SLoC