Skip to main content

pydateinfer

Python library to infer date format from examples. This is an actively maintained fork of the original dateinfer library by Jeffery Starr. It maintains python 2/3 compatibility and will be released as pydateinfer. Pull requests and issues welcome.

Table of Contents

Problem Statement

Imagine that you are given a large collection of documents and, as part of the extraction process, extract date information and store it in a normalized format. If the documents follow a single schema, the ideal approach is to craft a date parsing string for the schema. However, if the documents follow different schemas or if the contents are noisy (e.g. date fields were hand-populated), the development can become onerous.

This library makes a "best guess" on the proper date parsing string (datetime.strptime) based on examples in the file.

Installation

git clone https://github.com/nedap/dateinfer.git
cd dateinfer
pip install .

Usage

>>> import dateinfer
>>> dateinfer.infer(['Mon Jan 13 09:52:52 MST 2014', 'Tue Jan 21 15:30:00 EST 2014'])
'%a %b %d %H:%M:%S %Z %Y'
>>>

Give dateinfer.infer a list of example date strings. infer returns a datetime.strftime/strptime-compliant date format string for its "best guess" of a format string that will correctly parse the majority of the examples.

Development

Use the following to install the package locally for development purposes:

# create empty virtual environment
virtualenv venv --python=python3.7
source venv/bin/activate
# install dateinfer in editable mode
pip install -e .
# install development dependencies
pip install -r requirements.txt

You can run unit tests as follows:

python -m unittest dateinfer/tests.py

Metadata

Release files for py-dateinfer 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-dateinfer 0.4.5
File Size Uploaded
py_dateinfer-0.4.5.tar.gz 18.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-dateinfer 0.4.5
File Interpreter ABI Platform
py_dateinfer-0.4.5-py3-none-any.whl Python 3 none any Details

Total release size: 35.6 kB

Release files / py_dateinfer-0.4.5.tar.gz

Download URL py_dateinfer-0.4.5.tar.gz
Size 18.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0a4df1c80be414a1b7237d7e85b0b11cb315bfa432107dd7bc28765eb4674ea9
BLAKE2b-256 checksum
How to use checksums
bd5cae2285c5c78dba01a80ba2d4c1e7bfa5209c272cb72bf662a05da68b3b3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / py_dateinfer-0.4.5-py3-none-any.whl

Download URL py_dateinfer-0.4.5-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a121e24b3241168523c2bd3163da4c2d55bca4ec3f6aeb4f1dea03bba7909776
BLAKE2b-256 checksum
How to use checksums
2b9080931080c983eaed36dc4929e3f1adfce032e9f272762374023a8571601a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.4.5 This release

2 release files

0.4.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page