Skip to main content

Reporting support for the Planetary Data System

Project description

PDS Lasso Reports

The PDS Lasso Reports package provides utilities to generates various kinds of reports. It provides four commands:

  • git-ping which "pings" a branch by making an empty commit+push to it
  • summaries which generates build summary tables in various formats
  • pds-plan which creates planning board reports
  • pds-sloc which analyzes and visualizes source lines of code (SLOC) across GitHub repositories

Please visit our website at: https://nasa-pds.github.io/lasso-reports

It may have useful information for developers and end-users.

Prerequisites

Installing this software requires:

  • git to be present on the target system
  • cloc for SLOC analysis (install via your system's package manager, e.g. Homebrew)
  • A GitHub personal access token (for accessing private repositories)

User Quickstart

Install with:

pip install lasso-reports

PDS SLOC

To execute pds-sloc, run:

# Basic usage - analyze NASA-PDS organization
pds-sloc --update --visualize

# Analyze a specific repository
pds-sloc --update --visualize --repo validate

# Initialize historical data from a specific date
pds-sloc --init-history 2023-01-01

# Generate visualizations from existing data
pds-sloc --visualize

# Use a specific GitHub token
pds-sloc --update --token YOUR_GITHUB_TOKEN

# Analyze a different organization
pds-sloc --update --visualize --org OTHER-ORG

The tool will generate:

  • A CSV report with SLOC counts by repository and language
  • Visualizations showing:
    • Total SLOC by repository
    • Language distribution
    • Historical SLOC trends
    • Most active repositories

For more options, run: pds-sloc --help

PDS Software summary

The summaries command generates summary tables for PDS software builds. To use it, run:

summaries --tokent <your github token> --path <directory for output files> --format <rst or md>

This will create summary tables in the specified format (reStructuredText or Markdown) and save them to the specified directory.

The summary generation mostly automatically run from a github action in pdsen-corral repository.

Code of Conduct

All users and developers of the NASA-PDS software are expected to abide by our Code of Conduct. Please read this to ensure you understand the expectations of our community.

Development

To develop this project, use your favorite text editor, or an integrated development environment with Python support, such as PyCharm.

Contributing

For information on how to contribute to NASA-PDS codebases please take a look at our Contributing guidelines.

Installation

Install in editable mode and with extra developer dependencies into your virtual environment of choice:

pip install --editable '.[dev]'

Configure the pre-commit hooks:

pre-commit install
pre-commit install -t pre-push
pre-commit install -t prepare-commit-msg
pre-commit install -t commit-msg

These hooks check code formatting and also aborts commits that contain secrets such as passwords or API keys. However, a one time setup is required in your global Git configuration. See the wiki entry on Git Secrets to learn how.

Packaging

To isolate and be able to re-produce the environment for this package, you should use a Python Virtual Environment. To do so, run:

python3 -m venv venv

Then exclusively use venv/bin/python, venv/bin/pip, etc. Or, "activate" the virtual environment by sourcing the appropriate script in the venv/bin directory.

If you have tox installed and would like it to create your environment and install dependencies for you run:

tox --devenv <name you'd like for env> -e dev

Dependencies for development are specified as the dev extras_require in setup.cfg; they are installed into the virtual environment as follows:

pip install --editable '.[dev]'

All the source code is in a sub-directory under src.

Tooling

The dev extras_require included in the template repo installs black, flake8 (plus some plugins), and mypy along with default configuration for all of them. You can run all of these (and more!) with:

tox -e lint

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

lasso_reports-2.1.1-py3-none-any.whl (86.0 kB view details)

Uploaded Python 3

File details

Details for the file lasso_reports-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: lasso_reports-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 86.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lasso_reports-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 670f5f7ede30c42b381a58f46a4df0592eb8025fc868f3de4d4074a60cd80f29
MD5 e64507a1b1e757fb5b5396c740495b9d
BLAKE2b-256 7a5a3845dddc0c43b8aeb2901dca72914e057b9dca3cc407aaef1e68b5db9d8b

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