Skip to content

Refactor/update readme conda#20

Closed
Androidbeingx wants to merge 6 commits intoexecfrom
refactor/update_readme_conda
Closed

Refactor/update readme conda#20
Androidbeingx wants to merge 6 commits intoexecfrom
refactor/update_readme_conda

Conversation

@Androidbeingx
Copy link
Collaborator

PR: README refactor, repo structure cleanup and installation documentation

Summary

This PR improves the repository documentation and tidies up the root directory structure by organising installation-related files and archiving legacy scripts. No changes to the core Python package logic.


Changes

README.md — full refactor

The original README has been completely restructured and expanded:

  • Added Table of Contents with anchor links
  • Added Repository Structure section with a directory tree and table describing each folder
  • Added Installation section covering both pip + venv and conda paths, including:
    • "Not sure which to use?" decision table
    • WSL detection guidance
    • Constraints file selection table per Python version and OS
    • Firewall workaround notes for corporate/university networks (e.g. Fortiguard)
    • Miniconda and Miniforge installation steps
    • Installation verification block
  • Added Quick Start section for users who want to get running fast
  • Restructured Programs Reference with clear syntax, descriptions and examples for each tool
  • Restructured Output Files Reference into two tables (per-process metrics and aggregated metrics) replacing the original bullet-point list
  • Added Legacy section documenting the deprecated Bash scripts and what superseded them
  • Updated metrics-aggregator.py example to use the included sample-series/ data directly
  • Added reference to sample_cpuinfo/ in the cpuinfo-tdp-finder.py example

installation/ — new directory

Moved all installation-related files from the repo root into a dedicated installation/ folder:

  • All constraints-*.txt files (all Python versions, native Linux and WSL variants)
  • requirements.txt
  • dev-requirements.txt
  • mypy-requirements.txt

legacy/ — new directory

Moved deprecated Bash scripts into a dedicated legacy/ folder:

  • execution-metrics-collector.sh
  • plotGraph.sh
  • plot-metrics.sh

These scripts predate the current Python implementation and are no longer maintained. They are kept for historical reference only.

setup.py — path updates

Updated paths to reflect the new directory structure:

  • requirements.txt path updated to installation/requirements.txt
  • .sh script paths updated to legacy/execution-metrics-collector.sh, legacy/plotGraph.sh, legacy/plot-metrics.sh

MANIFEST.in — path update

Updated requirements.txt reference to installation/requirements.txt.

.gitignore — cleanup entries added

Added standard Python build artifact entries:

  • *.egg-info/
  • __pycache__/
  • *.pyc
  • build/
  • dist/

What this PR does NOT include

  • No changes to the core treecript/ Python package
  • No fix for the parser.py inhomogeneous array bug — this is tracked separately as a GitHub issue and will be addressed in a dedicated PR
  • No offline / HPC wheel-based installation support — this is planned for a future PR pending HPC environment reconnaissance

Testing

Tested full install from local repo using the new structure:

conda create -n Treecript python=3.10 -y
conda activate Treecript
pip install -c installation/constraints-3.10.txt .

Verified all programs run correctly after install:

  • plotGraph.py
  • metrics-aggregator.py
  • tdp-finder.py
  • execution-metrics-collector.py

@Androidbeingx Androidbeingx added bug Something isn't working documentation Improvements or additions to documentation labels Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant