Skip to main content

The Python Package Index Project

Project description

PYPIPR

ComparePerformance

Menjalankan seluruh method dalam class, Kemudian membandingkan waktu yg diperlukan. Nilai 100 berarti yang tercepat.

example :

import pprint

class ExampleComparePerformance(ComparePerformance):
    # number = 1
    z = 10

    def a(self):
        return (x for x in range(self.z))

    def b(self):
        return tuple(x for x in range(self.z))

    def c(self):
        return [x for x in range(self.z)]

    def d(self):
        return list(x for x in range(self.z))

pprint.pprint(ExampleComparePerformance().compare_result())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())

result :

{'a': <generator object test.<locals>.ExampleComparePerformance.a.<locals>.<genexpr> at 0x77d7cc1300>,
 'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
 'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
{'a': 121, 'b': 165, 'c': 99, 'd': 261}
{'a': 99, 'b': 160, 'c': 99, 'd': 204}
{'a': 99, 'b': 150, 'c': 101, 'd': 193}
{'a': 102, 'b': 159, 'c': 100, 'd': 194}
{'a': 100, 'b': 164, 'c': 103, 'd': 192}

LINUX

bool(x) -> bool

Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.

example :

print(LINUX)

result :

True

WINDOWS

bool(x) -> bool

Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.

example :

print(WINDOWS)

result :

False

batch_calculate

Analisa perhitungan massal. Bisa digunakan untuk mencari alternatif terendah/tertinggi/dsb.

example :

res = batch_calculate("({1 10} m) ** {1 3}")
for k, v in res:
    print(f"{k} : {v:~P}")

result :

(1 m) ** 1 : 1 m
(1 m) ** 2 : 1 (1 m) ** 3 : 1 (2 m) ** 1 : 2 m
(2 m) ** 2 : 4 (2 m) ** 3 : 8 (3 m) ** 1 : 3 m
(3 m) ** 2 : 9 (3 m) ** 3 : 27 (4 m) ** 1 : 4 m
(4 m) ** 2 : 16 (4 m) ** 3 : 64 (5 m) ** 1 : 5 m
(5 m) ** 2 : 25 (5 m) ** 3 : 125 (6 m) ** 1 : 6 m
(6 m) ** 2 : 36 (6 m) ** 3 : 216 (7 m) ** 1 : 7 m
(7 m) ** 2 : 49 (7 m) ** 3 : 343 (8 m) ** 1 : 8 m
(8 m) ** 2 : 64 (8 m) ** 3 : 512 (9 m) ** 1 : 9 m
(9 m) ** 2 : 81 (9 m) ** 3 : 729 (10 m) ** 1 : 10 m
(10 m) ** 2 : 100 (10 m) ** 3 : 1000 

batchmaker

Alat Bantu untuk membuat teks yang berulang. Gunakan {[start][separator][finish]([separator][step])}.

[start] dan [finish]    -> bisa berupa huruf maupun angka
([separator][step])     -> bersifat optional
[separator]             -> selain huruf dan angka
[step]                  -> berupa angka positif

example :

import pprint
pattern = "Urutan {1/6/3} dan {10:9} dan {j k} dan {Z - A - 15} saja."
pprint.pprint(list(batchmaker(pattern)))

result :

['Urutan 1 dan 10 dan j dan Z saja.',
 'Urutan 1 dan 10 dan j dan K saja.',
 'Urutan 1 dan 10 dan j dan  saja.',
 'Urutan 1 dan 10 dan k dan Z saja.',
 'Urutan 1 dan 10 dan k dan K saja.',
 'Urutan 1 dan 10 dan k dan  saja.',
 'Urutan 1 dan 9 dan j dan Z saja.',
 'Urutan 1 dan 9 dan j dan K saja.',
 'Urutan 1 dan 9 dan j dan  saja.',
 'Urutan 1 dan 9 dan k dan Z saja.',
 'Urutan 1 dan 9 dan k dan K saja.',
 'Urutan 1 dan 9 dan k dan  saja.',
 'Urutan 4 dan 10 dan j dan Z saja.',
 'Urutan 4 dan 10 dan j dan K saja.',
 'Urutan 4 dan 10 dan j dan  saja.',
 'Urutan 4 dan 10 dan k dan Z saja.',
 'Urutan 4 dan 10 dan k dan K saja.',
 'Urutan 4 dan 10 dan k dan  saja.',
 'Urutan 4 dan 9 dan j dan Z saja.',
 'Urutan 4 dan 9 dan j dan K saja.',
 'Urutan 4 dan 9 dan j dan  saja.',
 'Urutan 4 dan 9 dan k dan Z saja.',
 'Urutan 4 dan 9 dan k dan K saja.',
 'Urutan 4 dan 9 dan k dan  saja.',
 'Urutan 7 dan 10 dan j dan Z saja.',
 'Urutan 7 dan 10 dan j dan K saja.',
 'Urutan 7 dan 10 dan j dan  saja.',
 'Urutan 7 dan 10 dan k dan Z saja.',
 'Urutan 7 dan 10 dan k dan K saja.',
 'Urutan 7 dan 10 dan k dan  saja.',
 'Urutan 7 dan 9 dan j dan Z saja.',
 'Urutan 7 dan 9 dan j dan K saja.',
 'Urutan 7 dan 9 dan j dan  saja.',
 'Urutan 7 dan 9 dan k dan Z saja.',
 'Urutan 7 dan 9 dan k dan K saja.',
 'Urutan 7 dan 9 dan k dan  saja.']

calculate

Mengembalikan hasil dari perhitungan teks menggunakan modul pint. Mendukung perhitungan matematika dasar dengan satuan.

Return value:

  • Berupa class Quantity dari modul pint

Format:

  • f"{result:~P}" -> pretty
  • f"{result:~H}" -> html
  • result.to_base_units() -> SI
  • result.to_compact() -> human readable

example :

fx = "3 meter * 10 cm * 3 km"
res = calculate(fx)
print(res)
print(res.to_base_units())
print(res.to_compact())
print(f"{res:~P}")
print(f"{res:~H}")

result :

90 centimeter * kilometer * meter
900.0 meter ** 3
900.0 meter ** 3
90 cm·km·m
90 cm km m

chr_to_int

Fungsi ini berguna untuk mengubah urutan huruf menjadi angka. dimulai dari a = 0

example :

print(chr_to_int("a"))
print(chr_to_int("z"))
print(chr_to_int("ac"))
print(chr_to_int("abc", numbers="abcde"))

result :

0
25
28
37

chunk_array

Membagi array menjadi potongan-potongan dengan besaran yg diinginkan

example :

arr = [2, 3, 12, 3, 3, 42, 42, 1, 43, 2, 42, 41, 4, 24, 32, 42, 3, 12, 32, 42, 42]
print(chunk_array(arr, 5))
pprint.pprint(list(chunk_array(arr, 5)))

result :

<generator object chunk_array at 0x77e1490310>
[[2, 3, 12, 3, 3],
 [42, 42, 1, 43, 2],
 [42, 41, 4, 24, 32],
 [42, 3, 12, 32, 42],
 [42]]

datetime_from_string

Parse iso_string menjadi datetime object. Mempermudah untuk konversi timezone

example :

print(datetime_from_string("2022-12-12 15:40:13").isoformat())
print(datetime_from_string("2022-12-12 15:40:13", timezone="Asia/Jakarta"))

result :

2022-12-12T15:40:13+00:00
2022-12-12 15:40:13+07:00

datetime_now

Memudahkan dalam membuat Datetime untuk suatu timezone tertentu

example :

print(datetime_now())
print(datetime_now("Asia/Jakarta"))
print(datetime_now("GMT"))
print(datetime_now("Etc/GMT+7"))

result :

2025-10-20 10:17:28.695107
2025-10-20 10:17:28.695134+07:00
2025-10-20 03:17:28.695909+00:00
2025-10-19 20:17:28.699404-07:00

filter_empty

Generator yang mengembalikan elemen non-kosong dari iterable. Lihat docstring sebelumnya untuk detail parameter.

example :

var = [1, None, False, 0, "0", True, {}, ['eee']]
print(filter_empty(var))
print(list(filter_empty(var)))

result :

<generator object filter_empty at 0x77d7e7e510>
[1, '0', True, ['eee']]

get_class_method

Mengembalikan berupa tuple yg berisi list dari method dalam class

example :

class ExampleGetClassMethod:
    def a(self):
        return [x for x in range(10)]

    def b(self):
        return [x for x in range(10)]

    def c(self):
        return [x for x in range(10)]

    def d(self):
        return [x for x in range(10)]

print(get_class_method(ExampleGetClassMethod))
pprint.pprint(list(get_class_method(ExampleGetClassMethod)))

result :

<generator object get_class_method at 0x77d1d0e180>
[<function test.<locals>.ExampleGetClassMethod.a at 0x77d1d253a0>,
 <function test.<locals>.ExampleGetClassMethod.b at 0x77d1d26480>,
 <function test.<locals>.ExampleGetClassMethod.c at 0x77d1d25580>,
 <function test.<locals>.ExampleGetClassMethod.d at 0x77d1d26520>]

irange

Meningkatkan fungsi range() dari python untuk pengulangan menggunakan huruf

example :

print(list(irange(10)))
print(list(irange(3, 15)))
print(list(irange(13, 5)))
print(list(irange(2, 10, 3)))
print(list(irange(2, "10", 3)))
print(list(irange("10")))
print(list(irange("10", "100", 7)))
print(list(irange("h")))
print(list(irange("A", "D")))
print(list(irange("z", "a", 4)))

result :

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[13, 12, 11, 10, 9, 8, 7, 6]
[2, 5, 8]
[2, 5, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, 17, 24, 31, 38, 45, 52, 59, 66, 73, 80, 87, 94]
['a', 'b', 'c', 'd', 'e', 'f', 'g']
['A', 'B', 'C']
['z', 'v', 'r', 'n', 'j', 'f', 'b']

random_bool

Menghasilkan nilai random True atau False. Fungsi ini merupakan fungsi tercepat untuk mendapatkan random bool. Fungsi ini sangat cepat, tetapi pemanggilan fungsi ini membutuhkan overhead yg besar.

example :

print(random_bool())

result :

False

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pypipr-3.0.4.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypipr-3.0.4-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file pypipr-3.0.4.tar.gz.

File metadata

  • Download URL: pypipr-3.0.4.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for pypipr-3.0.4.tar.gz
Algorithm Hash digest
SHA256 97ae23adc04292611964b65177f42c241eb094f2f63d75c6a3961371db489a59
MD5 f6b673e9a5f02c9769b0cf5625534962
BLAKE2b-256 946e22085f1b669cb3519bb0f04f1ee1d4bf6a75713c6f38deae4f19664ad83b

See more details on using hashes here.

File details

Details for the file pypipr-3.0.4-py3-none-any.whl.

File metadata

  • Download URL: pypipr-3.0.4-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for pypipr-3.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4008a77c899c54851b89f84aaa4f7d49f68f70c5b534cc75ec96ed4438e6f8ac
MD5 4b9479dfbaa5d1722b1fa640dd454181
BLAKE2b-256 234fd28b3d5b1e336ab52d02efdb752d7c0203e5aa85123987e70f56e5b9f90b

See more details on using hashes here.

Supported by

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