Skip to content

Releases: metaboulie/marimo-themes

v0.1.7

28 Feb 07:53
Compare
Choose a tag to compare

What's Changed

Improvements

  • refactor(docstring): correct docstring for the git_ignore flag

New theme

Full Changelog: v0.1.6...v0.1.7

v0.1.6

09 Feb 14:33
Compare
Choose a tag to compare

What's Changed

  • fix: use posix-style paths in modify_app_line to prevent escape sequence errors on Windows by @daliposc in #7

New Contributors

Full Changelog: v0.1.5...v0.1.6

v0.1.5

03 Dec 06:32
Compare
Choose a tag to compare

Release Note: motheme v0.1.5

New Features

Theme Management Enhancements

  • remove Command:
    Added a new remove command to streamline theme file management:

    • motheme remove <theme-one-name> <theme-two-name> ...
    • Interactive Confirmation Prompt: Confirms deletions before proceeding.
    • Non-Existent Theme Detection: Alerts users when attempting to remove missing themes.
    • Multiple Theme Removal: Supports deletion of multiple themes in a single command.
    • Safe Deletion Checks: Ensures no unintended file deletions.
  • create Command:
    Introduced a create command for duplicating existing themes to kickstart customizations:

    • motheme create <ref-theme-name> <new-theme-name>
    • Arguments: Accepts a reference theme and a new theme name.
    • Validation: Ensures the reference theme exists and avoids overwriting existing themes.
    • Theme Duplication: Creates a copy of the reference theme with the specified name.
    • Quiet Mode: Optional --quiet flag for suppressing non-essential output.
    • Path Output: Prints the path to the newly created theme for easy reference.

Git-Ignore Integration

  • Added -i/--git-ignore flag for apply, clear, and current commands, enhancing file operations with:
    • motheme apply -r -i <theme-name> ./
    • Git-Tracked File Handling: Uses git ls-files to respect .gitignore rules.
    • Performance Optimizations: Caches results of git ls-files for repeated use.
    • Error Management: Gracefully handles errors from Git commands.

Improvements

  • Updated internal helper functions (expand_files) to support git-ignore filtering.

What's Changed

Full Changelog: v0.1.4...v0.1.5

v0.1.4

22 Nov 09:47
Compare
Choose a tag to compare

What's Changed

Add -q/--quiet flag to apply, clear, and current commands to suppress output
when running in scripts or automated workflows. Implements quiet mode using a
context manager that redirects stdout to a null stream when enabled.

Full Changelog: v0.1.3...v0.1.4

Version 0.1.3

21 Nov 10:43
Compare
Choose a tag to compare

New Features

Theme Management

  • Added current command to display themes applied to notebooks
  • Supports single file and recursive directory scanning
  • Example usage:
    motheme current notebook.py
    motheme current directory/ -r

Performance Improvements

  • Implemented LRU caching for theme name extraction
  • Added caching to modify_app_line function (up to 128 results)
  • Enhanced error reporting with detailed file name tracking

Code Architecture

App Block Parsing

  • Introduced dedicated parser module for marimo.App declarations
  • Created AppBlock dataclass with comprehensive parsing utilities
  • Added support for single-line and multi-line declarations
  • Implemented nested parentheses handling

Refactoring

  • Consolidated file path expansion across theme operations
  • Centralized App block parsing logic
  • Extracted file validation into helper functions
  • Unified file path handling and notebook validation

Bug Fixes

  • Resolved UnboundLocalError in error handling by ensuring valid filename references
  • Fixed tuple unpacking bug in CLI commands

Testing

  • Added comprehensive unit tests for AppBlock parser
  • Test coverage includes:
    • Single and multi-line App declarations
    • Nested parentheses scenarios
    • Edge cases
    • Content update operations

v0.1.2

10 Nov 09:31
Compare
Choose a tag to compare

Full Changelog: motheme...v0.1.2

simple CLI support

08 Nov 11:02
Compare
Choose a tag to compare

Now you can install marimo-themes ( or motheme ) through pip, get up-to-date custom themes and apply themes to your marimo notebooks.

pip install motheme

# Initialize themes
motheme update

# List available themes
motheme themes

# Apply a theme to specific files
motheme apply coldme notebook1.py notebook2.py

# Apply theme recursively
motheme apply -r coldme ./

What's Changed

New Contributors

Full Changelog: https://github.com/metaboulie/marimo-themes/commits/motheme