Skip to content

Releases: ZtaMDev/PyDepM

PyDepM 1.1.2

08 Nov 17:24

Choose a tag to compare

Release Notes - PyDepM 1.1.2

Installation

# Install the latest version
pip install --upgrade pydepm

or

# Install specific version
pip install pydepm==1.1.2

Executive Summary

PyDepM 1.1.2 introduces significant improvements in package management reliability, error handling, and user experience. This release focuses on making dependency management more robust while providing clearer feedback to users.

Key Features and Improvements

Enhanced Package Management

  • Auto-cleanup of Invalid Packages: Automatically removes non-existent packages from pypackage.json during pydep add operations
  • Improved Error Detection: Enhanced detection of package availability in PyPI
  • Smarter Dependency Resolution: Better handling of package version conflicts and requirements

Command Line Interface Enhancements

  • New Verbosity Control: Added --logs flag for detailed output control
  • Cleaner Error Messages: Reduced duplicate messages and improved error presentation
  • Enhanced Progress Feedback: Better visibility of installation progress

Configuration Management

  • Robust pypackage.json Handling: Improved validation and error handling for configuration files
  • Smart Package State Management: Better tracking of package states during operations
  • Enhanced Version Resolution: More accurate package version resolution and compatibility checking

System Integration

  • Improved pip Integration: Better capture and handling of pip installation output
  • Enhanced Environment Detection: More reliable Python environment detection
  • Robust Error Recovery: Graceful handling of network and package repository issues

Technical Improvements

Error Handling

  • Implemented sophisticated pip output parsing for better error detection
  • Added automatic cleanup of invalid package entries
  • Improved error message formatting and presentation

Performance

  • Optimized package installation process
  • Reduced unnecessary file operations
  • Improved memory usage during dependency resolution

Stability

  • Enhanced validation of package names and versions
  • Added safeguards against invalid configuration states
  • Improved recovery from failed operations

Breaking Changes

None. This release maintains full compatibility with existing pypackage.json files and workflows.

Migration Guide

From 1.1.0 to 1.1.2

Simply update your installation:

pip install --upgrade pydepm

No additional configuration changes are required.

New Command Options

# Install packages with detailed logs
pydep add package_name --logs

# Install multiple packages with automatic cleanup
pydep add package1 package2 package3

Known Issues

  • Some pip warning messages may still appear in detailed log output
  • Complex dependency trees might take longer to resolve in certain cases

Documentation Updates

  • Added new sections covering error handling and package validation
  • Updated command reference with new options
  • Improved troubleshooting guides

PyDepM 1.1.0

26 Sep 17:49

Choose a tag to compare

Release Notes - PyDepM 1.1.0

Executive Summary

Version 1.1.0 of PyDepM introduces enhanced conversion capabilities between pypackage.json and pyproject.toml, improved field mapping, and better support for custom project metadata. This release focuses on making PyDepM more flexible and compatible with the broader Python packaging ecosystem.

Key Features

Enhanced Format Conversion

  • Bidirectional Conversion: Seamlessly convert between pypackage.json and pyproject.toml formats
  • Smart Field Mapping: Improved handling of project metadata, dependencies, and custom sections
  • Custom Fields Support: Preserve non-standard fields during conversion with proper namespacing

New Commands

# Convert pyproject.toml to pypackage.json
pydep convert --from toml

# Convert pypackage.json to pyproject.toml
pydep convert --to toml

Technical Improvements

Field Handling

  • Standard Fields: Direct mapping of common fields (name, version, description, etc.)
  • Project URLs: Proper handling of project.urls section
  • Custom Sections: Support for arbitrary project metadata with dot notation
  • Raw Content: Non-standard content preserved in _raw section when needed

Performance

  • Optimized TOML parsing and generation
  • Reduced memory usage during conversion
  • Faster handling of large dependency trees

Breaking Changes

  • The _raw field in pyproject section now only contains non-standard content
  • Field naming in converted files follows a more consistent pattern

Migration Guide

From 1.0.x to 1.1.0

  1. Update your installation:

    pip install --upgrade pydepm
  2. Convert existing projects:

    # For projects with pyproject.toml
    pydep convert --from toml
    
    # For existing pypackage.json
    pydep convert --to toml

Example Conversion

Input: pyproject.toml

[project]
name = "my-project"
version = "0.1.0"

[project.urls]
Homepage = "https://example.com"

Output: pypackage.json

{
  "name": "my-project",
  "version": "0.1.0",
  "pyproject": {
    "project.urls": {
      "Homepage": "https://example.com"
    }
  }
}

Known Issues

  • Some complex TOML structures might require manual adjustment after conversion
  • Comments in TOML files are not preserved during conversion

Future Roadmap

  • Support for more build backends
  • Enhanced validation of converted files
  • Better handling of development dependencies
  • Integration with more Python packaging tools

