use-python 0.0.1

Facade crate for RustUse Python ecosystem primitives
Documentation
use use_python::{
    PipRequirement, PytestNodeId, PythonIdentifier, PythonImplementation, PythonPrimitiveValue,
    PythonVersion,
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let version: PythonVersion = "Python 3.12.1".parse()?;
    let identifier = PythonIdentifier::new("async_task")?;
    let requirement = PipRequirement::new("requests>=2")?;
    let node_id = PytestNodeId::new("tests/test_app.py::test_smoke")?;

    assert!(version.is_python3());
    assert_eq!(identifier.as_str(), "async_task");
    assert_eq!(PythonImplementation::CPython.as_str(), "cpython");
    assert_eq!(PythonPrimitiveValue::None.type_name(), "NoneType");
    assert!(!requirement.is_editable());
    assert!(node_id.has_scope_separator());
    Ok(())
}