Skip to main content

Project quality analyzer and next steps generator

Project description

weekly

PyPI License: MIT Python Versions

weekly is a powerful command-line tool for generating comprehensive reports from Git repositories. It analyzes repository history, contributors, file changes, and more, then generates beautiful HTML, Markdown, and JSON reports.

Features

  • 📊 Complete Repository Analysis: Get insights into commits, contributors, and file changes
  • 📝 Multiple Output Formats: Generate reports in HTML, Markdown, and JSON
  • 🔍 Deep Git History: Analyze complete commit history with detailed statistics
  • 🎨 Beautiful Reports: Clean, responsive HTML reports with download options
  • 🚀 CLI Interface: Easy-to-use command line interface
  • 📦 Python Package: Integrate with your own Python projects

Installation

pip install weekly

For development:

git clone https://github.com/wronai/weekly.git
cd weekly
pip install -e .[dev]

Usage

Analyze a single repository

weekly analyze /path/to/repo

Analyze all repositories in a directory

weekly analyze-org /path/to/organization/dir

Options

Options:
  -o, --output PATH  Output directory for reports (default: ./reports)
  --help             Show this message and exit.

Output Structure

For each repository, weekly generates the following files:

reports/
└── repository-name/
    ├── status.json    # Complete repository data including full commit history
    ├── status.md       # Markdown report
    └── index.html      # HTML report with download option

Example Reports

HTML Report

HTML Report

Markdown Report

# repository-name

**Repository description**

## 📊 Project Overview

- **Created:** 2023-01-01
- **Last Updated:** 2023-05-15
- **Total Commits:** 42
- **Contributors:** 3

### Top Contributors

- Alice: 25 commits
- Bob: 15 commits
- Charlie: 2 commits

### Most Active Files

- `src/main.py`: 12 changes
- `tests/test_main.py`: 8 changes
- `README.md`: 5 changes

### Languages Used

- `.py`: 15 files
- `.md`: 3 files
- `.json`: 2 files

## 📋 Next Steps

- [ ] Add tests for recent changes
- [ ] Refactor large files: src/utils.py, src/processor.py...

## 📜 Recent Commits

- `a1b2c3d` Fix bug in data processing (2023-05-15)
- `f4e5d6a` Add new feature X (2023-05-14)
- `b3c4d5e` Update documentation (2023-05-13)
- `c6d7e8f` Refactor module Y (2023-05-12)
- `d9e0f1a` Initial commit (2023-05-10)

*[View full history in the JSON file]*

Development

Setup

  1. Clone the repository:

    git clone https://github.com/wronai/weekly.git
    cd weekly
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install development dependencies:

    pip install -e .[dev]
    

Running Tests

pytest

Code Style

This project uses:

  • Black for code formatting
  • isort for import sorting
  • flake8 for linting
  • mypy for type checking

Run all checks:

black .
isort .
flake8
mypy .

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built with ❤️ by the WronAI team
  • Inspired by various Git analysis tools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weekly-0.1.3.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weekly-0.1.3-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file weekly-0.1.3.tar.gz.

File metadata

  • Download URL: weekly-0.1.3.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.4 Linux/6.14.9-300.fc42.x86_64

File hashes

Hashes for weekly-0.1.3.tar.gz
Algorithm Hash digest
SHA256 712d88d7b5825233190b2aac7acf701993d3e88afbb7a53a0552879ecd43a719
MD5 34b4cecfae2c1c9813601e81af1e547c
BLAKE2b-256 4492fb381e066b907be74166ce2737eea5c448f0481e5178ea33a8a390e1a230

See more details on using hashes here.

File details

Details for the file weekly-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: weekly-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.4 Linux/6.14.9-300.fc42.x86_64

File hashes

Hashes for weekly-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b12b9df21066206d9170815537f803458abf455fa3dfafdcecfa4d11e8c6975b
MD5 67bd8f39c909a00e83a721aa14173faa
BLAKE2b-256 39af3592388a7f5d4d55ca146e23587bed896154a95a07143624f9c2e97d3886

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page