Contributors

Special thanks to all contributors who helped make this release possible.

Installation

pip install --upgrade pydepm

Documentation

For more information, please visit our GitHub repository.

PyDepM 1.0.9

25 Sep 21:42

Choose a tag to compare

Release Notes - PyDepM 1.0.9

Executive Summary

Version 1.0.9 of PyDepM introduces significant performance improvements in dependency installation, reducing installation time by over 40% and positioning itself as a competitive alternative to Poetry and PDM.

Key Improvements

Performance Optimization in Dependency Installation

  • Internal refactoring: Replaced subprocess pip calls with direct pip._internal APIs
  • Reduced overhead: Eliminated the cost of spawning new Python processes for each pip command
  • Cache improvement: Optimized cache utilization during installation
  • Result: Installation time reduced from 7.03s to 4.09s on average

Benchmark Results

Speed Comparison - Dependency Addition

Test date: September 25, 2025

Dependency Manager Average Time 1.0.8 Average Time 1.0.9 Improvement
PyDepM 7.03s 4.09s 42% faster
Poetry 5.61s 3.31s Faster baseline
PDM 4.79s 4.14s Similar performance

Detailed Benchmark Runs

Run PyDepM 1.0.9 Poetry PDM
1 4.17s 3.23s 3.88s
2 4.02s 3.40s 4.39s

Installation

pip install --upgrade pydepm

Technical Details

Implemented Changes

  • Reimplemented pip and pip_download using pip._internal.cli.main.main
  • Significant reduction in I/O operations
  • Improved internal process management
  • Optimized cache utilization

Key Findings

Strengths

  • Improved performance: Dependency installation is now 1.7x faster than version 1.0.8
  • Competitiveness: Performance within 0.7-0.8 seconds of Poetry
  • Fast initialization: Maintains fastest project initialization speed (under 1 second)
  • Consistency: Performance comparable or superior to PDM depending on test run

Areas for Continued Improvement

  • 20-25% difference from Poetry in dependency addition
  • Opportunities in parallel installation and cache optimization

Performance Summary

Operation PyDepM 1.0.8 PyDepM 1.0.9 Status
Project Initialization 0.59s 0.59s Fastest
Dependency Addition 7.03s 4.09s Significantly improved

Development Roadmap

Planned Next Improvements

  • Parallel installation: Leveraging multiple CPU cores
  • Enhanced caching: Optimized reuse across projects
  • I/O reduction: Minimizing disk operations
  • Experimental resolver: Faster dependency resolution

Conclusion

PyDepM 1.0.9 represents a significant milestone in closing the performance gap with Poetry and PDM. While maintaining the fastest project initialization in its category, dependency installation is now competitive and efficient.

PyDepM 1.0.8

25 Sep 00:26

Choose a tag to compare

Release Notes - PyDepM 1.0.8

Improvements

  • Enhanced Project Initialization:
    • Interactive prompts now guide you through project setup
    • Choose between app or module project types
    • Option to generate just pypackage.json or a full project structure
    • Automatic project name suggestion based on directory name

📦 Installation

pip install --upgrade pydepm

Release Notes

This minor update (1.0.8) focuses on improving the project initialization experience. The new interactive prompts make it easier to set up new projects with your preferred configuration.

Technical Details

  • Added interactive prompts for project initialization
  • Improved project template generation
  • Better handling of project name defaults

Benchmarks section:

Performance Benchmark Results

Based on local benchmark tests conducted on September 25, 2025, PyDepM shows excellent performance in project initialization while dependency addition has room for improvement.

Initialization Speed Comparison

Dependency Manager Average Time Performance vs PyDepM
PyDepM 0.59s Baseline
Poetry 1.53s 159% slower
PDM 4.03s 583% slower

Dependency Addition Speed Comparison

Dependency Manager Average Time Performance vs PyDepM
PyDepM 7.03s Baseline
Poetry 5.61s 25% faster
PDM 4.79s 47% faster

Key Findings

Strengths 🟢

  • PyDepM is 2.6x faster than Poetry in project initialization
  • PyDepM is 6.8x faster than PDM in project initialization
  • Consistent sub-second initialization times (0.56-0.61s)
  • Excellent performance for rapid project setup

Areas for Improvement 🔴

  • Dependency addition is currently slower than both Poetry and PDM
  • Average dependency addition time: 7.03s vs 4.79s (PDM) and 5.61s (Poetry)
  • This is a known area we're actively optimizing

Performance Summary

Operation PyDepM Performance Status
Project Initialization 🥇 Fastest Excellent
Dependency Addition 🥉 Needs optimization In progress

Development Roadmap

We're actively working on optimizing dependency management performance. The current focus includes:

  • Improving dependency resolution algorithms
  • Implementing parallel package installation
  • Enhancing caching mechanisms
  • Reducing I/O operations during dependency addition

