Skip to main content

Pakiet pomocniczy dla programistów "Ziobro"

Project description

Ziobro.py

License: MIT Actions Status Wheel Status Supported Python versions PyPI - Status Latest version

Pakiet zrobiony dla beki, nie ma na celu obrażać nikogo, jest tylko followupem do przeterminowanych już memów.

Przykłady użycia

Zakończenie pracy programu

Jak wszyscy wiedzą, program musi się kiedyś kończyć, bo wszystko, co dobre kiedyś się kończy. Najlepiej jak kończy się dobrze, dlatego dzięki pakietowi Ziobro.py twoje programy będą zawsze kończyły się z sukcesem!

from ziobro.exit import ziobro


def main_program():
    try:
        ...
    except Exception as e:
        ...
        ziobro()
    ziobro()


main_program()

>>> Process finished with exit code 0

Stała

Stałe wartości są ważne w programowaniu. Jeśli coś jest stałe, to można na tym polegać, więc im więcej stałych, tym program działa stabilniej. Pakiet zawiera dodatkową stałą do użytku w twoich programach (sic! zupełnie za darmo)!

from ziobro.const import ZIOBRO


def shopping_cart_empty(cart):
    return len(cart) == ZIOBRO


print(shopping_cart_empty([]))

>>> 0

Funkcja

Programowanie w Pythonie opiera się na funkcjach, bo można od razu uruchamiać funkcje, bez potrzeby tworzenia klas. Jak wiadomo, programiści preferują rozwiązania proste, więc w Pythonie klasy to rzadkość, funkcje to domena pięknego kodu. Do dyspozycji oddajemy dodatkową, uniwersalną funkcję, której można użyć, chociażby do mapowania. Program od razu staje się krótszy, czyli szybszy.

from ziobro.func import ziobro

values = ['rozum', 'godność człowieka']
print(list(map(ziobro, values)))

>>> [0, 0]

Obiekt/singleton

Mimo że obiekty i klasy to egzotyka, uznaliśmy, że należy jednak dać wam (programistom) coś ekstra. Przedstawiamy uniwersalną klasę Ziobro oraz towarzyszący jej singleton ziobro, który pomoże efektywnie zarządzać pamięcią.

from ziobro.object import Ziobro, ziobro

z = Ziobro('człowiek', 'wilk', 'drugi wilk')
print(z == ziobro)
print(z == 0)
print(z == 0.0)
print(z < 0)
print(z > 0)
print(z == None)
>>> True
>>> True
>>> True
>>> False
>>> False
>>> True

Gotowy obiekt klasy może zostać zawołany, ma tez metodę kończącą program dla wygody.

from ziobro.object import ziobro

ziobro(12)
ziobro.exit()

Obiekty klasy Ziobro zachowują się jak liczba (dokładniej int), co znaczy, że możemy używać tej klasy do wszelkich skomplikowanych obliczeń.

from ziobro.object import ziobro

print((ziobro + ziobro) * ziobro - ziobro / (ziobro ** ziobro))

>>> 0.0

Wersjonowanie

Pakiet korzysta z autorskiej odmiany wersjonowania semantycznego zaproponowanego przez Lunder. Zamiast używać cyfr, numer wersji jest determinowany przez ilość zer. Jest to o wiele prostsze rozwiązanie, szczególnie dla osób, które nie potrafią odczytywać liczb.

Przykłady:

  • wersja 0.0.00 w standardzie semver oznacza wersję 0.0.1
  • wersja 00.0.000 oznacza 1.0.2

Jeśli ten doświadczalny sposób wersjonowania sprawdzi się w praktyce (nie widzimy powodu, czemu miałby się nie sprawdzić), to pełna dokumentacja będzie dostępna pod adresem ziobver.org. Na ten moment trwają prace nad opracowaniem pełnej dokumentacji zgodnej z najlepszymi światowymi standardami.

Znane problemy

na poważnie

  1. Nie wszystkie funkcjonalności pakietu da się zaimportować bez kolizji nazw. Można poradzić sobie z tym problemem poprzez aliasowanie.
    from ziobro.func import ziobro as ziobro_f
    from ziobro.exit import ziobro as ziobro_e
    
  2. Wersjonowanie pakietu jest okrutne, prawdopodobnie żadne narzędzie do podbijania wersji zależności nie ogarnie. Tak samo, jak zestreleaser, którego używam do releasowania.

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

ziobro-0.0.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

ziobro-0.0.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file ziobro-0.0.0.tar.gz.

File metadata

  • Download URL: ziobro-0.0.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ziobro-0.0.0.tar.gz
Algorithm Hash digest
SHA256 4e3beb24e8d9f987097837bf6d4e73b22a6659d3c94656961e774dcd7a0cfb6c
MD5 73ad9e781468614990fd93e17ff0ea4a
BLAKE2b-256 70b07d38368353d0b8d93084a40bd6bc7fa9e97a8d1dd172a8b94953ad71cfc7

See more details on using hashes here.

File details

Details for the file ziobro-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: ziobro-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ziobro-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e0b65bcf0ef844557f226002457de8353ce6d1a00285c2908b0b356b0611bff
MD5 132a5de0b78df4a9ea439f0835f8716e
BLAKE2b-256 d19564fe570ae74877e793fbc37834a4444a0505f7414ff606bd2dea9d1287b1

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