{"id":23796,"library":"glymur","title":"glymur","description":"Python library for reading and writing JPEG 2000 files, wrapping the OpenJPEG library. Current version 0.14.7, requires Python >=3.11, release cadence irregular.","status":"active","version":"0.14.7","language":"python","source_language":"en","source_url":"https://github.com/quintusdias/glymur","tags":["JPEG2000","image","openjpeg","lossless"],"install":[{"cmd":"pip install glymur","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Array operations for image data","package":"numpy","optional":false},{"reason":"Version parsing utilities","package":"packaging","optional":false}],"imports":[{"wrong":"import glymur","symbol":"glymur","correct":"import glymur"}],"quickstart":{"code":"import glymur\n\n# Open a JPEG 2000 file\njp2 = glymur.Jp2k('input.jp2')\nprint('Shape:', jp2.shape)\nprint('Image data:', jp2[:])\n\n# Write a JPEG 2000 file\nimport numpy as np\ndata = np.random.randint(0, 256, (256, 256), dtype=np.uint8)\nglymur.Jp2k('output.jp2', data=data)  # or use jp2.write(data)","lang":"python","description":"Read and write JPEG 2000 images with glymur."},"warnings":[{"fix":"Upgrade Python to 3.11 or later.","message":"Version 0.14 dropped support for Python 3.9 and 3.10. Requires Python >=3.11.","severity":"breaking","affected_versions":"0.14+"},{"fix":"Replace jp2.codestream.crat with jp2.codestream.compression_ratios and jp2.codestream.cdef with jp2.codestream.color_space.","message":"In 0.14, the 'crat' and 'cdef' family of attributes were removed from Codestream. Use 'compression_ratios' and 'color_space' instead.","severity":"breaking","affected_versions":"0.14+"},{"fix":"Install OpenJPEG via system package manager or conda (e.g., conda install -c conda-forge openjpeg).","message":"glymur relies on OpenJPEG system library; missing or incompatible libopenjp2 can cause ImportError or silent failures.","severity":"gotcha","affected_versions":"all"},{"fix":"Use .copy() if you need a separate array.","message":"Jp2k object indexing returns a view, not a copy; modifying the slice modifies the underlying data in place.","severity":"gotcha","affected_versions":"all"},{"fix":"Use jp2[:] to read full image data.","message":"The glymur.Jp2k.read() method is deprecated in favor of direct indexing (jp2[:]) or waveform reading.","severity":"deprecated","affected_versions":"0.10+"}],"env_vars":null,"search_vec":"'0.14.7':17 '2000':9 '3.11':20 'cadenc':22 'current':15 'file':10 'glymur':1 'imag':25 'irregular':23 'jpeg':8 'jpeg2000':24 'librari':3,14 'lossless':27 'openjpeg':13,26 'python':2,19 'read':5 'releas':21 'requir':18 'version':16 'wrap':11 'write':7","created_at":"2026-05-01T08:09:40.963164+00:00","updated_at":"2026-05-01T08:09:40.963164+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmp890ynd4u/venv/lib/python3.12/site-packages/glymur/__init__.py\", line 12, in <module>\n    from glymur import version\n  File \"/tmp/tmp890ynd4u/venv/lib/python3.12/site-packages/glymur/version.py\", line 14, in <mo"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.14.8","cli_name":"","cli_version":null,"type":"library","homepage":"https://glymur.readthedocs.io","github":"https://github.com/quintusdias/glymur","docs":"https://glymur.readthedocs.io","changelog":null,"pypi":"https://pypi.org/project/glymur/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}