jsonconversion
This python module helps converting arbitrary Python objects into JSON strings and back.
Decision gist · record as of 2026-08-14
Yes, if you need to serialize custom Python objects to JSON beyond what the standard json module supports. The package is stable (Production/Stable status), has no known vulnerabilities, and carries a permissive license. Install friction is low. However, maintenance is aging (last release 275 days ago), so verify that its feature set meets your needs before adopting it for new projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; numpy is a runtime dependency.
- Low install friction with a pure-wheel distribution.
- Maintenance is aging—last release 275 days ago—but the repository remains active and unarchived with recent commits.
License · maintenance · safety
BSD (permissive) — BSD license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you retain the license notice.
last release 2025-11-12 (275 days) · last repo commit 2025-11-12 · 9 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 14,088,461 downloads/mo, #1,247 on PyPI
Alternatives
Verify before relying
import json
from jsonconversion.encoder import JSONObjectEncoder
from jsonconversion.decoder import JSONObjectDecoder
var = (1, 2, 3)
str_var = json.dumps(var, cls=JSONObjectEncoder)
var_2 = json.loads(str_var, cls=JSONObjectDecoder)
assert var == var_2- Whether numpy array serialization is fully documented or tested in the current release.
- Performance characteristics when serializing deeply nested or very large object graphs.
- Compatibility guarantees with recent Python 3.x minor versions beyond 3.9.
What it is and what it does
jsonconversion extends Python's built-in json module to serialize and deserialize arbitrary Python objects, including custom classes, builtins (int, float, str, list, set, dict, tuple), type objects, and numpy arrays. It works by storing class metadata in the JSON output so objects can be reconstructed on deserialization.
To use it with your own classes, you inherit from JSONObject and implement to_dict and from_dict methods that define which attributes to serialize. The package handles the rest—encoding to JSON strings via JSONObjectEncoder and decoding back via JSONObjectDecoder. It's designed for scenarios where you need to persist complex Python object hierarchies as JSON, such as in web frameworks (Django, Flask) or scientific workflows.
Use it for
- Serialize custom Python classes to JSON for storage or transmission in web applications.
- Round-trip complex nested data structures (objects containing other objects) to and from JSON.
- Store scientific or numerical data with custom metadata by combining numpy arrays with JSONObject subclasses.
- Migrate serialized objects when class module paths change using the substitute_modules parameter.
- Extend JSON encoding for domain-specific types without modifying the standard json module.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to serialize custom Python objects to JSON beyond what the standard json module supports.
The package is stable (Production/Stable status), has no known vulnerabilities, and carries a permissive license. Install friction is low. However, maintenance is aging (last release 275 days ago), so verify that its feature set meets your needs before adopting it for new projects.
Install
jsonconversion on PyPI
Before you install
Low install friction with a pure-wheel distribution. Maintenance is aging—last release 275 days ago—but the repository remains active and unarchived with recent commits.
Requires Python 3.9 or later; numpy is a runtime dependency.
License in practice
BSD license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you retain the license notice.
Quickstart
import json
from jsonconversion.encoder import JSONObjectEncoder
from jsonconversion.decoder import JSONObjectDecoder
var = (1, 2, 3)
str_var = json.dumps(var, cls=JSONObjectEncoder)
var_2 = json.loads(str_var, cls=JSONObjectDecoder)
assert var == var_2
Verify before relying
- Whether numpy array serialization is fully documented or tested in the current release.
- Performance characteristics when serializing deeply nested or very large object graphs.
- Compatibility guarantees with recent Python 3.x minor versions beyond 3.9.
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Aging 275 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 14,088,461 / month, #1,247 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoFramework :: FlaskIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Internet :: WWW/HTTPTopic :: Scientific/Engineering :: Interface Engine/Protocol TranslatorTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Object BrokeringTopic :: Utilities |
Evidence: jsonconversion-1.2.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “serialize arbitrary python classes”
- jsonconversionConverts arbitrary Python objects to JSON strings and back, extending…
- nutreeNutree provides a Python library for creating, navigating, and…
- json-fixPatches Python's built-in `json` module to recognize and call a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also json-fix · json-numpy · jsonobject · simplejson · json-encoder · json5 · yamlable · numpyencoder · json-tricks · pysubtypes