Skip to main content

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.

Metadata

Release files for ossnotices 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ossnotices 1.0.2
File Size Uploaded
ossnotices-1.0.2.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ossnotices 1.0.2
File Interpreter ABI Platform
ossnotices-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 19.1 kB

Release files / ossnotices-1.0.2.tar.gz

Download URL ossnotices-1.0.2.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4aa5aac803fa524b1c7abe812493218cc7cfa0ca6b47b5309ed5204d8aca4fa7
BLAKE2b-256 checksum
How to use checksums
f9e92d62688163ffb8034bc47cd37808f282fa8a63e665dff95b5f756e6c3c6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2025.

Transparency log

Release files / ossnotices-1.0.2-py3-none-any.whl

Download URL ossnotices-1.0.2-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a865a2ea8e140f47248414f2563b50d4761f4850d3660fb1d3df837672ee712
BLAKE2b-256 checksum
How to use checksums
e3979adc6b5fe3b56fc7b16a09f2a72e857e61fb7334f8338e3b29b311edd6d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page