Releases: luk036/py2cpp
Releases · luk036/py2cpp
1.5
Full Changelog: 1.4.11...1.5
Release Notes: py2cpp v1.5
Overview
This release introduces several enhancements to the py2cpp library, a header-only C++ library designed to bring Python-like features to modern C++. Key improvements include expanded unit test coverage, code optimizations, and updates to build configurations.
🚀 New Features & Improvements
1. Enhanced Unit Test Coverage
- Added comprehensive unit tests for Boost Graph adaptors (
test_nx2bg1.cpp):GrAdaptorfor graph operationsVertexViewandEdgeViewfor graph traversalAtlasViewfor neighbor iteration
- Added tests for Python-like data structures:
py::dictmethods includingcontains,get,items,copy, andlenpy::enumerateandpy::const_enumeratefor iterable indexing
- Extended tests for
Fractionclass infractions.hpp:- Arithmetic operations (
+,-,*,/) - Comparison operators (
<,<=,>,>=,==,!=) - In-place operations (
+=,-=,*=,/=)
- Arithmetic operations (
2. Code Optimizations
- Performed code optimizations via Gemini CLI
- Applied
fix-formatto ensure consistent code style
3. Build System Updates
- Upgraded C++ standard from C++14 to C++17
- Added Boost support in XMake configuration:
- Included
boostpackage dependency - Added Boost-specific test files to the build
- Included
- Improved compiler flag handling for Linux and Windows platforms
🛠️ Development Workflow Improvements
- Updated
CMakeLists.txtto use C++17 standard - Enhanced XMake configuration for better cross-platform compatibility
- Added
[[maybe_unused]]attribute to silence compiler warnings in range-based loops
✅ Testing
- All new tests pass successfully using the
doctestframework - CI pipeline now includes Boost-based tests via XMake
📦 Dependencies
- Added explicit dependency on Boost library for graph-related features
- Maintained compatibility with
fmtanddoctest
🔧 Known Issues
- None reported in this release
📄 Documentation
- Documentation can still be generated via Doxygen using the provided CMake targets
Contributors
- luk036 (all commits)
Full Commit Summary
b81445c: feat: Add more unit tests for boost5c26186: add more unit testsdfbf36f: fix xmake compilation issueffb69b9: perform code optimization by Gemini CLI; apply fix-format
1.4.11
Release Notes: py2cpp v1.4.11
Overview
This release focuses on cleanup and maintenance, removing deprecated features and updating the project version.
Changes
- Version Update: Bumped project version from
1.4.10to1.4.11inCMakeLists.txt. - Removed Standalone Workflow: Renamed
.github/workflows/standalone.ymlto.github/workflows/standalone.bak, indicating deprecation. - Removed Greeter Module: Deleted the
greeterfeature, including:include/py2cpp/greeter.hsource/greeter.cpptest/source/greeter.old
- CI Badge Cleanup: Removed the outdated "Style" workflow badge from
README.md. - Build System Tweaks: Commented out standalone directory inclusion in
all/CMakeLists.txt.
Contributors
- luk036: Authored all commits in this release.
Full Details
For a complete diff, see the GitHub comparison.
Note: This release reduces codebase complexity by removing unused components.
new documentation build
1.4.10 new documentation
Update the third part libraries
1.4.9 set version 1.4.9
code cleanup for documentation
Full Changelog: 1.4.7...1.4.8
use latest ModernCppStarter as template
Full Changelog: 1.4.6...1.4.7
add at() and make it work
1.4.6 add at() method
add at() for compatability with standard
1.4.5 add at() for compatability
add Lict (Dict-like data structure by std::vector)
1.4.4 apply fix-format
fix for py::enumerate
1.4.3 fix for py::enumerate