Note: Benchmark conducted with multiple test runs using Python 3.x on standard hardware. Test dependencies: requests, click, colorama.


We believe in transparent benchmarking - while PyDepM excels at project initialization, we acknowledge the current performance gap in dependency addition and are committed to closing it in future releases.

PyDepM 1.0.7

24 Sep 20:16

Choose a tag to compare

Release Notes - PyDepM 1.0.7

Bug Fixes

  • Optional Dependencies Handling: Fixed bidirectional conversion between pypackage.json and pyproject.toml to properly preserve optional dependency groups.
  • Version Consistency: Updated version to 1.0.7 across all project files for consistency.

Improvements

  • Conversion Experience: Enhanced the conversion process to correctly handle project metadata during format conversion.
  • User Feedback: Improved console messages during conversion to make the process clearer for users.

📦 Installation

pip install --upgrade pydepm

Release Notes

This patch release (1.0.7) focuses on fixing minor conversion issues and improving the overall stability of the tool. The update is recommended for all users working with optional dependencies.

Technical Details

  • Fixed version handling in pyproject.toml
  • Ensured compatibility with optional dependency specifications
  • Improved internal code documentation

PyDepM v1.0.6

24 Sep 19:50

Choose a tag to compare

v1.0.6 Release Notes

Key Changes

New Features

  • clear-cache Command: Added a new command to manage package cache with options to clear all cache or only entries older than a specified number of days.
  • convert --from toml Command: Added support for converting existing pyproject.toml files to pypackage.json format.

Bug Fixes

  • Cache Management: Fixed an issue where the package cache could grow indefinitely.
  • Error Handling: Improved error messages during cache operations.

Technical Improvements

  • Code Structure: Reorganized cache management code for better maintainability.
  • Console Output: Enhanced console messages for better user feedback during operations.

New Commands

# Clear entire package cache
pydep clear-cache

# Clear cache older than specified days
pydep clear-cache --max-age 30

# Convert from pyproject.toml to pypackage.json
pydep convert --from toml

Update Instructions

pip install --upgrade pydepm

Detailed Technical Changes

  • Implemented new clear_cache_command function in CLI module
  • Added TOML to pypackage.json conversion functionality
  • Enhanced error handling and user feedback
  • Updated documentation with new commands and examples

This update focuses on improving cache management and configuration file interoperability.

PyDepM v1.0.5

24 Sep 19:04

Choose a tag to compare

v1.0.5 Release Notes

Key Changes

Bug Fixes

  • _raw in pyproject.json: Fixed the issue preventing proper processing of _raw content in pyproject configuration.
  • deep_merge method: Moved into the PyPackage class to enable proper TOML generation.

Technical Improvements

  • Code Structure: Reorganized for better maintainability.
  • Error Messages: Enhanced error messages for custom TOML content processing.

Update Instructions

pip install --upgrade pydepm

Detailed Technical Changes

  • Fixed the to_pyproject function to correctly handle _raw content.
  • Improved internal code documentation.

This is a minor update focusing on configuration processing issues, with no major functionality changes.

PyDepM 1.0.4

24 Sep 00:21

Choose a tag to compare

PyDepM v1.0.4 Release Notes

Upgrade Instructions

Upgrade from previous version

pip install pydepm==1.0.4

Or using upgrade flag

pip install --upgrade pydepm

🆕 What's New in v1.0.4

Interactive Virtual Environment Management

  • Smart Venv Handling: Commands now ask before creating virtual environments when they don't exist
  • Interactive Controls: New --interactive/--non-interactive flags for run, audit, why, and outdated commands
  • Graceful Fallback: If user declines venv creation, commands continue using system Python

Improved User Experience

  • Clearer Messages: More informative status updates and error messages
  • Better Error Handling: More robust exception handling for network and disk operations
  • Cache Management: Automatic cleanup of old packages (>30 days) from global cache

🔧 Technical Improvements

Virtual Environment System

  • Robust Detection: Better verification of existing virtual environments
  • Flexible Configuration: Enhanced support for projects with global dependencies
  • Error Recovery: Clearer messages when venv creation fails

Dependency Management

  • Smart Caching: Improved package caching with automatic cleanup
  • Version Handling: Better support for version specifiers (caret, tilde, etc.)
  • Lockfile Optimization: Faster generation of pypackage-lock.json

Command Enhancements

  • pydep run: Interactive venv creation with better script execution
  • pydep audit: Enhanced vulnerability tables with extended view option
  • pydep why: Faster dependency graph analysis
  • pydep outdated: Improved table formatting

📚 Documentation Updates

Completely Rewritten README

  • Accurate Information: All features now correctly documented
  • Practical Examples: Step-by-step guides for different use cases
  • PyDepX Section: Dedicated documentation for the enhanced execution tool
  • Better Navigation: Improved table of contents and organization

