[package]
edition = "2024"
name = "pybevy"
version = "0.2.0"
build = false
include = [
"src/**/*",
"pybevy/**/*",
"Cargo.toml",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE",
"docs/**/*.md",
"examples/**/*.rs",
"examples/**/*.py",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "PyBevy: A Python Real-Time Engine Built on Bevy"
homepage = "https://pybevy.com"
documentation = "https://docs.rs/pybevy"
readme = "README.md"
keywords = [
"gamedev",
"bevy",
"python",
"ecs",
"game-engine",
]
categories = [
"game-engines",
"graphics",
"rendering",
"game-development",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pybevy/pybevy"
resolver = "2"
[features]
debug = ["bevy/debug"]
default = ["mcp"]
linux-display = [
"bevy/x11",
"bevy/wayland",
]
mcp = [
"dep:pybevy_control",
"pybevy_control?/bevy_winit",
]
native-hot-reload = [
"native-plugin",
"dep:notify",
]
native-plugin = []
[lib]
name = "pybevy"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "native_plugin_example"
path = "examples/native/native_plugin_example.rs"
required-features = []
[dependencies.accesskit]
version = "0.21"
default-features = false
[dependencies.bevy]
version = "0.18.1"
features = [
"multi_threaded",
"gltf_animation",
"bevy_asset",
"bevy_audio",
"bevy_core_pipeline",
"bevy_gizmos",
"bevy_gltf",
"bevy_log",
"bevy_pbr",
"bevy_picking",
"mesh_picking",
"bevy_post_process",
"bevy_render",
"bevy_scene",
"bevy_sprite",
"bevy_state",
"bevy_text",
"bevy_ui",
"bevy_ui_render",
"bevy_window",
"bevy_winit",
"default_font",
"tonemapping_luts",
"jpeg",
"png",
"zstd_rust",
"pbr_clustered_decals",
"reflect_auto_register",
]
default-features = false
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
"bmp",
"tiff",
"tga",
"webp",
"gif",
"ico",
"pnm",
"qoi",
"hdr",
]
default-features = false
[dependencies.naga]
version = "27"
default-features = false
[dependencies.notify]
version = "7"
optional = true
[dependencies.numpy]
version = "0.27"
[dependencies.paste]
version = "1.0"
[dependencies.pybevy_a11y]
version = "=0.2.0"
[dependencies.pybevy_animation]
version = "=0.2.0"
[dependencies.pybevy_audio]
version = "=0.2.0"
[dependencies.pybevy_bytecodevm]
version = "=0.2.0"
[dependencies.pybevy_camera]
version = "=0.2.0"
[dependencies.pybevy_color]
version = "=0.2.0"
[dependencies.pybevy_control]
version = "=0.2.0"
optional = true
[dependencies.pybevy_core]
version = "=0.2.0"
[dependencies.pybevy_ecs]
version = "=0.2.0"
[dependencies.pybevy_gltf]
version = "=0.2.0"
[dependencies.pybevy_image]
version = "=0.2.0"
[dependencies.pybevy_input]
version = "=0.2.0"
[dependencies.pybevy_light]
version = "=0.2.0"
[dependencies.pybevy_macros]
version = "=0.2.0"
[dependencies.pybevy_math]
version = "=0.2.0"
[dependencies.pybevy_mesh]
version = "=0.2.0"
[dependencies.pybevy_pbr]
version = "=0.2.0"
[dependencies.pybevy_render]
version = "=0.2.0"
[dependencies.pybevy_scene]
version = "=0.2.0"
[dependencies.pybevy_shader]
version = "=0.2.0"
[dependencies.pybevy_sprite]
version = "=0.2.0"
[dependencies.pybevy_text]
version = "=0.2.0"
[dependencies.pybevy_time]
version = "=0.2.0"
[dependencies.pybevy_transform]
version = "=0.2.0"
[dependencies.pybevy_ui]
version = "=0.2.0"
[dependencies.pybevy_window]
version = "=0.2.0"
[dependencies.pyo3]
version = "0.27"
features = [
"multiple-pymethods",
"smallvec",
"uuid",
"generate-import-lib",
]
default-features = false
[dependencies.rayon]
version = "1.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.smallvec]
version = "1.0"
[dependencies.strum]
version = "0.27.2"
[dependencies.strum_macros]
version = "0.27.2"
[dependencies.sysinfo]
version = "0.37"
[dependencies.thiserror]
version = "2.0"
[dependencies.uuid]
version = "1.17.0"
features = ["v4"]
[dependencies.wgpu-types]
version = "27"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.libc]
version = "0.2"
[dev-dependencies.pyo3]
version = "0.27"
features = ["auto-initialize"]
[target.'cfg(not(any(target_os = "macos", target_os = "ios")))'.dependencies.bevy]
version = "0.18.1"
features = [
"pbr_transmission_textures",
"pbr_specular_textures",
"pbr_anisotropy_texture",
"pbr_multi_layer_material_textures",
]
default-features = false
[profile.dev.package."*"]
opt-level = 3
[profile.package-release]
opt-level = 3
lto = "fat"
codegen-units = 1
split-debuginfo = "unpacked"
inherits = "release"
strip = true