[PR #1735] [MERGED] archivebox <modelname> create|list|update|delete | ... piping support #1486

Closed
opened 2026-03-01 14:50:00 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ArchiveBox/ArchiveBox/pull/1735
Author: @pirate
Created: 12/31/2025
Status: Merged
Merged: 12/31/2025
Merged by: @pirate

Base: devHead: claude/review-code-quality-macdO


📝 Commits (1)

  • df2a0dc Add revised CLI pipeline architecture plan

📊 Changes

1 file changed (+589 additions, -0 deletions)

View changed files

TODO_archivebox_jsonl_cli.md (+589 -0)

📄 Description

Comprehensive plan for implementing JSONL-based CLI piping:

  • Phase 1: Model prerequisites (ArchiveResult.from_json, tags_str fix)
  • Phase 2: Extract shared apply_filters() to cli_utils.py
  • Phase 3: Implement pass-through behavior for all create commands
  • Phase 4-6: Test infrastructure with pytest-django, unit/integration tests

Key changes from original plan:

  • ArchiveResult.from_json() identified as missing prerequisite
  • Pass-through documented as new feature to implement
  • archivebox run updated to create-or-update pattern
  • conftest.py redesigned to use pytest-django with isolated tmp_path
  • Standardized on tags_str field name across all models
  • Reordered phases: implement before test

Summary

Related issues

Changes these areas

  • Bugfixes
  • Feature behavior
  • Command line interface
  • Configuration options
  • Internal architecture
  • Snapshot data layout on disk

Summary by cubic

Adds a design and implementation plan for JSONL-based CLI piping across ArchiveBox commands to enable Unix-style pipelines with pass-through outputs and create-or-update behavior. This sets the groundwork for consistent model JSON methods, shared CLI filters, and a pytest-django test setup.

  • New Features

    • JSONL piping between commands with pass-through output to accumulate records.
    • Create-or-update flow in archivebox run; new ArchiveResult.from_json/.from_jsonl.
  • Refactors

    • Standardize tags_str in model JSON and extract apply_filters to cli_utils.
    • Update supervisord to call archivebox run and add pytest-django fixtures for isolated DATA_DIR.

Written for commit df2a0dcd44. Summary will update on new commits.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ArchiveBox/ArchiveBox/pull/1735 **Author:** [@pirate](https://github.com/pirate) **Created:** 12/31/2025 **Status:** ✅ Merged **Merged:** 12/31/2025 **Merged by:** [@pirate](https://github.com/pirate) **Base:** `dev` ← **Head:** `claude/review-code-quality-macdO` --- ### 📝 Commits (1) - [`df2a0dc`](https://github.com/ArchiveBox/ArchiveBox/commit/df2a0dcd444da4a9364e28e9d7972ae5406cc956) Add revised CLI pipeline architecture plan ### 📊 Changes **1 file changed** (+589 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `TODO_archivebox_jsonl_cli.md` (+589 -0) </details> ### 📄 Description Comprehensive plan for implementing JSONL-based CLI piping: - Phase 1: Model prerequisites (ArchiveResult.from_json, tags_str fix) - Phase 2: Extract shared apply_filters() to cli_utils.py - Phase 3: Implement pass-through behavior for all create commands - Phase 4-6: Test infrastructure with pytest-django, unit/integration tests Key changes from original plan: - ArchiveResult.from_json() identified as missing prerequisite - Pass-through documented as new feature to implement - archivebox run updated to create-or-update pattern - conftest.py redesigned to use pytest-django with isolated tmp_path - Standardized on tags_str field name across all models - Reordered phases: implement before test <!-- IMPORTANT: Do not submit PRs with only formatting / PEP8 / line length changes. --> # Summary <!--e.g. This PR fixes ABC or adds the ability to do XYZ...--> # Related issues <!-- e.g. #123 or Roadmap goal # https://github.com/pirate/ArchiveBox/wiki/Roadmap --> # Changes these areas - [ ] Bugfixes - [ ] Feature behavior - [ ] Command line interface - [ ] Configuration options - [ ] Internal architecture - [ ] Snapshot data layout on disk <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a design and implementation plan for JSONL-based CLI piping across ArchiveBox commands to enable Unix-style pipelines with pass-through outputs and create-or-update behavior. This sets the groundwork for consistent model JSON methods, shared CLI filters, and a pytest-django test setup. - **New Features** - JSONL piping between commands with pass-through output to accumulate records. - Create-or-update flow in archivebox run; new ArchiveResult.from_json/.from_jsonl. - **Refactors** - Standardize tags_str in model JSON and extract apply_filters to cli_utils. - Update supervisord to call archivebox run and add pytest-django fixtures for isolated DATA_DIR. <sup>Written for commit df2a0dcd444da4a9364e28e9d7972ae5406cc956. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-01 14:50:00 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#1486
No description provided.