# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "petgraph"
version = "0.4.13"
authors = ["bluss", "mitchmindtree"]
description = "Graph data structure library. Provides graph types and graph algorithms."
documentation = "https://docs.rs/petgraph/"
keywords = ["data-structure", "graph", "unionfind", "graph-algorithms"]
categories = ["data-structures"]
license = "MIT/Apache-2.0"
repository = "https://github.com/bluss/petgraph"
[package.metadata.docs.rs]
features = ["serde-1", "quickcheck"]

[package.metadata.release]
no-dev-version = true
[profile.bench]
debug = true

[profile.release]

[lib]
name = "petgraph"
bench = false
[dependencies.fixedbitset]
version = "0.1.4"

[dependencies.ordermap]
version = "0.3.0"
optional = true

[dependencies.quickcheck]
version = "0.4"
optional = true
default-features = false

[dependencies.serde]
version = "1.0"
optional = true

[dependencies.serde_derive]
version = "1.0"
optional = true
[dev-dependencies.defmac]
version = "0.1"

[dev-dependencies.itertools]
version = "0.7.0"
default-features = false

[dev-dependencies.odds]
version = "0.2.19"

[dev-dependencies.rand]
version = "0.3"

[features]
all = ["unstable", "quickcheck", "stable_graph", "graphmap"]
default = ["graphmap", "stable_graph"]
generate = []
graphmap = ["ordermap"]
serde-1 = ["serde", "serde_derive"]
stable_graph = []
unstable = ["generate"]