User Guides

  • Project Types: Clear explanation of "app" vs "module" differences
  • Advanced Configuration: Detailed pypackage.json examples
  • Troubleshooting: Common issues and solutions

🐛 Bug Fixes

Resolved Issues

  • Venv Creation: Inconsistent behavior across different commands
  • Interrupt Handling: Better response to Ctrl+C during long operations
  • Windows Compatibility: Path and executable issues on Windows
  • Configuration Validation: Improved handling of invalid pypackage.json

Stability Improvements

  • Exception Handling: More robust error handling for network and disk operations
  • Resource Management: Proper cleanup of temporary files
  • Signal Handling: Better handling of system interrupts and termination

🔄 API Changes

New Parameters

# Available in interactive commands
interactive: bool = typer.Option(True, "--interactive/--non-interactive")

Behavioral Changes

  • Default Values: Query commands are now interactive by default
  • Console Messages: More consistent and informative formatting
  • Exit Codes: More specific codes for different error types

📊 Performance Optimizations

Speed Improvements

  • Dependency Cache: Intelligent reuse of downloaded packages
  • Graph Analysis: More efficient dependency graph searching in why command
  • Parallel Operations: Better resource utilization for I/O operations

🌐 Compatibility Matrix

Python Versions

  • ✅ Python 3.9 (Fully supported)
  • ✅ Python 3.10 (Fully supported)
  • ✅ Python 3.11 (Fully supported)
  • ✅ Python 3.12 (Fully supported)
  • ✅ Newer

Operating Systems

  • ✅ Windows 10/11 (Enhanced support)
  • ✅ macOS 10.15+ (Fully supported)
  • ✅ Linux (Ubuntu 18.04+, CentOS 7+) (Fully supported)

🚨 Potential Breaking Changes

Modified Behavior

  1. Interactive Commands: run, audit, why, and outdated now prompt for venv creation

    • Migration: Use --non-interactive for previous behavior
  2. Venv Handling: Some commands may now use system Python if user declines venv creation

    • Verification: Check scripts that assume existing venv

📈 What's Next

Planned for v1.1.0

  • Development environment support (devcontainers)
  • Integration with additional build backends (poetry, flit)
  • Plugin system for custom commands

In Development

  • Better monorepo support
  • CI/CD pipeline integration
  • Export to other formats (requirements.txt, conda)

Upgrade now:

pip install --upgrade pydepm

Full documentation: README.md

Report issues: GitHub Issues


PyDepM v1.0.4 continues our commitment to making Python project management intuitive and powerful. Thank you for being part of our journey! 🐍✨

PyDepM 1.0.3

23 Sep 19:42
cbb06f1

Choose a tag to compare

PyDepM v1.0.3 - First Official Release 🚀

Core Functionality

  • Project Initialization
    • Create new projects with pydep init --type {app|module}
    • Support for both application and module type projects
    • Automatic virtual environment management

Dependency Management

  • Package Management
    • Add packages: pydep add [package]
    • Remove packages: pydep remove [package]
    • Update packages: pydep update [package]
    • List installed packages: pydep list
    • Check outdated packages: pydep outdated
    • Security audit: pydep audit

Build System

  • Application Projects

    • Build standalone executables with pydep build
    • Customizable build parameters in pypackage.json
  • Module Projects

    • Generate pyproject.toml for PEP 621 compliance
    • Build distributable packages

Script Execution

  • Run project scripts: pydep run [script-name]
  • Enhanced script running with pydepx utility:
    • pydepx black . - Run tools with rich output
    • pydepx -m http.server 8000 - Run modules as scripts

📦 Project Structure

Application Projects

  • Simple project structure
  • Focus on creating standalone executables
  • Optional pyproject.toml support

Module Projects

  • Full Python package structure
  • Built-in pyproject.toml support
  • Entry points and console scripts

🛠️ Configuration

pypackage.json Features

  • Dependency management
  • Script definitions
  • Build configurations
  • Project metadata

🌟 Highlights

  • Modern Python Tooling: Built with the latest Python standards
  • Developer Experience: Intuitive CLI with helpful error messages
  • Flexible: Works with both applications and libraries
  • Secure: Built-in security auditing with pydep audit

📝 Quick Start

# Create a new project
pydep init my-project --type app
cd my-project

# Add dependencies
pydep add requests pytest

# Install dependencies
pydep install

# Run your application
pydep run start

🔄 Compatibility

  • Python 3.9 or higher
  • Works on Windows, macOS, and Linux

📥 Download now: pip install pydepm

📚 Documentation: GitHub Repository

🐛 Found a bug? Please open an issue on GitHub!


This is the first official release of PyDepM, bringing a modern approach to Python project management. We're excited to see what you'll build with it! 🚀