standardjson
JSON encoder that aims to be fully compliant with specifications ECMA-262 and ECMA-404.
Decision gist · record as of 2026-08-14
No. The package is abandoned and untested on modern Python versions. The standard library's `json` module has evolved, and modern alternatives (or custom encoder functions) are more maintainable. Use only if you are locked into Python 2.6–3.3 and have no other option; otherwise, implement a custom encoder or use a maintained serialization library.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Package targets Python 2.6, 2.7, and 3.3; compatibility with modern Python versions is untested and unsupported.
- Installation is straightforward with no runtime dependencies.
- However, the package is abandoned—last commit was 2022-12-26 and the latest release dates to 2014-05-21.
License · maintenance · safety
BSD (permissive) — Licensed under BSD (permissive), so you may use, modify, and distribute it freely with minimal restrictions, though you must include the license notice.
last release 2014-05-21 (4468 days) · last repo commit 2022-12-26 · 18 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 185,700 downloads/mo, #10,003 on PyPI
Alternatives
Verify before relying
import datetime
import json
from standardjson import StandardJSONEncoder
json.dumps({'day': datetime.date(2010, 2, 17)}, cls=StandardJSONEncoder)- Whether the package actually works on Python 3.4+ as the author suspected but did not formally test.
- Whether ECMA-262 and ECMA-404 compliance claims have been validated against current specification versions.
- Real-world usage patterns and whether the datetime/Decimal serialization format matches expectations in production systems.
What it is and what it does
StandardJSON is a JSON encoder that extends Python's standard `json.JSONEncoder` to serialize additional types: `datetime.datetime`, `datetime.date`, `datetime.time`, and `decimal.Decimal` objects. It wraps the stdlib encoder and can be used as a drop-in replacement via the `cls` parameter to `json.dumps()`. The package has no runtime dependencies and installs cleanly as a pure-Python wheel.
The encoder aims for compliance with ECMA-262 and ECMA-404 specifications. However, the project is abandoned—it was released in May 2014 at Alpha status and has not been updated since. The codebase was last touched in December 2022 but no new releases followed. It was only tested on Python 2.6, 2.7, and 3.3; compatibility with modern Python versions remains unverified.
Use it for
- Serialize Python date and time objects to JSON strings when the standard library encoder rejects them.
- Handle Decimal values in JSON output without converting to float, preserving precision in financial or scientific data.
- Encode mixed data structures containing datetime and numeric types in legacy systems still on older Python versions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The package is abandoned and untested on modern Python versions. The standard library's `json` module has evolved, and modern alternatives (or custom encoder functions) are more maintainable. Use only if you are locked into Python 2.6–3.3 and have no other option; otherwise, implement a custom encoder or use a maintained serialization library.
Install
standardjson on PyPI
Before you install
Installation is straightforward with no runtime dependencies. However, the package is abandoned—last commit was 2022-12-26 and the latest release dates to 2014-05-21. It was marked Alpha at release and has not progressed beyond that status.
Package targets Python 2.6, 2.7, and 3.3; compatibility with modern Python versions is untested and unsupported.
License in practice
Licensed under BSD (permissive), so you may use, modify, and distribute it freely with minimal restrictions, though you must include the license notice.
Quickstart
import datetime
import json
from standardjson import StandardJSONEncoder
json.dumps({'day': datetime.date(2010, 2, 17)}, cls=StandardJSONEncoder)
Verify before relying
- Whether the package actually works on Python 3.4+ as the author suspected but did not formally test.
- Whether ECMA-262 and ECMA-404 compliance claims have been validated against current specification versions.
- Real-world usage patterns and whether the datetime/Decimal serialization format matches expectations in production systems.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 4,468 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 185,700 / month, #10,003 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3 |
Evidence: standardjson-0.3.1-py2.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 › “json encoder datetime support”
- standardjsonProvides a JSON encoder that handles datetime, date, time, and…
- json-encoderProvides JSON serialization with singledispatch-based type handlers…
- Flask-JSONFlask-JSON adds convenient JSON response generation and error…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities 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.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
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.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also json-encoder · demjson3 · numpyencoder · jsonstreams · dynamodb-json · json-numpy · aniso8601 · orjson · databind.core · CurrencyConverter