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-pingwhich "pings" a branch by making an empty commit+push to itsummarieswhich generates build summary tables in various formatspds-planwhich creates planning board reportspds-slocwhich 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:
gitto be present on the target systemclocfor 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
670f5f7ede30c42b381a58f46a4df0592eb8025fc868f3de4d4074a60cd80f29
|
|
| MD5 |
e64507a1b1e757fb5b5396c740495b9d
|
|
| BLAKE2b-256 |
7a5a3845dddc0c43b8aeb2901dca72914e057b9dca3cc407aaef1e68b5db9d8b
|