Releases: hysds/chimera
v2.3.0: Chimera framework version 2.3.0
Bug fixes and enhancements:
- HC-563: Migrate for Python 3.12 compatibility (#26)
- Add development dependencies for Python 3.12 upgrade testing
- Add pytest framework with coverage and mocking support
- Include code quality tools (black, isort, flake8, pylint, mypy)
- Add pyupgrade for Python 3.12 syntax modernization
- Include performance testing with pytest-benchmark
- Support parallel test execution with pytest-xdist
These dependencies enable comprehensive unit testing during the
Python 3.12 migration process.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Create unit test directory structure
Initialize tests/unit/ directory for isolated unit tests that don't
require external services or specific local development environments.
This structure supports the Python 3.12 migration testing strategy
by providing a clean separation between unit tests and the existing
integration-style tests.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Add test fixtures and pytest configuration
-
Create comprehensive test fixtures for configuration files:
- sample_chimera_config.yaml - Valid chimera configuration
- sample_pge_config.json - Valid PGE configuration
- sample_sf_context.json - Valid SciFlo context
- sample_settings.yaml - Valid settings file
- invalid_config.yaml - Invalid YAML for error testing
-
Add conftest.py with shared pytest fixtures for:
- Fixture path management
- Temporary file/directory creation
- Consistent test data access across test modules
These fixtures enable isolated testing without external dependencies
or hardcoded local paths, supporting reliable Python 3.12 migration
validation.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Add comprehensive unit tests for ChimeraConstants
Implement 21 test cases covering:
- Constant value validation and correctness
- String type enforcement for all constants
- Uniqueness validation (no duplicate values)
- Accessibility from both class and instance
- Integration patterns (dict keys, string operations)
- Immutability concepts and best practices
Tests achieve 100% coverage of chimera.commons.constants module
and validate all expected constants are properly defined with
correct values.
This establishes a solid foundation for regression testing during
the Python 3.12 migration process.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Add comprehensive unit tests for configuration utilities
Implement 22 test cases covering YamlConf class and load_config function:
YamlConf class tests:
- Initialization with valid/invalid YAML files
- Property access (file, cfg) and error handling
- Configuration key retrieval and missing key exceptions
- String representation and JSON serialization
- Mock-based testing for file operations
load_config function tests:
- YAML and JSON file loading with proper format detection
- Error handling for non-existent and malformed files
- File extension validation and unsupported format rejection
- OrderedDict preservation for JSON files
- Integration with YamlConf for YAML processing
Tests achieve 71% coverage of chimera.commons.conf_util module,
focusing on critical paths and error scenarios. Missing coverage
is primarily in unused utility classes.
All tests use isolated fixtures and mocking, eliminating dependencies
on external services or specific file system layouts.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Add Phase 1 test execution script and documentation
-
Add test_phase1.sh: Docker-based test runner for Phase 1 unit tests
- Uses Python 3.12 container for consistent testing environment
- Installs dependencies and runs tests with coverage reporting
- Provides clear output formatting and completion status
-
Add UNIT_TESTING_PLAN.md: Comprehensive testing strategy documentation
- 4-phase testing approach for Python 3.12 migration
- Mock strategies for external dependencies
- Test infrastructure setup and success criteria
- Integration guidelines with migration plan
Phase 1 testing validates configuration utilities and constants
with 43 test cases achieving 79% overall coverage. All tests pass
in Python 3.12 environment, establishing baseline for migration
validation.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Update setup.py dependencies for Python 3.12 compatibility
- Add python_requires=">=3.12" constraint
- Update elasticsearch to >=7.10.0,<8.0.0 (Python 3.12 compatible)
- Update elasticsearch-dsl to >=7.4.0,<8.0.0
- Update requests to >=2.28.0 (Python 3.12 support)
- Update simplejson to >=3.18.0 (Python 3.12 support)
- Add PyYAML>=6.0 (replaces yaml package, Python 3.12 support)
Resolves missing yaml module import errors in Python 3.12 environment.
Part of Phase 2: Docker Remote Interpreter Setup.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Add Docker-based development scripts for Python 3.12
- tests/test.sh: Run pytest in Python 3.12 Docker container
- tests/lint.sh: Run flake8, black, and isort checks in Docker
- tests/format.sh: Apply pyupgrade, black, and isort formatting in Docker
All scripts use python:3.12 container for consistent development environment.
Scripts are executable and handle non-TTY environments properly.
Placed in tests/ directory to keep repository root clean.
Part of Phase 2: Docker Remote Interpreter Setup.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Update CLAUDE.md with Docker-based development workflow
- Document Python 3.12 Docker container usage for development
- Add Docker workflow commands for testing and code quality
- Update script paths to tests/ directory location
- Provide both Docker and traditional development options
- Include interactive development session instructions
Part of Phase 2: Docker Remote Interpreter Setup.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Apply Python 3.12 code formatting and modernization
- Run pyupgrade --py312-plus on all Python files
- Apply black code formatter for consistent style
- Apply isort for standardized import ordering
- Reduce flake8 issues from 30+ to 13 minor violations
- Modernize string formatting and code patterns
- All 30 unit tests continue to pass after formatting
Automated formatting improves code quality and consistency.
Part of Phase 2: Docker Remote Interpreter Setup.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Document Phase 2 completion in Python 3.12 upgrade plan
- Mark Phase 2: Docker Remote Interpreter Setup as completed
- Document key achievements and implementation details
- Record testing results: 30 unit tests passing in Python 3.12
- Note code quality improvements: reduced flake8 issues
- Update status of all Phase 2 objectives as completed
Phase 2 successfully establishes Docker-based development workflow.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Remove duplicate development scripts from repository root
Scripts were moved to tests/ directory in previous commit.
Keeping repository root clean by removing duplicates.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- Organize repository structure and update gitignore
- Move plan documents to plans/ directory for better organization
- Add .claude/ and .serena/ to gitignore (AI assistant directories)
- Add *.egg-info/, .coverage, .pytest_cache/ to gitignore
- Keep repository root clean with dedicated plans directory
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
- revert dependencies
Co-authored-by: Mike Cayanan michael.d.cayanan@jpl.nasa.gov
Co-authored-by: Sujen Shah sujen1412@gmail.com
Co-authored-by: Claude noreply@anthropic.com
v2.2.4: Chimera framework version 2.2.4
Bug fixes and enhancements:
- HC-522-update: Updates to support moving away from OPS user (#22)
- Use system cp call to update SELinux context label
v2.2.3: Chimera framework version 2.2.3
Bug fixes and enhancements:
- handle localizing files in dict (#21)
- bump version
v2.2.2: Chimera framework version 2.2.2
Bug fixes and enhancements:
- HC-422 Add out of space error handling (#19)
v2.2.1: Chimera framework version 2.2.1
v2.2.0: Chimera framework version 2.2.0
Bug fixes and enhancements:
- NSDS-1730: implement accountability re-design (#15)
- bump version
v2.1.5: Chimera framework version 2.1.5
Bug fixes and enhancements:
- pin elasticsearch==7.13.4 in requirements.txt
- bump version
v2.1.4: Chimera framework version 2.1.4
Bug fixes and enhancements:
- HC-317: various improvements to the chimera precondition evaluator's runconfig preparation (#13)
- various improvements to the chimera precondition evaluator's runconfig preparation
- make empty field identifier overridable in PGE config
- bump version
- restore optional_fields feature
- Update chimera/precondition_evaluator.py
- Co-authored-by: Michael Cayanan 42812746+mcayanan@users.noreply.github.com
v2.1.3: Chimera framework version 2.1.3
Bug fixes and enhancements:
- HC-256: Update PostProcessor to use hysds_commons ElasticSearch library (#12)
- Also did some refactoring and cleanup
- bump version