| Crates.io | pixi-outdated |
| lib.rs | pixi-outdated |
| version | 0.1.0 |
| created_at | 2025-10-24 15:58:43.161572+00 |
| updated_at | 2025-10-24 15:58:43.161572+00 |
| description | A CLI tool to find outdated packages in pixi environments |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1898638 |
| size | 245,601 |
A CLI tool to check for outdated dependencies in pixi projects.
pixi list --json for package informationcargo install --path .
pixi-outdated
pixi-outdated --explicit
# Single package
pixi-outdated datasette
# Multiple packages
pixi-outdated datasette cowsay sqlite
pixi-outdated --environment prod
# Single platform
pixi-outdated --platform linux-64
# Check all platforms in lockfile (default behavior)
pixi-outdated
Note: When no platform is specified, pixi-outdated automatically checks all platforms defined in your pixi.lock file and shows:
pixi-outdated --help
Arguments:
[PACKAGES]... Specific package names to check (if not provided, checks all packages)
Options:
-x, --explicit Only check packages explicitly listed in pixi.toml
-e, --environment <ENV> The environment to check (defaults to the default environment)
-p, --platform <PLATFORM> The platform to check (if not specified, checks all platforms in lockfile)
-j, --json Output in JSON format
-v, --verbose Verbose output with debug logging
-f, --manifest <MANIFEST> Path to the pixi.toml file
-h, --help Print help
-V, --version Print version
$ pixi-outdated
Checking platforms: linux-64, osx-arm64
=== All Platforms ===
cowsay: 5.0 -> 6.1
libffi: 3.4.6 -> 3.5.2
=== Platform: osx-arm64 ===
icu: 73.2 -> 75.1
python: 3.12.12 -> 3.14.0
=== Platform: linux-64 ===
libsqlite: 3.50.1 -> 3.50.4
python: 3.12.11 -> 3.14.0
Analysis complete!
✅ Production Ready! This tool is fully functional and well-tested.
Completed Features:
--explicit)--environment)--platform)--json)--verbose)pixi list --json for package infoPerformance:
Instead of parsing pixi.toml and pixi.lock directly, we leverage existing tools:
pixi list --json - Avoids reinventing package resolution logicrattler_lock - Read lockfiles for platform informationsrc/
├── main.rs # CLI entry point and multi-platform orchestration
├── lib.rs # Library exports (lockfile, conda, pixi, pypi)
├── lockfile.rs # Read platforms from pixi.lock using rattler_lock
├── pixi.rs # Shell out to `pixi list --json` for package info
├── conda.rs # Query conda channels for latest versions (with multi-platform support)
└── pypi.rs # Query PyPI JSON API for latest versions
tests/
└── integration_test.rs # End-to-end tests with real lockfiles
(name, channel, kind) tupleRun the test suite:
# All tests
cargo test
# With output
cargo test -- --nocapture
# Specific test
cargo test test_get_platforms_from_lockfile
# Integration tests only
cargo test --test integration_test
Run clippy:
pixi run cargo-clippy
MIT