java-manifest
Encode/decode Java's META-INF/MANIFEST.MF in Python
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-manifestuv
uv add java-manifestpoetry
poetry add java-manifestInstalling 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
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
bencode.pyEncodes and decodes bencode format, the binary…
unclear · top 15,000 on PyPI
javapropertiesReads and writes Java .properties files in both…
permissive · top 5,000 on PyPI
jdk4pyBundles a JDK runtime into a Python package,…
copyleft · top 15,000 on PyPI
py-multibaseEncodes and decodes data using the Multibase…
permissive · top 15,000 on PyPI
pillow-jxl-pluginRegisters JPEG-XL codec support with Pillow,…
unclear · top 15,000 on PyPI
mbstrdecoderDecodes multi-byte character strings by…
permissive · top 5,000 on PyPI
protobuf-decoderDecodes protobuf binary messages without…
permissive · top 15,000 on PyPI
jpropertiesParses and writes Java Property files in…
permissive · top 5,000 on PyPI
c2pa-pythonRead, validate, create, and sign C2PA manifest…
permissive · top 15,000 on PyPI
apkInspectorParses APK files according to the zip…
permissive · top 5,000 on PyPI