Skip to content

Comments

Version 3.0.0#21

Draft
piyanatk wants to merge 16 commits intomeerklass:mainfrom
piyanatk:main
Draft

Version 3.0.0#21
piyanatk wants to merge 16 commits intomeerklass:mainfrom
piyanatk:main

Conversation

@piyanatk
Copy link
Collaborator

@piyanatk piyanatk commented Jan 14, 2026

This PR contains several updates to be release as v3.0.0.

New features

  • Add CI infrastructure to automate unit tests, document building and publishing on readthedocs, and publishing the code on PyPI
  • Add pre-commit hook to auto check and format code style with ruff
  • Add ability to load pipeline config from a file path, i.e. config does not have to be in a repository
  • Add help texts to ivory/cli/main.py

Improvements

  • Update documentation
  • Check and format code style

- Add ability to load configs from absolute, relative, and tilde-expanded paths
- Maintains full backward compatibility with module-based configs
- Enhanced CLI help with comprehensive usage examples
- Updated documentation (README, usage guide, changelog) for v3.0.0
- Added 6 comprehensive tests covering all file path scenarios:
  * User-writable directories
  * Relative paths
  * Command-line overrides
  * Full workflow integration
  * Error handling for missing files
- All 23 tests passing

This allows users to place configuration files anywhere on the filesystem
without requiring them to be part of an installed Python package.

Closes #XX
- Pin pytest to >=8.0.0 from 7.1.3
- Eliminates DeprecationWarnings from pytest's internal AST usage
- Ensures compatibility with Python 3.12
- All 23 tests passing without warnings
- Added detailed explanation of how context works in usage docs
- Documented in-memory data flow between plugins
- Explained performance benefits (1000x faster than disk I/O)
- Added plugin requirements and data passing patterns
- Updated README with architecture overview
- Modernized installation docs with Python 3.12 requirements
- Updated requirements.txt to match pyproject.toml (numpy 2.0, pytest 8.0+)
- Added quick start guide to installation docs
- Add GitHub Actions workflows for testing, linting, docs, and releases
- Configure Read the Docs integration with .readthedocs.yaml
- Update README with status badges (CI, docs, PyPI, Python versions)
- Add READTHEDOCS_SETUP.md guide for maintainers
- Update CONTRIBUTING.rst with CI/CD information
- Test workflow runs on Python 3.10, 3.11, 3.12 matrix
- Lint workflow uses flake8 for code quality
- Docs workflow builds Sphinx documentation and uploads artifacts
- Release workflow automates PyPI publishing on version tags
@piyanatk piyanatk marked this pull request as draft January 14, 2026 17:56
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