{"id":2459,"library":"dataproperty","title":"DataProperty","description":"DataProperty is a Python library designed to extract and analyze properties from various data types, including numbers, strings, and dates. It provides functionalities to determine characteristics like type, alignment, width, and digit counts for individual data points or entire matrices. The library is actively maintained, with version 1.1.0 released recently, and it has a regular release cadence addressing bug fixes, performance, and Python version compatibility.","status":"active","version":"1.1.0","language":"en","source_language":"en","source_url":"https://github.com/thombashi/DataProperty","tags":["data property","type inference","data analysis","data extraction","data type"],"install":[{"cmd":"pip install dataproperty","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"Required Python version.","package":"python","version":">=3.9","optional":false},{"reason":"Core dependency for type checking, validation, and conversion.","package":"typepy","version":">=1.3.2","optional":false}],"imports":[{"symbol":"DataProperty","correct":"from dataproperty import DataProperty"},{"symbol":"DataPropertyExtractor","correct":"from dataproperty import DataPropertyExtractor"}],"quickstart":{"code":"import datetime\nfrom dataproperty import DataPropertyExtractor\n\ndp_extractor = DataPropertyExtractor()\ndt = datetime.datetime(2017, 1, 1, 0, 0, 0)\ninf = float(\"inf\")\nnan = float(\"nan\")\n\ndata_matrix = [\n    [1, 1.1, \"aa\", 1, 1, True, inf, nan, dt],\n    [2, 2.2, \"bbb\", 2.2, 2.2, False, \"inf\", \"nan\", dt],\n    [3, 3.33, \"cccc\", -3, \"ccc\", \"true\", inf, \"NAN\", \"2017-01-01T01:23:45+0900\"],\n]\n\ndp_extractor.headers = [\"int\", \"float\", \"str\", \"num\", \"mix\", \"bool\", \"inf\", \"nan\", \"time\"]\ncol_dp_list = dp_extractor.to_column_dp_list(dp_extractor.to_dp_matrix(data_matrix))\n\nfor col_idx, col_dp in enumerate(col_dp_list):\n    print(str(col_dp))","lang":"python","description":"This example demonstrates how to use `DataPropertyExtractor` to process a matrix of mixed data types, extract properties for each column, and print the results."},"warnings":[{"fix":"Upgrade your Python environment to version 3.9 or newer to use `dataproperty` v1.0.2 and later.","message":"Python 3.7 and 3.8 are no longer supported as of `dataproperty` version 1.0.2.","severity":"breaking","affected_versions":">=1.0.2"},{"fix":"Upgrade your Python environment to version 3.7 or newer, or stick to `dataproperty` versions older than 1.0.0.","message":"Python 3.6 is no longer supported as of `dataproperty` version 1.0.0.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Remove calls to `set_log_level` and `is_multibyte_str` from your codebase. Refer to the official documentation for alternative logging or string handling.","message":"The `set_log_level` and `is_multibyte_str` functions were removed in version 1.0.0.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Review any code that relies on `decimal.getcontext()` affecting `dataproperty`'s internal calculations. Adjust expectations or explicitly manage the context before calls if needed.","message":"The `decimal` context used by the `get_integer_digit` function was changed from a global to a local scope in version 1.0.2. If your application modified the global `decimal` context and expected `dataproperty` to honor it, behavior might differ.","severity":"gotcha","affected_versions":">=1.0.2"},{"fix":"Ensure you are using `dataproperty` version 0.54.2 or later if you are processing dictionaries to avoid these issues.","message":"Versions prior to 0.54.2 had issues with `dict` inputs, causing preprocessing failures or improper padding length calculations.","severity":"gotcha","affected_versions":"<0.54.2"}],"env_vars":null,"last_verified":"2026-04-10T00:00:00.000Z","next_check":"2026-07-09T00:00:00.000Z"}