--- id: pyorc version: "0.11.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # pyorc — Python module for reading and writing Apache ORC file format. License: permissive · Maintenance: active · Downloads: 357.2K/mo ## What it is and what it does PyORC is a Python binding to Apache ORC's C++ API for reading and writing ORC (Optimized Row Columnar) files, a columnar storage format commonly used in data warehousing and analytics. It provides a straightforward, csv-module-like interface for streaming ORC data in and out of Python applications. The package wraps compiled C++ code, so installation uses pre-built wheels for Python 3.10–3.12 on standard platforms; it depends on tzdata and backports.zoneinfo for timezone handling. The library is in alpha status but actively maintained, with recent releases and a small but engaged user base. It is suitable for applications that need to integrate ORC file I/O into Python data pipelines, particularly where compatibility with Apache Hadoop ecosystems or existing ORC infrastructure is required. Use it for: - Reading ORC files exported from Hive, Spark, or other Apache Hadoop ecosystem tools into Python for analysis. - Writing Python data structures to ORC format for storage or transfer to downstream Hadoop-based systems. - Building ETL pipelines that consume or produce ORC columnar data without intermediate format conversion. - Integrating ORC I/O into data validation or quality-assurance workflows that run in Python. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyORC reads and writes Apache ORC files using Python, wrapping the Apache ORC C++ API and providing an interface similar to Python's csv module. Yes, if you need to read or write ORC files in Python and are working with Python 3.10 or newer. The permissive Apache-2.0 license, active maintenance, zero known vulnerabilities, and pre-built wheels for common platforms make it a low-friction choice. The alpha status and small user base mean less community documentation, so verify that ORC 1.7 support and the package's feature set match your use case before committing to a production dependency. ## Install pip install pyorc uv add pyorc poetry add pyorc ## Installing pyorc Before you install: Medium install friction due to compiled C++ bindings; wheels are pre-built for Python 3.10–3.12 on common platforms (macOS, Linux, Windows), reducing build requirements. Repository is active with a recent release (125 days ago) and steady maintenance. License in practice: Apache-2.0 is permissive; you may use, modify, and distribute pyorc and derivative works freely, provided you include a copy of the license and note any changes. Quickstart: import pyorc with open("./data.orc", "rb") as data: reader = pyorc.Reader(data) for row in reader: print(row) Requires Python 3.10 or newer and ORC 1.7; compiled wheels are available for common platforms but may require a C++ runtime on some systems. Verify before relying: - Whether the package handles all ORC 1.7 features or only a subset of the specification. - Performance characteristics and memory usage for large ORC files. - Whether schema inference is supported when reading files without explicit schema specification. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 357.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags orc file reader writer, apache orc python, orc format serialization, columnar data format python, orc data io, columnar-storage, data-serialization [View on SkillFed](https://skillfed.io/packages/pyorc) · [View on PyPI](https://pypi.org/project/pyorc/)