stelae

Crates.iostelae
lib.rsstelae
version0.3.2
sourcesrc
created_at2023-07-04 14:51:53.711045
updated_at2024-11-01 14:18:34.350419
descriptionA collection of tools in Rust and Python for preserving, authenticating, and accessing laws in perpetuity.
homepage
repositoryhttps://github.com/openlawlibrary/stelae
max_upload_size
id908044
size441,192
David Greisen (dgreisen)

documentation

README

Stelae

Stelae is a system for distributing, preserving, and authenticating laws.

Contributing

Setting up environment

  1. Install dependencies:
  • Windows:
  • Linux:
    • sudo apt-get install build-essential pkg-config libssl-dev
  1. Install Rust
  2. Install Just (Our build tool)
  3. Windows: install Git Bash, included in Git for Windows.
  4. Windows (Optional): install NuShell (A fast, cross-platform shell used by Just)
  5. We recommend using VSCode (default settings provided in repo), but you can use any editor you like.

Development

  • Lints must pass before merging into master
  • All code must have tests. Tests should conform to our testing guidelines.
  • Run just from within the repository to list all available just commands. Currently:
    • bench: Run all benchmarks
    • ci: Continuous integration - lint, test, benchmark
    • clippy *FLAGS: Run clippy maximum strictness. Passes through any flags to clippy.
    • default: List all available commands
    • format: Format code
    • lint: Format code and run strict clippy
    • test: Run all tests
  • On windows, especially, you may wish to run just through the nu shell, which can be done by calling all commands with the --shell command, e.g. just --shell nu lint.

Logging

The ENV variable RUST_LOG can be set with one of trace, debug, info, warn, error. Filters can be set based on the target components seen in the logs lines, for example: to use trace but turn down the noise from the Actix dispatcher: RUST_LOG="trace,actix_http::h1::dispatcher=warn"

See tracing-subscriber docs and env_logger syntax.

Q&A

  • Why do we suggest NuShell?
    • NuShell is almost as fast on Windows as cmd, but is compattible with bash. If you do not use NuShell on windows, you will need to make sure Git Bash is installed. If you have performance issues, consider switching to Nu.
Commit count: 245

cargo fmt