Skip to main content

An animated image maker.

Project description

nummu (南無)

An animated image maker.

NOTE: this project in WIP and thus interface might change a lot. Be cautious when using in production.

Image Script
helloworld examples/helloworld.py
line examples/line.py
rect examples/rect.py
bubblesort Bubble Sort
heapsort Heap Sort
insertionsort Insertion Sort
mergesort Merge Sort
quicksort Quick Sort
selectionsort Selection Sort
examples/sort.py
image examples/image.py
text examples/text.py

Install

$ pip install nummu

Usage

Nummu is simply a framework so you might want to implement a class having these methods: update(delta), draw(palette). None of them are absolutely required.

class HelloWorld:

    def __init__(self):
        # Do initial work here
        self.position = 0

    def update(self, delta):
        # Do some calculation before draw each frame.
        # The delta is in millisecond unit.
        #
        # Don't forget to raise StopIteration somewhere!
        #
        self.position += delta
        if self.position >= 100:
            raise StopIteration

    def draw(self, pallete):
        # Pallete is simply a numpy.zeros instance.
        # Overwrite any pixels as you want.
        #
        pallete[:, self.position, :] = 255

Basic usage:

# import nummu
from nummu import Nummu

# set file size
nm = Nummu(100, 100)

# add drawer defined previously
nm.add(HelloWorld())

# export to gif
nm.export('helloworld.gif', delay=5)

Check the examples in project repo, and hopefully it might help you!

Develop

$ poetry develop
$ poetry run python examples/helloworld.py

Test

Currently nummu support running on 3.6, 3.7

$ pyenv install 3.6.5
$ pyenv install 3.7.0b2
$ pyenv local 3.6.5 3.7.0b2
$ export PATH=$(pyenv root)/shims:$PATH
$ tox
py36 runtests: commands[0] | poetry develop
py36 runtests: commands[0] | poetry run pytest
py37 runtests: commands[0] | poetry develop
py37 runtests: commands[0] | poetry run pytest
  py36: commands succeeded
  py37: commands succeeded
  congratulations :)

Credit

Thanks Pillow, numpy, numpngw and array2gif! Nummu stands on the shoulder of these giants!

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

nummu-0.1.9.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

nummu-0.1.9-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file nummu-0.1.9.tar.gz.

File metadata

  • Download URL: nummu-0.1.9.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nummu-0.1.9.tar.gz
Algorithm Hash digest
SHA256 72faf992596a23dda6f32fefd901fe7464e13dfbf3a7bce0eb31ceb98ed774f0
MD5 580e80b7d64036110c8999eedfaabf41
BLAKE2b-256 d0e5ca0ab0a294309da55d7548f7c902e4ee786cfb9f2902634b2deb97a4d57f

See more details on using hashes here.

File details

Details for the file nummu-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for nummu-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8ffcc6da85b2ade879d945c401f3410f5c167cdffc82ea90b67f78568ca4d94f
MD5 2b8186693f3aedbcd4a248a57eeb5d1a
BLAKE2b-256 0b90fdfa5adc9121de0c67f0aff156ebbaf65395ee74d0cffe2f3c1a2d890fa7

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