Skip to main content

Simplified CLI wrapper for generating open source legal notices

Project description

OSS Notices Generator

A simplified open source legal notices generator using the purl2notices library.

Features

  • Simple Interface: Streamlined CLI for scanning local source code
  • Directory Scanning: Recursively analyze directories for package dependencies
  • Archive Support: Process JAR, WAR, WHL, ZIP, and other archive formats
  • Multiple Output Formats: Generate notices in text, HTML, or JSON

Installation

pip install ossnotices

For development:

git clone https://github.com/SemClone/ossnotices.git
cd ossnotices
pip install -e .

Quick Start

# Scan current directory (default)
ossnotices

# Scan specific directory
ossnotices ./src

# Scan recursively and save to file
ossnotices ./project --recursive -o NOTICE.txt

# Generate HTML format
ossnotices ./project -f html -o notices.html

# Process a JAR file
ossnotices library.jar -o NOTICE.txt

Command Line Options

Usage: ossnotices [OPTIONS] [PATH]

Arguments:
  PATH  Directory or archive file to scan (default: current directory)

Options:
  --version              Show version and exit
  -o, --output PATH      Output file path (default: NOTICE.txt)
  -f, --format TYPE      Output format: text, html, json (default: text)
  -r, --recursive        Scan directories recursively
  --cache/--no-cache     Enable/disable caching (default: enabled)
  -v, --verbose          Enable verbose output
  -q, --quiet           Suppress all output except errors
  --help                Show help and exit

Input Types

ossnotices automatically detects the input type:

  • Directory: Scans source code for package dependencies
  • Archive: Processes JAR, WAR, WHL, ZIP, TAR, GZ, BZ2, EGG files

Output Formats

Text Format (default)

Plain text notices suitable for inclusion in distributions:

ossnotices ./project -o NOTICE.txt

HTML Format

Web-friendly format with styling:

ossnotices ./project -f html -o notices.html

JSON Format

Structured data for further processing:

ossnotices ./project -f json -o notices.json

Examples

Scan a Python project

ossnotices ./my-python-app --recursive -o NOTICE.txt

Process a Java application (JAR file)

ossnotices app.jar -o NOTICE.txt

Generate HTML notices for documentation

ossnotices ./src -f html -o docs/licenses.html

Scan current directory with default settings

ossnotices

Quiet mode for CI/CD pipelines

ossnotices . -q -o NOTICE.txt

Verbose mode for debugging

ossnotices . -v

Caching

By default, ossnotices caches package information to speed up subsequent runs. The cache is stored in .ossnotices.cache.json in the current directory.

To disable caching:

ossnotices . --no-cache

Supported Package Ecosystems

Through purl2notices, ossnotices supports:

  • Python (PyPI)
  • JavaScript/Node.js (npm)
  • Java (Maven)
  • Ruby (RubyGems)
  • Go modules
  • Rust (Cargo)
  • .NET (NuGet)
  • PHP (Composer)
  • And many more...

License

MIT License

Support

For issues and questions, please use the GitHub issue tracker.

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

ossnotices-1.0.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

ossnotices-1.0.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file ossnotices-1.0.2.tar.gz.

File metadata

  • Download URL: ossnotices-1.0.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ossnotices-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4aa5aac803fa524b1c7abe812493218cc7cfa0ca6b47b5309ed5204d8aca4fa7
MD5 11e168cad6dd8467bebce84a1bce9ad7
BLAKE2b-256 f9e92d62688163ffb8034bc47cd37808f282fa8a63e665dff95b5f756e6c3c6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ossnotices-1.0.2.tar.gz:

Publisher: python-publish.yml on SemClone/ossnotices

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ossnotices-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: ossnotices-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ossnotices-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2a865a2ea8e140f47248414f2563b50d4761f4850d3660fb1d3df837672ee712
MD5 2333aa828ad81967297371104c451bd6
BLAKE2b-256 e3979adc6b5fe3b56fc7b16a09f2a72e857e61fb7334f8338e3b29b311edd6d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ossnotices-1.0.2-py3-none-any.whl:

Publisher: python-publish.yml on SemClone/ossnotices

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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