ical-rs 0.5.1

iCalendar parser, validator, editor, merger and builder library
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88"
name = "ical-rs"
version = "0.5.1"
authors = ["Clément DOUIN (soywod) <pimalaya.org@posteo.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "iCalendar parser, validator, editor, merger and builder library"
homepage = "https://pimalaya.org"
documentation = "https://docs.rs/ical-rs/latest/ical"
readme = "README.md"
keywords = [
    "icalendar",
    "calendar",
    "caldav",
    "rfc5545",
    "codec",
]
categories = [
    "data-structures",
    "parser-implementations",
    "encoding",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pimalaya/ical"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
base64 = ["dep:base64"]
default = [
    "parser",
    "quoted-printable",
    "base64",
    "encoding",
]
encoding = ["dep:encoding_rs"]
jcal = ["dep:serde_json"]
jscalendar = ["jcal"]
parser = ["dep:memchr"]
quoted-printable = ["dep:quoted_printable"]

[lib]
name = "ical"
path = "src/lib.rs"

[[example]]
name = "all_versions"
path = "examples/all_versions.rs"
required-features = ["parser"]

[[example]]
name = "calendar_file"
path = "examples/calendar_file.rs"
required-features = ["parser"]

[[example]]
name = "content_encodings"
path = "examples/content_encodings.rs"
required-features = [
    "parser",
    "quoted-printable",
    "base64",
    "encoding",
]

[[example]]
name = "forgiving_parse"
path = "examples/forgiving_parse.rs"
required-features = ["parser"]

[[example]]
name = "jcal"
path = "examples/jcal.rs"
required-features = [
    "parser",
    "jcal",
]

[[example]]
name = "jscalendar"
path = "examples/jscalendar.rs"
required-features = [
    "parser",
    "jscalendar",
]

[[example]]
name = "parse_edit_export"
path = "examples/parse_edit_export.rs"
required-features = ["parser"]

[[example]]
name = "raw_builder"
path = "examples/raw_builder.rs"
required-features = ["parser"]

[[example]]
name = "recurrence"
path = "examples/recurrence.rs"
required-features = ["parser"]

[[example]]
name = "strict_builder"
path = "examples/strict_builder.rs"
required-features = ["parser"]

[[example]]
name = "structured_values"
path = "examples/structured_values.rs"
required-features = ["parser"]

[[example]]
name = "three_way_merge"
path = "examples/three_way_merge.rs"
required-features = ["parser"]

[[example]]
name = "time_zones"
path = "examples/time_zones.rs"
required-features = ["parser"]

[[example]]
name = "validate_errors"
path = "examples/validate_errors.rs"
required-features = ["parser"]

[[test]]
name = "calcard"
path = "tests/calcard.rs"

[[test]]
name = "corpus"
path = "tests/corpus.rs"

[[test]]
name = "coverage"
path = "tests/coverage.rs"

[[test]]
name = "encoding"
path = "tests/encoding.rs"

[[test]]
name = "jcal"
path = "tests/jcal.rs"

[[test]]
name = "jscalendar"
path = "tests/jscalendar.rs"

[[test]]
name = "lens"
path = "tests/lens.rs"

[[test]]
name = "merge"
path = "tests/merge.rs"

[[test]]
name = "merge_props"
path = "tests/merge_props.rs"

[[test]]
name = "recovering"
path = "tests/recovering.rs"

[[test]]
name = "recur_corpus"
path = "tests/recur_corpus.rs"

[[test]]
name = "recur_gap"
path = "tests/recur_gap.rs"

[[test]]
name = "recur_set"
path = "tests/recur_set.rs"

[[test]]
name = "rfc5545_recur"
path = "tests/rfc5545_recur.rs"

[[test]]
name = "rfc7529_skip"
path = "tests/rfc7529_skip.rs"

[[test]]
name = "tz"
path = "tests/tz.rs"

[[test]]
name = "validate"
path = "tests/validate.rs"

[[bench]]
name = "parse"
path = "benches/parse.rs"
harness = false
required-features = ["parser"]

[dependencies.base64]
version = "0.23"
features = ["alloc"]
optional = true
default-features = false

[dependencies.encoding_rs]
version = "0.8"
features = ["alloc"]
optional = true
default-features = false

[dependencies.memchr]
version = "2"
optional = true
default-features = false

[dependencies.quoted_printable]
version = "0.5"
optional = true
default-features = false

[dependencies.serde_json]
version = "1"
features = ["alloc"]
optional = true
default-features = false

[dev-dependencies.calcard]
version = "0.3"
default-features = false

[dev-dependencies.criterion]
version = "0.8"
features = ["cargo_bench_support"]
default-features = false

[dev-dependencies.ical_crate]
version = "0.11"
features = ["ical"]
default-features = false
package = "ical"

[dev-dependencies.icalendar]
version = "0.17"
features = ["parser"]
default-features = false

[dev-dependencies.proptest]
version = "1"
features = ["std"]
default-features = false