# Peternator7/strum

A small rust library for adding custom derives to enums

Repository: https://github.com/Peternator7/strum
Canonical: https://ross.abutalabs.com/products/strum
Homepage: https://crates.io/crates/strum
Language: Rust
License: MIT
License Family: permissive
Topics: strum, enum, rust, rust-lang
Last push: 2026-03-07T01:28:08+00:00

## Health v2 (maintenance only)
Score: 68/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 70, release rhythm 47, longevity 100
- inputs: {"age_days": 3496, "days_push": 180, "days_rel": 192, "gap_med": 152, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2429, forks 188 (observed 2026-08-28T04:06:50.966401+00:00)

## What it is
Strum is a small Rust library providing macros and traits for working with enums and strings. It offers custom derives like EnumString, Display, EnumIter, and EnumMessage to convert between enums and strings, iterate variants, and attach metadata.

## Use cases
- convert strings to enum variants in rust
- convert enum variants to strings
- iterate over all variants of a rust enum
- add custom properties or messages to enum variants
- convert integers to enums via discriminant
- count the number of enum variants

## When to choose
- you need string parsing or formatting for rust enums
- you want to iterate or enumerate enum variants
- you need static string representations of enum variants

## When to avoid
- your project must support rustc older than 1.71.1
- you need serialization to structured formats like JSON or YAML rather than strings

## Facets
- artifact type: library
- maturity: stable
- function: serialization, developer-tools
- domain: developer-tools, programming-languages
- platform: rust, cross-platform
- tags: enums, proc-macros, derive-macros, string-conversion, rust-library

## Member repositories
- Peternator7/strum (main) score 68

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:50.966401+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:31:26.990643+00:00, confidence not recorded.
  - readme: https://github.com/Peternator7/strum (fetched 2026-08-28T04:06:50.966401+00:00, sha 5c456c1ac6e7)
  - registry_crates: https://crates.io/api/v1/crates/strum (fetched 2026-08-29T10:12:44.096571+00:00, sha ebbfd21231b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
