New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ovos-date-parser

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ovos-date-parser

OpenVoiceOS's multilingual text parsing and formatting library

  • 0.4.0
  • PyPI
  • Socket score

Maintainers
1

ovos-date-parser

ovos-date-parser is a comprehensive library for multilingual date and time parsing, extraction, and formatting, designed to handle a range of human-readable date, time, and duration expressions.

Features

  • Date and Time Extraction: Extract specific dates and times from natural language phrases in various languages.
  • Duration Parsing: Parse phrases that indicate a span of time, such as "two hours and fifteen minutes."
  • Friendly Time Formatting: Format time for human-friendly output, supporting both 12-hour and 24-hour formats.
  • Relative Time Descriptions: Generate relative descriptions (e.g., "tomorrow," "in three days") for given dates.
  • Multilingual Support: Includes extraction and formatting methods for multiple languages, such as English, Spanish, French, German, and more.

Installation

pip install ovos-date-parser

Usage

Date and Time Extraction

Extract specific dates and times from a phrase. This function identifies date-related terms in natural language and returns both the datetime object and any remaining text.

from ovos_date_parser import extract_datetime

result = extract_datetime("Meet me next Friday at 3pm", lang="en")
print(result)  # (datetime object, "at 3pm")

Duration Extraction

Identify duration phrases in text and convert them into a timedelta object. This can parse common human-friendly duration expressions like "30 minutes" or "two and a half hours."

from ovos_date_parser import extract_duration

duration, remainder = extract_duration("It will take about 2 hours and 30 minutes", lang="en")
print(duration)  # timedelta object
print(remainder)  # "about"

Formatting Time

Generate a natural-sounding time format suitable for voice or display in different languages, allowing customization for speech or written text.

from ovos_date_parser import nice_time
from datetime import datetime

dt = datetime.now()
formatted_time = nice_time(dt, lang="en", speech=True, use_24hour=False)
print(formatted_time)  # "three o'clock"

Relative Time Descriptions

Create relative phrases for describing dates and times in relation to the current moment or a reference datetime.

from ovos_date_parser import nice_relative_time
from datetime import datetime, timedelta

relative_time = nice_relative_time(datetime.now() + timedelta(days=1), datetime.now(), lang="en")
print(relative_time)  # "tomorrow"

Languages Supported

ovos-date-parser supports a wide array of languages, each with its own set of methods for handling natural language time expressions.

Parse

Languageextract_durationextract_datetime
az
ca
cs
da
de
en
es
eu
fa
fr
hu
it
nl
pl
pt
ru
sv
uk

Format

Languagenice_date
nice_date_time
nice_day
nice_weekday
nice_month
nice_year
get_date_strings
nice_timenice_relative_timenice_duration
az
ca
cs
da
de
en
es
eu
fa
fr
hu
it
nl
pl
pt
ru
sv
sl
uk
  • ovos-number-parser - for handling numbers
  • ovos-lang-parser - for handling languages
  • ovos-color-parser - for handling colors

License

This project is licensed under the Apache 2.0 License

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc