Dbfread

Latest version: v2.0.7

Safety actively analyzes 629564 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

2.0.1

^^^^^^^^^^^^^^^^^^

* bugfix: didn't handle field names with garbage after b'\0'
terminator. (Patch by Cédric Krier.)

* now handles 0 (_NullFlags) fields that are more than 1 byte long.
0 fields are now returned as byte strings instead of integers.
(Reported by Carlos Huga.)

* the type B field is a double precision floating point numbers in
Visual FoxPro. The parser crashed when it tried to interpret this as
a string containing a number. (Reported by Carlos Huga.)

* API changes: memo field parsers now return the memo data (typically
a unicode string or bytes object) instead of returning the
index. This makes it easier to implement new memo types or extend
the existing ones since memo fields are no longer a special case.

2.0.0

^^^^^^^^^^^^^^^^^^

* ``dbfread.open()`` and ``dbfread.read()`` are now deprecated and
will be removed in 1.4. Since the ``DBF`` object is no longer a
subclass of list, these functions instead return backward compatible
``DeprecatedDBF`` objects.

* records are now returned as ordered dictionaries. This makes it
easier to iterate over fields in the same order that they appear in
the file.

* now reads (at least some) DBT files.

* added support for 6 new field types.

* added ``ignore_missing_memofile`` argument. If ``True`` and the memo
file is not found all memo fields will be returned as ``None``.

* DBF now raises ``DBFNotFound`` and ``MissingMemoFile``. These
inherit from IOError, so old code should still work.

* added ``InvalidValue``. This is currently not used by the library but
can be useful for custom parsing.

* ``FieldParser`` is now available in the top scope.

* wrote documentation.

* switched to pytest for unit tests.

1.1.1

^^^^^^^^^^^^^^^^^^

* example and test data files were missing from the manifest.

1.1.0

^^^^^^^^^^^^^^^^^^

* the ``DBF`` object is no longer a subclass of list. Records are
instead available in the ``records`` attribute, but the table can be
iterated over like before. This change was made to make the API
cleaner and easier to understand. ``read()`` is still included for
backwards compatability, and returns an ``OldStyleTable`` object
with the old behaviour.

* default character encoding is now ``"ascii"``. This is a saner default
than the previously used ``"latin1"``, which would decode but could give
the wrong characters.

* the DBF object can now be used as a context manager (using the
"with" statement).

1.0.6

^^^^^^^^^^^^^^^^^^

* critical bugfix: each record contained only the last
field. (Introduced in 1.0.5, making that version unusable.)

* improved performance of record reading a bit.

1.0.5

^^^^^^^^^^^^^^^^^^

This version is broken.

* more than doubled performance of record parsing.

* removed circular dependency between table and deleted record iterator.

* added ``dbversion`` attribute.

* added example ``dbfinfo.py``.

* numeric field (N) parser now handles invalid data correctly.

* added more unit tests.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.