Undated - “For when dates aren’t dates”
undated is a Python package that simplifies the process of working with dates that are stored as numbers or strings.
Whilst datatypes should fit their purpose, date types do not always transport well and are converted to a number or string, such as ISO 8601, for transportation in text based files like json or csv.
- undated provides:
Functionality to handle dates that are stored in number formats
Ability to derive the date format from provided data
Direct manipulation to avoid costly type conversions
Note
Although undated is whizzy with dates, operating with time elements is out of its scope.
Inception
undated came about due to the need to process large amounts of data from various sources. These were received as csv files where the format of the date was dependant on either the country of origin, source system, or which ever way the wind blew. One solution was required to enable big data to be processed regardless of its date formatting… undated.
Concept
- undated is a lightweight performance tuned package envisaged to be used either:
when processing data from various sources where the date format is unknown but consistent throughout the data
or when dates have been stored as integers in the
Ymd
format and performance is a consideration.
For other scenarios consider using a feature rich package such as dateutils
Supported Versions
Supported on Python 3.7, 3.8, 3.9 and 3.10
Installation
The package can be found on GitHub and PyPI, so naturally it can be installed with pip
pip install undated
Requirements
The undated
package itself has no requirements.
To use the unittests and timings modules dateutils
is required.
pip install python-dateutil>=2.8.2
To generate the Sphinx documentation, Sphinx and the RTD template are required.
pip install Sphinx>=5.0.2
pip install sphinx-rtd-theme>=1.0.0
Licence
This software is released under the MIT licence