skillfed

java-manifest

Encode/decode Java's META-INF/MANIFEST.MF in Python

java-manifest v1.1.0 262.5K downloads/30d#8,371 on PyPI4
License unclear Abandoned released

What it is and what it does

java-manifest is a pure Python library for reading and writing Java manifest files (META-INF/MANIFEST.MF). It represents manifests as lists of dictionaries, where each dictionary is a section delimited by blank lines, with string keys and string or boolean values. The library provides load/loads and dump/dumps functions for file and string I/O, plus a from_jar convenience function to extract and parse the manifest directly from a JAR archive.

The package supports custom encoder and decoder functions, allowing you to transform structured data (like lists or numbers) into manifest-compatible strings and back. This is useful when specific Java tools or frameworks embed ad-hoc encoding rules in manifest values. With no external dependencies and a small API surface, it is straightforward to integrate into build pipelines, JAR inspection tools, or Java interop code.

Use it for:

  • Extract and inspect metadata from JAR files in a Python build or deployment pipeline
  • Parse manifest files to read version, name, or custom attributes set by Java build tools
  • Generate or modify manifest files programmatically before packaging Java applications
  • Implement custom encoding for structured data (e.g., comma-separated lists) in manifest attributes

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Encode and decode Java's META-INF/MANIFEST.MF file format in Python, supporting both direct string/file operations and extraction from JAR archives.

No. The package is abandoned (last release July 2020, last commit January 2022) and declares no license. It only supports Python 3.6–3.8, all now out of support, with no tested compatibility for current Python versions. Unless you are maintaining legacy code that already depends on it, the risk of unpatched issues and license ambiguity outweighs the narrow utility of manifest parsing.

Install

java-manifest on PyPI

pip

pip install java-manifest

uv

uv add java-manifest

poetry

poetry add java-manifest

Installing java-manifest

Before you install

Low install friction with no runtime dependencies. However, the package is abandoned—last commit was 2022-01-18 and no releases since 2020-07-22. It supports Python 3.6 through 3.8, which are now out of support; compatibility with current Python versions is untested.

License in practice

License status is unclear; the package declares no SPDX identifier or raw license text. Before adopting, verify the actual license terms in the repository or contact the maintainer.

Quickstart

import java_manifest

# Parse manifest string
manifest = java_manifest.loads("Name: Example\nFoo: Bar")
print(manifest)  # [{'Name': 'Example', 'Foo': 'Bar'}]

# Or extract from JAR
manifest = java_manifest.from_jar("archive.jar")

Verify before relying

  • Whether the package works correctly with Python 3.9, 3.10, 3.11, or later versions despite only declaring support through 3.8
  • Current license terms—the package metadata shows no license declaration

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.6,<4.0)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,214 days since the last release
Last repo commit
First released
Downloads 262,549/month — #8,371 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: java_manifest-1.1.0-py3-none-any.whl

Keywords: java, jar, manifest

Programming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8

Tags

java manifest parsingjar manifest readermanifest.mf encoder decoderjava metadata extractionjar file manifest handling
java-interopmanifest-parsing

More Software Development packages