Establish the Python project and development-tooling baseline #7

Closed
opened 2026-07-24 19:38:13 -04:00 by JackFrostbyte · 1 comment

Goal

    Establish a minimal, reproducible Python project baseline that future pipeline and runtime issues can build on.

    ## Why

    Arkive already contains Python validation code but does not yet define its supported Python version, package layout, dependency management, development installation, CLI convention, or canonical test workflow.

    ## Scope

    - Declare the supported Python version or version range.
  • Add a minimal pyproject.toml with project metadata and build configuration.

  • Create an installable Arkive package or document and enforce an equally clear module layout.

  • Separate runtime dependencies from development and testing dependencies.

  • Define the convention for future command-line entry points.

  • Document clean virtual-environment setup and development installation on Nobara/Linux.

  • Document the canonical unit-test command.

  • Add formatting or linting only when it provides clear value and remains lightweight.

  • Preserve compatibility with the existing validator and regression tests.

      ## Out of scope
    
      - Document import, extraction, normalization, or chunking.
    
  • A web framework, task queue, database, or plugin framework.

  • Search, embeddings, LLM, translation, speech, or deployment code.

  • Unrelated refactoring of the metadata schemas.

      ## Dependencies
    
      - #6 — Add AGENTS.md project rules and align current-state documentation
    
      ## Acceptance criteria
    
      - A clean checkout can create a virtual environment and install the documented development environment.
    
  • The supported Python version is explicit.

  • The package or module layout is importable without ad hoc path manipulation.

  • Runtime and development dependencies are clearly separated.

  • The canonical test command runs the existing regression suite successfully.

  • The baseline introduces no large framework or unused production dependency.

      ## Validation
    
      - Follow the documented clean-environment installation steps.
    
  • Run the documented unit-test command.

  • Run every configured formatting or linting command, if such tooling is added.

  • Verify the existing metadata validator remains runnable.

  • Run git diff --check.

      ## Suggested branch
    
      `feature/issue-7-python-tooling-baseline`
    
      <!-- arkive-planning-automation:2026-07-24-v3:M1-02 -->
    
## Goal Establish a minimal, reproducible Python project baseline that future pipeline and runtime issues can build on. ## Why Arkive already contains Python validation code but does not yet define its supported Python version, package layout, dependency management, development installation, CLI convention, or canonical test workflow. ## Scope - Declare the supported Python version or version range. - Add a minimal `pyproject.toml` with project metadata and build configuration. - Create an installable Arkive package or document and enforce an equally clear module layout. - Separate runtime dependencies from development and testing dependencies. - Define the convention for future command-line entry points. - Document clean virtual-environment setup and development installation on Nobara/Linux. - Document the canonical unit-test command. - Add formatting or linting only when it provides clear value and remains lightweight. - Preserve compatibility with the existing validator and regression tests. ## Out of scope - Document import, extraction, normalization, or chunking. - A web framework, task queue, database, or plugin framework. - Search, embeddings, LLM, translation, speech, or deployment code. - Unrelated refactoring of the metadata schemas. ## Dependencies - #6 — Add AGENTS.md project rules and align current-state documentation ## Acceptance criteria - A clean checkout can create a virtual environment and install the documented development environment. - The supported Python version is explicit. - The package or module layout is importable without ad hoc path manipulation. - Runtime and development dependencies are clearly separated. - The canonical test command runs the existing regression suite successfully. - The baseline introduces no large framework or unused production dependency. ## Validation - Follow the documented clean-environment installation steps. - Run the documented unit-test command. - Run every configured formatting or linting command, if such tooling is added. - Verify the existing metadata validator remains runnable. - Run `git diff --check`. ## Suggested branch `feature/issue-7-python-tooling-baseline` <!-- arkive-planning-automation:2026-07-24-v3:M1-02 -->
Author
Owner

Completed in PR #30 and merged into develop.

The repository now has a defined Python development baseline with:

  • pyproject.toml project metadata and dependency declarations
  • Python support declared as >=3.11,<3.15
  • an importable src/arkive/ package
  • separate runtime and development dependencies
  • Ruff linting and formatting checks
  • package import regression coverage
  • documented environment setup, validation commands, offline installation guidance, and future CLI conventions

The implementation was verified in the existing environment and in a clean temporary virtual environment. The metadata validator, all 8 unit tests, Ruff checks, package import, and dependency integrity checks passed.

Issue acceptance criteria are satisfied. Closing as completed.

Completed in PR #30 and merged into `develop`. The repository now has a defined Python development baseline with: * `pyproject.toml` project metadata and dependency declarations * Python support declared as `>=3.11,<3.15` * an importable `src/arkive/` package * separate runtime and development dependencies * Ruff linting and formatting checks * package import regression coverage * documented environment setup, validation commands, offline installation guidance, and future CLI conventions The implementation was verified in the existing environment and in a clean temporary virtual environment. The metadata validator, all 8 unit tests, Ruff checks, package import, and dependency integrity checks passed. Issue acceptance criteria are satisfied. Closing as completed.
Sign in to join this conversation.
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.

Reference
Arkive/arkive#7
No description provided.