Skip to main content

A Python equivalent to the JavaScript ms package.

Project description

Python-ms

A Python equivalent to the JavaScript ms package.

This port of the original project supports some additional string-to-ms conversions, but otherwise the functionality is identical. This version also uses integers for everything to avoid rounding errors with floating-point numbers when using large values.

Using the project's unit tests as examples is recommended, as they cover everything.

Type Badges
PyPI Python versions PyPI - Implementation Wheel Downloads Version
Tests codecov Unit tests Pylint Flake8 Deploy to PyPI
Activity GitHub contributors Last commit GitHub all releases GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests
QA CodeFactor Rating
Other License FOSSA Status Known Vulnerabilities Repository size Code size Lines of code

Installation

The project is available via PyPI:

pip install python_ms

Examples

Convert from strings

import python_ms as ms

ms('2 days')  # 172_800_000
ms('1d')      # 86_400_000
ms('10h')     # 36_000_000
ms('2.5 hrs') # 9_000_000
ms('2h')      # 7_200_000
ms('1m')      # 60_000
ms('5s')      # 5_000
ms('1y')      # 31_557_600_000
ms('100')     # 100
ms('-3 days') # -259_200_000
ms('-1h')     # -3_600_000
ms('-200')    # -200

Convert from milliseconds

import python_ms as ms

ms(60_000)          # "1m"
ms(2 * 60_000)      # "2m"
ms(-3 * 60_000)     # "-3m"
ms(ms('10 hours'))  # "10h"

Time format written out

import python_ms as ms

ms(60_000, long=True)          # "1 minute"
ms(2 * 60_000, long=True)      # "2 minutes"
ms(-3 * 60_000, long=True)     # "-3 minutes"
ms(ms('10 hours'), long=True)  # "10 hours"

Features

  • Has no dependencies aside from the standard library
  • If a number is supplied to python_ms, a string with a unit is returned
  • If a string that contains the number is supplied, it returns it as a number (e.g.: it returns 100 for '100')
  • If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned

Related Packages

  • ms - The original JavaScript ms package

Caught a Bug?

  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Install poetry (if it isn't already installed)
  3. Run poetry install in the project directory. This fetches development dependencies like pytest and sets up everything for you to start debugging

As always, you can run the tests using: poetry run pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_ms-1.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

python_ms-1.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file python_ms-1.1.0.tar.gz.

File metadata

  • Download URL: python_ms-1.1.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.11.0 Linux/5.15.0-1037-azure

File hashes

Hashes for python_ms-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c8fe7e2424f2913a23c66a2f26a3eb1f5ff429765aa68aa6620b037a52191967
MD5 890c4a9327a59eaccd4e4912c1054923
BLAKE2b-256 0e8fcbe92a1ff86bd5849a62c2e7943dee50a3333596d2a84be98bc973f71b08

See more details on using hashes here.

File details

Details for the file python_ms-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: python_ms-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.11.0 Linux/5.15.0-1037-azure

File hashes

Hashes for python_ms-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a78a77685c4e67b6142f5d96a1e1d4c79aaee9c862331f392198f17ed47db588
MD5 89b9e40cf6266ec14c819baea5d4f9d3
BLAKE2b-256 3c86c84da3a8f309361f59f1b81a14e353bf9d1ed8cd5c688c65e5aa407b6c65

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page