NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2218 most downloaded on PyPI
Pure Python read/write support for ESRI Shapefile format
Last release 2 months ago
25 Jul 2026
Ships unpredictably
gaps range from 8 days to 3.2 years
Most releases are documented
notes for 30 of 46 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
46 releases · first in 2011
Merge pull request #441 from JamesParrott/Encoding_from_cpg_file
Merge pull request #441 from JamesParrott/Encoding_from_cpg_file
Support reading encodings from .cpg files
Merge pull request #437 from JamesParrott/3.1.5_fix_date_str_bug_no_s…
Merge pull request #437 from JamesParrott/3.1.5_fix_date_str_bug_no_s…
…trftime
3.1.5 fix date str bug no strftime
One column per quarter.
Merge pull request #434 from JamesParrott/Test_all_supported_encodings
Merge pull request #434 from JamesParrott/Test_all_supported_encodings
v3.1.4. Fix bug with dates supplied as strings & CI test all encodings
Merge pull request #427 from JamesParrott/Slightly_faster
Merge pull request #427 from JamesParrott/Slightly_faster
v3.1.3 speed up encoding of utf8 and ascii text
Merge pull request #425 , Raise error when strings end in code points …
Merge pull request #425, Raise error when strings end in code points …
…that encode to pad bytes
Raise error when strings end in code points that encode to pad bytes
Add notes about Unicode handling to Readme
Merge pull request #424 from JamesParrott/Test_utf16_encoded_field_names
Merge pull request #424 from JamesParrott/Test_utf16_encoded_field_names
v3.1.1 Warn if text encoding ends in pad bytes. Minimise pad bytes used in decodings.
ShpWriter.shape API Tweak (small breaking change).
Merge pull request #413 from JamesParrott/Test_shp_files_roundtrip
Merge pull request #413 from JamesParrott/Test_shp_files_roundtrip
v3.0.13. Don't error when reading empty shp files (bug fix).
Merge pull request #409 from JamesParrott/Polylines_and_Polygons
Merge pull request #409 from JamesParrott/Polylines_and_Polygons
v3.0.12. 3D Point coords
Nothing published for this version
Nothing published for this version
Make Reader and Writer stricter about their args. Use pathlib.Paths … by @JamesParrott in https://github.com/GeospatialPython/pyshp/pull/401
Full Changelog: https://github.com/GeospatialPython/pyshp/compare/3.0.8...3.0.9
Add DbfWriter and refactor Writer to use it by @JamesParrott in https://github.com/GeospatialPython/pyshp/pull/391
Full Changelog: https://github.com/GeospatialPython/pyshp/compare/3.0.7...3.0.8
Separate DbfReader by @JamesParrott in https://github.com/GeospatialPython/pyshp/pull/390
Full Changelog: https://github.com/GeospatialPython/pyshp/compare/3.0.6...3.0.7
Test polygonz files, with no z and no m by @JamesParrott in https://github.com/GeospatialPython/pyshp/pull/387
Full Changelog: https://github.com/GeospatialPython/pyshp/compare/3.0.5...3.0.6
Use dependency groups for dev and test (PEP 735) by @mwtoews in https://github.com/GeospatialPython/pyshp/pull/386
Full Changelog: https://github.com/GeospatialPython/pyshp/compare/3.0.4...3.0.5
Bump GitHub Actions versions to those based on Node.JS 24 (checkout v6, setup-python v6 & upload-artefact v7) by @JamesParrott in https://github.com/G
Full Changelog: https://github.com/GeospatialPython/pyshp/compare/3.0.3...3.0.4
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix recently introduced issue where Reader/Writer closes file-like objects provided by user
Added support for pathlib and path-like shapefile filepaths (@mwtoews).
Read shapefiles directly from zipfiles.
fields arg.bbox arg.Fix recent bug in geojson hole-in-polygon checking (see #205)
Fix issue where warnings.simplefilter('always') changes global warning behavior [see #203]
warnings.simplefilter('always') changes global warning behavior [see #203]Handle shapes with no coords and represent as geojson with no coords (GeoJSON null-equivalent)
Added back read/write support for unicode field names.
Fix pip install setup.py README decoding error.
Fix pip install setup.py README decoding error.
Major new version. See README or changelog.txt.
Major new version. See README or changelog.txt.
Fixed errors caused by strict value type checking, as introduced in v1.2.11. Now more lenient by attempting force conversion of values to match the fi
Fixed bugs when reading and writing empty shapefiles.
Bump version to fix pip install issue.
Bump version to fix pip install issue.
Update changelog and version information
Bugfix for Python3 with Reader.iterShapeRecords()
Bugfix for Python3 with Reader.iterShapeRecords()
Adds Reader.iterShapeRecords() for reading large shapefiles
Adds Reader.iterShapeRecords() for reading large shapefiles
assert()Reader.iterShapeRecords to help work with larger filesNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →