Skip to content

Conversation

ericburcham
Copy link
Owner

This is only here to trigger merge checks.

Implement complete Python port of .NET DataJam with:

- Core abstractions mirroring .NET interfaces (IDataContext, IRepository, IUnitOfWork, etc.)
- SQLAlchemy-based implementation with async support
- Oracle-specific utilities for case sensitivity and sequences
- Comprehensive build automation using Nox (equivalent to NUKE)
- Modern Python tooling (ruff, black, mypy, pytest) with proper type hints
- Project structure following Python packaging standards
- Test framework foundation with TestContainers support

The implementation maintains the same architectural patterns as the .NET version
while being properly adapted for Python idioms and async/await patterns.
Complete the test infrastructure for Python DataJam implementation:

- Oracle TestContainer manager with proper lifecycle management
- Family domain test entities (Person, Father, Mother, Child) with inheritance
- SQLAlchemy entity mappings with Oracle naming conventions
- Integration test framework using pytest and async fixtures
- Working Oracle Free container setup with connection testing
- Test support utilities and domain-specific queries
- Updated dependencies to use modern python-oracledb driver

The test infrastructure now supports full integration testing against
real Oracle databases using TestContainers, following the same patterns
as the .NET implementation while being adapted for Python async/await.
- Add comprehensive GitHub Actions workflows for both .NET and Python builds
- Update README with detailed usage examples and Oracle support documentation
- Fix SQLAlchemy 2.0 compatibility by using DeclarativeBase instead of deprecated declarative_base
- Clean up unused imports in Oracle container manager
- All linting and type checking now passes
- Fix Oracle sequence generation by using explicit Sequence objects instead of autoincrement
- Resolve Oracle table existence checking by bypassing checkfirst parameter
- Add comprehensive unit test suite covering Repository, DataContext, Domain, and Oracle utilities
- Fix async event loop management in pytest fixtures by using function-scoped containers
- Improve SQLAlchemy 2.0 compatibility with DeclarativeBase and proper type handling
- Add mypy type ignores for SQLAlchemy complex typing edge cases
- All 36 tests now passing with 76% code coverage and complete build pipeline working
- Remove unused type ignore comments that were causing mypy errors
- Add back required type ignore for SQLAlchemy's first() return type
- Clean up Oracle utils type checking to resolve assignment warnings
- All linting checks now pass in both local and CI environments
…ironments

- Pin exact tool versions (ruff 0.8.0, black 24.10.0, mypy 1.13.0, isort 5.13.2) in pyproject.toml and noxfile.py
- Create unified _run_lint_tools() function used by all nox sessions (lint, datajam, ci)
- Add comprehensive mypy overrides for SQLAlchemy typing edge cases that vary by environment
- Configure GitHub Actions to use identical tool versions as local development
- Fix import sorting and remove unused type ignore comments
- All linting now produces identical results in nox -s lint, nox -s datajam, and CI environments
- Add .claude/settings.local.json to .gitignore and untrack from git
- Update .github/dependabot.yml to include Python package ecosystem monitoring
- Remove obsolete .github/workflows/nuke-build.yml (replaced by dotnet-build.yml)
- Update .github/workflows/dotnet-build.yml to trigger on all branches instead of specific branch list
- Repository now properly configured for both .NET and Python development workflows
- Update PYTHON_VERSIONS in noxfile.py from 3.13 to [3.10, 3.11, 3.12]
- Align nox configuration with GitHub Actions runner availability
- Resolves test session failures due to missing Python 3.13 interpreter in CI
- Revert noxfile.py back to Python 3.13 to match local development environment
- Update GitHub Actions matrix to use Python 3.13 instead of older versions
- Ensures consistent behavior between local development and CI/CD pipeline
- All nox sessions (test, lint) now work consistently in both environments
Remove invalid versioning-strategy option.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant