Cookiecutter - #6
Merged
Merged
Conversation
- Introduce a new CLI module with Typer for command-line interface support. - Add a project initialization command that uses cookiecutter to scaffold new projects from a template. - Update top-level __init__.py to check for pixi dependency and provide a helpful error message if missing.
…cutter, and sh - Added typer (>=0.21.0,<0.22) to core dependencies in pyproject.toml and pixi.lock. - Added loguru (>=0.7.3,<0.8) to core dependencies in pyproject.toml and pixi.lock. - Added cookiecutter (>=2.6.0,<3) to core dependencies in pyproject.toml and pixi.lock. - Added sh (>=2.2.2,<3) to core dependencies in pyproject.toml and pixi.lock. - Updated pixi.lock to use conda sources for several dependencies previously sourced from PyPI.
…ol and dependency configuration - Introduce a comprehensive pyproject.toml template for new projects generated by the CLI. - Configure build system, formatting, linting, testing, and packaging tools (setuptools, black, isort, ruff, pytest, coverage, etc.). - Define project metadata, dependencies, and entry points. - Add Pixi environment and feature configuration for development, testing, docs, notebooks, and CUDA support.
…overage checks - Update interrogate hook configuration to exclude the scripts directory.
… and FastAPI example - Introduce a new project template under ml_cli/templates/project using cookiecutter variables for flexible project generation. - Add FastAPI example app and CLI structure to the template. - Include configuration files such as .gitignore, .pre-commit-config.yaml, MANIFEST.in, mkdocs.yaml, and pyproject.toml with cookiecutter templating. - Remove old ml_cli modules (models.py, preprocessing.py, schemas.py, utils.py) to clean up unused code. - Update ruff configuration in root and template pyproject.toml to use lint.select instead of select.
- Update sha256 hash for pyml-cli in pixi.lock to reflect new package version.
…update version to 0.1.4 - Renamed all occurrences of ml_cli to pyml_cli, including __init__.py and version.py. - Removed the old ml_cli/cli.py custom CLI skeleton. - Added pyml_cli/cli/__init__.py to initialize the CLI package. - Bumped version to 0.1.4 in pyproject.toml, pixi.lock, and .bumpversion.toml. - Updated sha256 hash for pyml-cli in pixi.lock. - Added release notes for v0.1.4. Renaming the package directory is a breaking change for any code or scripts importing from ml_cli.
…o pyml_cli and enhance template structure - Renamed all template files and directories from ml_cli to pyml_cli to reflect new package naming. - Added .devcontainer, .github workflows, and documentation files to the project template for improved developer experience and CI/CD support. - Updated CLI initialization and project scaffolding to use pyml_cli namespace. - Removed old ml_cli template files and replaced with updated pyml_cli equivalents. - Added new configuration files for code style, documentation, and release automation in the template. - Updated pyproject.toml and pixi.lock to reference pyml_cli and include vulture configuration.
- Deleted tests/test___init__.py as it contained no test logic.
- Update all references from ml_cli to pyml_cli in configuration, scripts, and documentation. - Adjust bumpversion and vulture tool paths to reflect new package name. - Update test docstring to reference pyml_cli.cli.
…-commit and dependencies - Add marimo to project dependencies in pyproject.toml and template pyproject.toml. - Add a sample marimo notebook to the project template notebooks directory. - Update .pre-commit-config.yaml and template to remove black and adjust ruff/interrogate excludes for marimo and template files. - Update pixi.lock with new dependencies required for marimo and its ecosystem.
- Change error message from 'pyds' to 'pyml-cli' to accurately reflect the package name when pixi is not installed.
…nt setup, and deployment - Update code-style workflow to use latest actions, improved caching, and Pixi/uv setup. - Enhance docs workflow with build verification, PR preview, and improved deployment logic. - Refactor pr-tests workflow to use a matrix strategy, conditional test execution, and better environment management. - Update CLI script entry point from 'pyml-cli' to 'pyml' in pyproject.toml. - Update pixi.lock to reflect new package hash.
…PR test workflow - Delete steps for installing Ollama and pulling the Gemma model in the PR test workflow. - Remove caching of Ollama model data for bare-package tests.
|
…orkflow - Eliminate 'bare-package' from test matrix in pr-tests.yaml. - Remove steps for running bare package tests for both pixi and uv environments. - Update environment setup logic to reflect removal of bare-package. - Adjust smoke test command for pixi from 'pyml-cli' to 'pyml'.
- Updated pyproject.toml to include 'sh' in the dependencies list. - Updated pixi.lock to reflect the addition of 'sh' and the new hash for pyml-cli.
…ed configs - Update sh dependency in pyproject.toml and pixi.lock to require version 2.1 instead of a range. - Update conda package references for sh to version 2.1.0 in pixi.lock. - Adjust pre-commit interrogate exclude pattern for templates directory.
…lated steps - Update test matrix to only use 'pixi' for environment-type. - Remove matrix exclusions related to 'uv' and test types. - Delete all steps related to setting up and running tests with 'uv'.
…s in pr-tests workflow - Change environment-type in matrix from string to list to ensure proper matrix expansion. - Update conditional for running smoke tests to remove redundant environment-type check.
- Introduce a new cookiecutter.json file for project templates. - Define project metadata and computed fields for consistent naming conventions.
…n CLI - Introduce new system.py module with status and init commands for system tool checks and bootstrapping. - Refactor project.py to rename initialize to init and fix docstring typo. - Update __init__.py to register new commands and improve Typer app configuration. - Update GitHub Actions templates to use Jinja-style variable interpolation for compatibility with cookiecutter. - Remove check-yaml from pre-commit config.
…f pixi run pyml - Replaces the smoke test command from 'pixi run pyml' to 'pyml --help' in the GitHub Actions workflow. - Ensures the smoke test checks the CLI help output directly, which may be more robust or appropriate for the test context.
… command in PR workflow - Change environment selection logic to use 'smoke-tests' for 'unit-tests' test-type in pixi setup. - Update smoke test step to use 'pixi run -e default pyml --help' instead of just 'pyml --help'.
…ent and simplify smoke test command - Set pixi environments to 'default' instead of conditional value. - Remove '-e default' from smoke test command for pixi.
…ding test - Introduce read_config utility to load .pyml.yaml from home directory. - Raise informative error if config file is missing. - Add test to verify CLI configuration and config file reading.
…ig YAML handling to ruamel.yaml - Introduce 'configure' command for initial user setup via CLI. - Add 'version' command to print current pyml version. - Switch YAML config handling from PyYAML to ruamel.yaml for round-trip support. - Update dependencies and lockfile to include ruamel.yaml and ruamel.yaml.clib. - Fix test typo in test_configure docstring. - Remove unused/empty test_cli.py and test_models.py files.
…nt for unit tests - Change pixi environments input to include both 'default' and 'tests'. - Update unit test step to run tests in the 'tests' environment using 'pixi run -e tests test'.
…rkflow - Update the environments array in the pr-tests.yaml workflow to use explicit string quoting for compatibility.
… setup in PR tests workflow - Deleted the 'environments' parameter from the 'Setup pixi' step as it is no longer needed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.