Skip to main content

A really lazy package

Project description

yakutils

Yakutils is yet another toolbox of Python helper functions.

This package is available on PyPi, but its primary purpose is to allow one (me) to copy these into projects or to prevent one (me as well) from needing to Google how to write them (I'm looking at you csv.DictReader and csv.DictWriter).

This project is a continuous work-in-progress, and while its contents are specific to stuff that I use, pull requests are certainly welcome.

Installation

To download using pip via PyPi:

$ pip install yakutils

Usage Examples:

>>> from yakutils import read_csv
>>> read_csv('/path/to/data.csv')
[
  {
    'name': 'Tomatillo',
    'age': 27
  },
  # ...
]

>>> import datetime as dt
>>> from yakutils import date_to_iso8601
>>> date_to_iso8601(dt.date.today())
'2020-01-26T00:00:00Z'

>>> from yakutils import datetime_to_iso8601
>>> datetime_to_iso8601(dt.datetime.utcnow())
'2020-01-26T19:04:40.219668Z'

>>> from yakutils import datetime_to_unixtimestamp
>>> datetime_to_unixtimestamp(dt.datetime.utcnow())
1580065524

>>> from yakutils import iso8601_to_datetime
>>> iso8601_to_datetime('2020-01-26T19:04:40.219668Z')
datetime.datetime(2020, 1, 26, 19, 4, 40, 219668)

>>> import json
>>> from decimal import Decimal
>>> from yakutils import json_defaults
>>> json.dumps({
...   'now': dt.datetime.utcnow(),
...   'today': dt.date.today(),
...   'time': dt.time(1,2,3),
...   'num': Decimal(2.777),
...}, default=json_defaults)
'{"now": "2020-01-28T01:10:37.599281Z", "today": "2020-01-27", "time": "01:02:03", "num": 2.777}'

>>> from yakutils import random_string
>>> random_string(20)
'k4a9ue7TDjOC3p3oN0dl'

>>> from yakutils import update_qs
>>> update_qs('https://nickficano.com.com/?q=asdf&pi=3.14', pi=6.28)
'https://nickficano.com.com/?q=asdf&pi=6.28'

For complete list of utility functions, see: https://yakutils.readthedocs.io/en/latest/.

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

yakutils-2.0.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

yakutils-2.0.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file yakutils-2.0.0.tar.gz.

File metadata

  • Download URL: yakutils-2.0.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for yakutils-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1a666fddd59e5243d86e6c4132587f1339e722c7624cbb7ac43ca26fdef00e41
MD5 b26b282b86328f3a552183b7f0a0573d
BLAKE2b-256 118807a00f06da63cb9b62ab7d3c2d033af11be42c818752861c44985692aeb4

See more details on using hashes here.

File details

Details for the file yakutils-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: yakutils-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for yakutils-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 438783abc3191d2017df98af05faf816c06bcae3eb5f5224139c58d03c9e953e
MD5 959a9c612bc5a83f2692c56a9e46ce13
BLAKE2b-256 0f2a144c9c7c38030a0cee484878475c8db29c158d7ab2e105299953e1672824

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