jproperties
Java Property file parser and writer for Python
What it is and what it does
jproperties is a parser and writer for Java Property files, the standard key-value configuration format used in Java applications. It exposes a dictionary-like interface to read and write .properties files while preserving the Java Properties format, including support for escape sequences, Unicode handling, and comments. The package also supports optional metadata attachment to individual properties, allowing you to store and retrieve structured information alongside configuration values.
The library handles encoding flexibly (defaulting to iso-8859-1 but supporting any Python-recognized encoding like utf-8) and provides methods to load from and store to file-like objects. It is useful when you need to interoperate with Java configuration files, generate properties files programmatically, or maintain documentation within property definitions via metadata.
Use it for:
- Load Java application configuration files into Python for processing or migration.
- Generate or update .properties files from Python without manual string formatting.
- Attach and retrieve documentation or metadata for configuration properties using the metadoc feature.
- Convert between Java Properties format and other configuration systems in polyglot environments.
- Parse legacy Java project property files as part of a Python-based build or deployment tool.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and writes Java Property files in Python, providing dictionary-like access to key-value pairs with optional metadata support.
Yes, if you need to work with Java Property files. The package is stable, has no known vulnerabilities, and installs with minimal friction. However, be aware that maintenance is dormant (last release 754 days ago); if you depend on future Python version support or bug fixes, you may need to fork or maintain it yourself. For one-off or non-critical property file handling, it is a safe choice.
Install
jproperties on PyPI
pip
pip install jpropertiesuv
uv add jpropertiespoetry
poetry add jpropertiesInstalling jproperties
Before you install
Low install friction with a single lightweight dependency (six). Maintenance is dormant—last release was 754 days ago—but the package is marked Production/Stable and the repository remains active with no blocking issues.
License in practice
Licensed under BSD 3-Clause with partial Python Software Foundation License coverage. Permissive license allows commercial and private use with minimal restrictions.
Quickstart
from jproperties import Properties
p = Properties()
with open("app.properties", "rb") as f:
p.load(f, "utf-8")
value, metadata = p["key_name"]
print(value)
Verify before relying
- Whether dormant maintenance status (754 days since last release) poses risk for future Python version compatibility.
- Real-world performance characteristics when parsing large property files.
- Whether metadata round-trip fidelity (string conversion on write) meets typical use cases.
Package facts
| License | BSD 3-Clause License; partially licensed under the Python Software Foundation License (permissive) |
| Python support | supports the current Python release (>=2.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — six |
| Maintenance | dormant — 754 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,980,146/month — #2,803 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jproperties-2.1.2-py2.py3-none-any.whl
Keywords: java, property, properties, file, parser, reader, writer
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
ResourceBundleResourceBundle manages internationalization and…
permissive · top 15,000 on PyPI
kvfReads and writes configuration files in KvF…
permissive · top 15,000 on PyPI
java-manifestEncode and decode Java's META-INF/MANIFEST.MF…
unclear · top 15,000 on PyPI
py4jPy4J enables Python programs to dynamically…
permissive · top 1,000 on PyPI
dicttoxmlConverts Python dictionaries and other native…
copyleft · top 5,000 on PyPI
tomlrtReads and writes TOML files while preserving…
permissive · top 15,000 on PyPI
fastavrofastavro reads and writes Apache Avro files…
permissive · top 1,000 on PyPI
python-dotenvReads key-value pairs from a .env file and sets…
permissive · top 100 on PyPI
javapropertiesReads and writes Java .properties files in both…
permissive · top 5,000 on PyPI
unicodecsvDrop-in replacement for Python 2.7's csv module…
permissive · top 5,000 on PyPI