sas7bdat
A sas7bdat file reader for Python
Decision gist · record as of 2026-08-14
Yes, but with caution: install if you need to read SAS7BDAT files and have no alternative, and if your files match the formats already tested. The permissive MIT license and zero runtime dependencies make it low-risk to try. However, do not rely on it for production systems or new SAS file formats—the abandonment since 2019 means bugs in modern Python versions or recent SAS formats will not be fixed. Test thoroughly with your actual data before committing to it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- High install friction: the package is abandoned (last release 2019-07-15, no recent commits), with no runtime dependencies but marked as production-stable despite years without maintenance.
- Installation itself is straightforward, but the lack of active support means bugs in newer Python versions or SAS file formats will not be fixed.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute this code freely as long as you include the original license notice.
last release 2019-07-15 (2587 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 157,278 downloads/mo, #10,760 on PyPI
Alternatives
Verify before relying
pip install sas7bdat
from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat', skip_header=True) as reader:
for row in reader:
print(row)
df = reader.to_data_frame()- Whether the package works reliably with modern Python versions (3.9+) given the abandonment status and last release in 2019.
- Compatibility with recent SAS file format variations or compression methods introduced after 2019.
- Whether the approximately three hundred sample files tested represent comprehensive coverage or edge cases remain untested.
What it is and what it does
sas7bdat is a pure-Python reader for SAS7BDAT files, the binary data format used by SAS statistical software. It parses these files without requiring SAS to be installed, returning rows as lists of typed values (strings, floats, dates, times) and optionally converting to pandas DataFrames. The package also includes a command-line tool, `sas7bdat_to_csv`, for batch conversion and metadata inspection.
The library was originally ported from an R implementation but has been substantially rewritten. While the author reports successful testing on sample files, the project has been abandoned since 2019 with no active maintenance. This means new SAS file format features, compression methods, or Python version incompatibilities will not be addressed.
Use it for
- Import SAS data files into Python workflows without installing SAS software or licensing costs.
- Batch convert legacy SAS7BDAT files to CSV format for archival, migration, or sharing with non-SAS users.
- Load SAS statistical datasets into pandas for analysis in Jupyter notebooks or data science pipelines.
- Extract metadata and column attributes from SAS files for data documentation or schema inspection.
- Automate data pipelines that consume SAS output files from external statistical analyses.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, but with caution: install if you need to read SAS7BDAT files and have no alternative, and if your files match the formats already tested.
The permissive MIT license and zero runtime dependencies make it low-risk to try. However, do not rely on it for production systems or new SAS file formats—the abandonment since 2019 means bugs in modern Python versions or recent SAS formats will not be fixed. Test thoroughly with your actual data before committing to it.
Install
sas7bdat on PyPI
Before you install
High install friction: the package is abandoned (last release 2019-07-15, no recent commits), with no runtime dependencies but marked as production-stable despite years without maintenance. Installation itself is straightforward, but the lack of active support means bugs in newer Python versions or SAS file formats will not be fixed.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute this code freely as long as you include the original license notice.
Quickstart
pip install sas7bdat
from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat', skip_header=True) as reader:
for row in reader:
print(row)
df = reader.to_data_frame()
Verify before relying
- Whether the package works reliably with modern Python versions (3.9+) given the abandonment status and last release in 2019.
- Compatibility with recent SAS file format variations or compression methods introduced after 2019.
- Whether the approximately three hundred sample files tested represent comprehensive coverage or edge cases remain untested.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,587 days since the last release |
| First released | |
| Downloads | 157,278 / month, #10,760 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/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: Text ProcessingTopic :: Utilities |
Evidence: sas7bdat-2.2.3.tar.gz
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 › “read sas7bdat files python”
- sas7bdatReads SAS7BDAT files (SAS statistical software data format) using…
- pyreadstatReads and writes SAS, SPSS, and Stata data files directly into pandas…
- arParses and reads ar archive files (.a), allowing you to list,…
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 pyreadstat · saspy · pandas-read-xml · sdmx1 · parquet · pylightxl · pandavro · pyxlsb · gspread-dataframe · dataflows-tabulator