Releases: ZtaMDev/PyDepM
PyDepM 1.1.2
Release Notes - PyDepM 1.1.2
Installation
# Install the latest version
pip install --upgrade pydepmor
# Install specific version
pip install pydepm==1.1.2Executive 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 addoperations - 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
--logsflag 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 pydepmNo 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 package3Known 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
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 tomlTechnical Improvements
Field Handling
- Standard Fields: Direct mapping of common fields (name, version, description, etc.)
- Project URLs: Proper handling of
project.urlssection - Custom Sections: Support for arbitrary project metadata with dot notation
- Raw Content: Non-standard content preserved in
_rawsection when needed
Performance
- Optimized TOML parsing and generation
- Reduced memory usage during conversion
- Faster handling of large dependency trees
Breaking Changes
- The
_rawfield inpyprojectsection 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
-
Update your installation:
pip install --upgrade pydepm
-
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 pydepmDocumentation
For more information, please visit our GitHub repository.
PyDepM 1.0.9
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._internalAPIs - 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 pydepmTechnical Details
Implemented Changes
- Reimplemented
pipandpip_downloadusingpip._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
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.jsonor a full project structure - Automatic project name suggestion based on directory name
📦 Installation
pip install --upgrade pydepmRelease 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
Release Notes - PyDepM 1.0.7
Bug Fixes
- Optional Dependencies Handling: Fixed bidirectional conversion between
pypackage.jsonand 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 pydepmRelease 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
v1.0.6 Release Notes
Key Changes
New Features
clear-cacheCommand: 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 tomlCommand: 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 tomlUpdate Instructions
pip install --upgrade pydepmDetailed 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
v1.0.5 Release Notes
Key Changes
Bug Fixes
_rawin pyproject.json: Fixed the issue preventing proper processing of_rawcontent 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 pydepmDetailed Technical Changes
- Fixed the to_pyproject function to correctly handle
_rawcontent. - Improved internal code documentation.
This is a minor update focusing on configuration processing issues, with no major functionality changes.
PyDepM 1.0.4
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-interactiveflags forrun,audit,why, andoutdatedcommands - 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 executionpydep audit: Enhanced vulnerability tables with extended view optionpydep why: Faster dependency graph analysispydep 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.jsonexamples - 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
whycommand - 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
-
Interactive Commands:
run,audit,why, andoutdatednow prompt for venv creation- Migration: Use
--non-interactivefor previous behavior
- Migration: Use
-
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 pydepmFull 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
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
- Create new projects with
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
- Add packages:
Build System
-
Application Projects
- Build standalone executables with
pydep build - Customizable build parameters in pypackage.json
- Build standalone executables with
-
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
pydepxutility:pydepx black .- Run tools with rich outputpydepx -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! 🚀