Expand description
§use-pyproject
Partial practical pyproject.toml metadata primitives for RustUse.
§Experimental
use-pyproject is experimental while use-python remains below 0.3.0.
§Example
use use_pyproject::{PyProject, PyProjectDependency, PyProjectProjectMetadata};
let project = PyProjectProjectMetadata::new()
.with_name("demo")?
.with_version("0.1.0")?
.with_dependency(PyProjectDependency::new("requests>=2")?);
let pyproject = PyProject::new().with_project(project);
assert_eq!(pyproject.project_name(), Some("demo"));
assert_eq!(pyproject.dependencies()[0].as_str(), "requests>=2");§Scope
- Partial project, dependency, script, entry point, and build-system metadata.
- Build backend labels for common Python build backends.
- Tool section labels as simple metadata.
§Non-goals
- Full TOML parsing or serialization.
- Complete
pyproject.tomlcoverage. - Dependency resolution or package building.
§License
Licensed under either Apache-2.0 or MIT.
Structs§
- PyProject
- Partial
pyproject.tomlmetadata. - PyProject
Build System - Partial
[build-system]metadata. - PyProject
Dependency - PyProject
Entry Point - PyProject
Optional Dependency Group - PyProject
Project Metadata - Partial
[project]metadata. - PyProject
Script - PyProject
Tool Section
Enums§
- PyProject
Build Backend - Common Python build backends.
- PyProject
Config File - Common pyproject config file labels.
- PyProject
Text Error - Error returned when pyproject metadata text is invalid.