Skip to main content

simple python module for KoiLang parsing

Project description

Kola

Simple python module for KoiLang parsing.

License PyPI Python Version

Installation

From pip:

pip install KoiLang

From source code:

python setup.py build_ext --inplace
python setup.py install

What is KoiLang

KoiLang is a markup language while is easy to read for people. There is an simple example.

#background Street
    #camera on(Orga)
    #character Orga
        Huh... I'm a pretty good shot, huh?
    #camera on(Ride, Ched)
    #character Ride
        B- boss...
    #character Orga
        #action bleed
    #camera on(object: blood, source: Orga)

    #camera on(Ched, Orga, Ride)
    #character Orga
        How come you're stammering like that... Ride!

    #playsound freesia

    #character Orga
        #action stand_up speed(slowly)

    #character Ride
        But... but!
    #character Orga
        I'm the Boss of Tekkadan, Orga Itsuka, this is nothing to me.
    #character Ride
        #action shed_tear
        No... not for me...

    #camera on(Orga)
    #character Orga
        Protecting my members is my job!
    #character Ched
        #action shed_tear

    #character Ride
        But...!
    #character Orga
        Shut up and let's go!

        #camera on(Orga)
        #action walk direction(front) speed(slowly)
        Everyone's waiting, besides...

        I finally understand now, Mika, we don't need any destinations, we just need to keep moving forward.
        As long as we don't stop, the road will continue!

Grammar

In KoiLang, the code contains 'command' section and 'text' section. The format of the command section is similar to a C prepared statement, using '#' as the prefix. And other lines that do not start with '#' are the text section.

#command "This is a command"
This is the text.

The format of a single command like:

#command_name [param 1] [param 2] ...

There are several parameters behind the command whose name should be a valid variable name.

An unsigned decimal integer like is also a legal command name, like #114.

Each command can have several parameters behind the command name. Valid argument type include integer, float, literal and string.

#arg_int    1 0b101 0x6CF
#arg_float  1. 2e-2 .114514
#arg_literal string __name__
#arg_string "A string"

Here literal argument is a valid python variety name containing letter, digit, underline and not starting with digit. Usually it is the same as a string.

The above parameter types are often referred to base parameters. Combination parameter which is composed of multiple basic parameters is another argument type. It is a key-to-value mode which is starting with a literal as key and followed by several basic parameters. The format is as follows:

#kwargs key(value)

And another format:
#keyargs_list key(item0, item1)

And the third:
#kwargs_dict key(x: 11, y: 45, z: 14)

All the parameters above can be put together:

#draw Line 2 pos0(x: 0, y: 0) pos1(x: 16, y: 16) \
    thickness(2) color(255, 255, 255)

What can Kola module do

Kola module provides a fast way to translate KoiLang command into a python function call.

Above command #draw will convert to function call below:

draw(
    "Line", 2,
    pos0={"x": 0, "y": 0},
    pos1={"x": 16, "y": 16},
    thickness=2,
    color=[255, 255, 255]
)

Kola mudule just create a bridge from kola file to Python script. The bridge, the main class of Kola module, is KoiLang class. There is a simple example.

Example

Let's image a simple situation, where you want to create some small files. Manual creating is complex and time-consuming. Here is a way to solve that. We can use a single kola file to write all my text. Then use commands to devide these text in to different files.

Let us start with a kola file:

## This is the file `makefiles.kola`

#file "hello.txt" encoding("utf-8")
Hello world!
And there are all my friends.

#space hello

    #file "Bob.txt"
    Hello Bob.

    #file "Alice.txt"
    Hello Alice.

#endspace

Just name it as makefiles.kola. Then, we make a script to explain how to do with these commands:

import os
from kola import KoiLang, kola_command, kola_text


class FastFile(KoiLang):
    @kola_command
    def file(self, path: str, encoding: str = "utf-8") -> None:
        if self._file:
            self._file.close()
        path_dir = os.path.dirname(path)
        if path_dir:
            os.makedirs(path_dir, exist_ok=True)
        self._file = open(path, "w", encoding=encoding)
    
    @kola_command
    def space(self, name: str) -> None:
        path = name.replace('.', '/')
        if not os.path.isdir(path):
            os.makedirs(path)
        os.chdir(path)
    
    @kola_command
    def endspace(self) -> None:
        os.chdir("..")
        self.end()

    @kola_command
    def end(self) -> None:
        if self._file:
            self._file.close()
            self._file = None
    
    @kola_text
    def text(self, text: str) -> None:
        if not self._file:
            raise OSError("write texts before the file open")
        self._file.write(text)
    
    def at_start(self) -> None:
        self._file = None
    
    def at_end(self) -> None:
        self.end()

You can save the script in file script.py. After that, let us try to mix them together by entering the following in terminal:

python -m kola makefiles.kola -s script.py

Or add these directly at the end of the script:

if __name__ = "__main__":
    FastFile().parse_file("makefiles.kola")

You will see new files in your work dir.

<workdir>
│      
│  hello.txt
│      
└─hello
    Alice.txt
    Bob.txt

What happened

It seems amusing? Well, if you make a python script as this:

vmobj = FastFile()

with vmobj.exec_block():
    vmobj.file("hello.txt", encoding="utf-8")
    vmobj.text("Hello world!")
    vmobj.text("And there are all my friends.")

    vmobj.space("hello")

    vmobj.file("Bob.txt")
    vmobj.text("Hello Bob.")

    vmobj.file("Alice.txt")
    vmobj.text("Hello Alice.")

    vmobj.endspace()

the same result will be get. This is the python script corresponding to the previous kola file. What we have done is to make KoiLang interpreter know the correspondence between kola commands and python functions.

So let's go back to the script. Here the first we need is a kola command set that is the top interface for parsing. All commands we want to use will be included in the set. The best way is create a subclass of KoiLang with all commands as methods. That is:

class FastFile(KoiLang):
    ...

The next step is making the kola command we need. So a function is defined here:

def file(self, path: str, encoding: str = "utf-8") -> None:
    if self._file:
        self._file.close()
    path_dir = os.path.dirname(path)
    if path_dir:
        os.makedirs(path_dir, exist_ok=True)
    self._file = open(path, "w", encoding=encoding)

But it is not enough. Use the decorator @kola_command to annotate the function can be used in the kola text. In default case, the name of kola command will be the same to that of the function's. If another name is expected to use in kola files instead of the raw function name, you can use @kola_command("new_name") as the decorator. It wiil look like:

@kola_command("open")
def file(self, path: str, encoding: str = "utf-8") -> None:
    if self._file:
        self._file.close()
    path_dir = os.path.dirname(path)
    if path_dir:
        os.makedirs(path_dir, exist_ok=True)
    self._file = open(path, "w", encoding=encoding)

Than #open "hello.txt" will be a valid command, while using #space hello would get a KoiLangCommandError.

You may have notice that there is a special decorator @kola_text. As we know, the text section in kola files is a command, too. This decorator is to annotate the function to use to handle texts. Using @kola_command("@text") has the same effect. And another special decorator which is not shown here is @kola_number. It can handle commands like #114 or #1919. The first argument wiil be the number in the command.

File parse

KoiLang class provides several method. Use parse method to parse a string and parse_file to parse a file. It is suggested to use the second way so that KoiLang interpreter can give a traceback to the file when an error occure.

Advanced techniques

In above example, we define two commands to create and leave the space. While, if users use #endspace before creating space, this can cause some problems. To correct user behavior, we can use the environment to restrict the use of some commands. Environment class should be used here to define a sub class that is the new environment:

class FastFile(KoiLang):
    ...

    class space(Environment):
        @kola_env_enter("space")
        def enter(self, name: str) -> None:
            self.pwd = os.getcwd()
            path = name.replace('.', '/')
            if not os.path.isdir(path):
                os.makedirs(path)
            os.chdir(path)
        
        @kola_env_exit("endspace")
        def exit(self) -> None:
            os.chdir(self.pwd)

There is a parameter named envs in @kola_command, which is also used to limit the environment where commands use. It means the top stack of environment must have the same name, while commands defined in the environment class mean the they can be used until the environment is pop from the environment stack, even though the stack top is other environment.

What is more

The most difference between KoiLang and other markup language like YAML which is data-centric is that KoiLang more pay attention to the command. Yeah, text in Kola file is a special command named @text too. In fact, the core idea of Kola is to separate data and instructions. The kola file is the data to execute commands, and the python script is the instructions. Then Kola module just mix they together. It can be considered as a simple virtual machine engine. if you want, you can even build a Python virtual machine (of course, I guess no one like to do that).

On the other hand, text is also an important feature of Kola, which is a separate part, independent of context during parsing. The text is the soul of a Kola file. Any commands just are used to tell the computer what to do with the text. Though you can make a Kola file with only commands, it is not recommended. Instead, you ought to consider switching to another language.

Bugs/Requests

Please send bug reports and feature requests through github issue tracker. Kola is open to any constructive suggestions.

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

KoiLang-1.0.0.tar.gz (325.9 kB view details)

Uploaded Source

Built Distributions

KoiLang-1.0.0-cp310-cp310-win_amd64.whl (178.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

KoiLang-1.0.0-cp310-cp310-win32.whl (162.3 kB view details)

Uploaded CPython 3.10 Windows x86

KoiLang-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (922.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

KoiLang-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (919.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

KoiLang-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (848.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl (208.4 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

KoiLang-1.0.0-cp39-cp39-win_amd64.whl (179.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

KoiLang-1.0.0-cp39-cp39-win32.whl (164.0 kB view details)

Uploaded CPython 3.9 Windows x86

KoiLang-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (929.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

KoiLang-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (926.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

KoiLang-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (858.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl (210.3 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

KoiLang-1.0.0-cp38-cp38-win_amd64.whl (180.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

KoiLang-1.0.0-cp38-cp38-win32.whl (164.0 kB view details)

Uploaded CPython 3.8 Windows x86

KoiLang-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (937.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

KoiLang-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (933.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

KoiLang-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl (731.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl (211.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

KoiLang-1.0.0-cp37-cp37m-win_amd64.whl (180.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

KoiLang-1.0.0-cp37-cp37m-win32.whl (163.2 kB view details)

Uploaded CPython 3.7m Windows x86

KoiLang-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (868.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

KoiLang-1.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (859.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl (658.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.24+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (815.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (779.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl (208.4 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

KoiLang-1.0.0-cp36-cp36m-win_amd64.whl (197.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

KoiLang-1.0.0-cp36-cp36m-win32.whl (173.3 kB view details)

Uploaded CPython 3.6m Windows x86

KoiLang-1.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (830.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

KoiLang-1.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (825.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

KoiLang-1.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (748.8 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

KoiLang-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl (204.3 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file KoiLang-1.0.0.tar.gz.

File metadata

  • Download URL: KoiLang-1.0.0.tar.gz
  • Upload date:
  • Size: 325.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for KoiLang-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3fda6bd4a420af3e5036408db0c1a2d1621bc823e3e7832078d795eedaa1dfcf
MD5 8edeb859997736e99ca73d2c2dea73b4
BLAKE2b-256 11c952ae39c87c92ef31efe0887cfadfabd47af874085c3a4525a262265e0219

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 178.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7de4038d81f44201a954e741cbd0820f72502667a4f072f9d986f50c02f1a139
MD5 3bc7b2de1e69d3c113ac05f6cbcbaa88
BLAKE2b-256 1275331dc3b2d27343a5b1cb29e951d8e0940faee812f9287003c9f3912d9c1f

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 162.3 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 946cff5adbb1dc452d41b76b51097feddc071cd5b89b309808c27a3930b305aa
MD5 9a36a7f80b01403851a82f51c87f3784
BLAKE2b-256 ee2ba29a52b46dc932f41ec1de59a3c6847eb8518d99fd31b17770c7ec697d10

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5788f2f5dead0ad1d667c55ce8a7946e3e90cd085c987bcb193867fd128e00af
MD5 2aee5ea2e409eac466352328079abe10
BLAKE2b-256 8a1d53d0519d1d1f163c9779d6e2bb4fe02559aefa17df7ca5f0d67cebb3a392

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d9ae34bc483ee68f1b4116e75fc95a0272b4c458d779767cbc64c3a3b6b8d4e3
MD5 c82f9fbb4f69fb12e114dba29793de3e
BLAKE2b-256 b24f27d9590b25c43d04184e465ad4e2d17502ac63131a097b672bec390794e7

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 e2d93b2217d1fce86b8afa4ab1a2556198f9311f7a5ce32edb2b03f5debfb2a0
MD5 705f5df22713985ebe8189074586511b
BLAKE2b-256 3537308ec29601ddf7b3eea9f3737182cf31d08974c3a836c2b85b525e2aa248

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 40b9a342ef2bb872165e9df5938ee0af90d2578eb6df2e6181b6628e74b7d2c4
MD5 9bbdb323d891ec576c7a6401ec41fe8c
BLAKE2b-256 bc4ec02bfd008c388d9d8e9ba6ad969ea0c22428e65b69733ebbcea8b0a21142

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 179.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bbfa5aee1e8bc8a0ee0389ae9e35a663362db5a8b690328b5366a1ac32192e9f
MD5 9da4cfa2bac91425c45c4bc940544464
BLAKE2b-256 5771e47a38c1d1f37d4b92d9616355acb531bd660f79150e0c31ac90754faaf8

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 164.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 679efac34bc70da696ad1ed9dda50601630ed4b1c7ce7511229ddf4693d42b44
MD5 2f23a6700c228aa03c99861fa9922245
BLAKE2b-256 a77d4739026c223e9974f2889836bdbca852a30a9fe74df71294dc612a6cc65e

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f70d360f21a6ea6205404d02da67ff92c01a72b2206a6af0937e10114f5d57a
MD5 19b6e9f1f1a544938d309f0f04e5773c
BLAKE2b-256 3d0f09e6937bd046d757a347e793088dbb45e0c2e4ec48ba336b93f078c5e595

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c4f9fe1b7e710f2cd7d54e4530b9d819276a3f25982cf5440eb5c8f4220538fc
MD5 802339b3f03f894259976caee0e01850
BLAKE2b-256 41ad87c9f67a321320bd3fa972f88efdd87a8277aa1e57f253ea1a50df64ac8e

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 88c14d06f27fa013cd42294ffd9b854f1092860360b7c454ab53856fa2f08451
MD5 1dbf2ce745834f814ec6934db75d2aea
BLAKE2b-256 b0fd38af8754fea783ce81f2270b466da53f2788696610ff4257256a8284a4c1

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 034b392c10938abc2835dd64973a9eb48a91207469694c50b14475802e84694e
MD5 cd618a5aa2e857b2581d11e9017251ac
BLAKE2b-256 716afac5e1f90b953638cc19006c0f1f6ec98d1c47f1cc673d0b8d1fefddc209

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 180.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7e545c3c0055fc9e019b1d0460eeebe39e5ef64e4ac43145d7bd22bbd240e8cb
MD5 654ebddc279da5dbc7ae0861a3e2d26d
BLAKE2b-256 d057bf83ab41ae1480fef90131e5c8922ccc19b58d801d9f3e2ca0598717b164

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 164.0 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f5a59289cb39700ca91debb7df7a75af3573f0152da0cc6e3f41c1a5201fc322
MD5 ebe3b0119020fccafb1922d507bc4cdf
BLAKE2b-256 1b7cd0c7f9ae93efb4b370797d8437224deee83c23c23c786a1cd378e34e2e6a

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aed3253b4ccf26d366e45fe34357a10c104bd939559d45a9d521de9177da9b6f
MD5 db310d8d7292691bb0a44e5e4070dbca
BLAKE2b-256 c0146b44f205e5094bc5737692763df9c3a74a1cb35138132246e5d1bb6e83f0

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df7e9226e7b785445077f7d8a1d6fd5424292125189ea8f02ddc731abe0df569
MD5 e720ca3ccaf2a427096626df7a4e18ad
BLAKE2b-256 ef46212fce0fb7ee0c16823d1a668cab2ab5aea2cde7c8dc0146ea30b0b480e6

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl
Algorithm Hash digest
SHA256 2ebc15c1824941003893aebc19c52119705c1e73bf235e4382927d2c6643eecd
MD5 28b213037a4ae832152defd9dc5541d2
BLAKE2b-256 5bd8223c3d97482b6ac252e4c0b54effd9e51e6baf84d9f993c3ba2aaad81129

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ade9861c32b33e00d411b87d0df980d361a38de9e2515f6df51ef0b7bdac4508
MD5 08bb740b21b6257df6ce8a95dc2ef915
BLAKE2b-256 efbda776c10f4dfdf4f6d3353a29ce1cb30c602bedc2bd444b4bd0b0d28ebc70

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 180.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 41b0e7c00c7b11f495fb07e41012b215731c461364a80b978df1b602272dc328
MD5 c42ac59d859b9e599a1b4138a10f85c8
BLAKE2b-256 8a7215a718cf8d4471ac425d4dda8a3254eeced30faf05aa3b66e165798d68e9

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 163.2 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 39db9d4e7198900e61ceb257ad9e0338119b3a192b25fd95015fb872445a6c0e
MD5 3f5d639d855b67794c542133ce9d03d5
BLAKE2b-256 2d56b175f4fae78d5b456b62af90d3ba784ec56370a77644630e17ff3537d779

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3534fb54e9d42da24d9e7e219e5714edcd6b7608f6bcdafec4947de492bc87f4
MD5 edb14ea87e6d3e0733c9d62154e59cf2
BLAKE2b-256 c40abd8b80fc07d61ca53414f5ecc471669c15168400b5c88ad7e9c5ec91a0dc

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f628a95033d5fe02a59c147b0e4d33dbd69851a63b9048b42181baf1d4030b2e
MD5 c5abbdc9d202684be3e5d915e654fb6d
BLAKE2b-256 eef734dc436ffe6a148420abf9882a5219c052b16e4d952f7bae804dd85bb525

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl
Algorithm Hash digest
SHA256 1ecd7da28194617e06819bf663c7089c501ac35e29403d3ddb2e68e199990993
MD5 b957ae920b85f71872bb5b5914b1612e
BLAKE2b-256 f62f5b1bc2dc1390053df7c8bba5abf5d04fa4ffb81a404d97aedf55d8063319

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2ea62c5561905af67d47849b37b354e2c3652ba63b657eb5922751a38841625a
MD5 af387f6a2e6b15bd2ab18c79356efb65
BLAKE2b-256 b87fd683f7f92e57ffefabb4ff9853a83fb92118d17923958018e2a78f74d875

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 64ab6c6acbf8dde4a0affb4eb77f1d3a6fbd91e6d1edb7f2a4c12c010dd929cd
MD5 de049c8288f1266f6c688ee27f44c3f1
BLAKE2b-256 5ceb3ae51a25af77c3abefc376398ff1925bd91e385c41a9883ae10e01142e42

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 519880f641601cae5e6d16d3c9ff22d03b08e7c35df0c7ceda0c5358a33f839f
MD5 0a9e5ac16f7b3a1ac79fe31be5a6b330
BLAKE2b-256 806239b3f0a957d99449884c8f3fde82d95c6431653ed98e68d614c5a0a135fe

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 197.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4dc1d947f51a3854b4650a3ac539db29edc0b6c09a99c732677120308df821e2
MD5 34b106b9bc2a97b431dc556a08e906a5
BLAKE2b-256 fc4e27bc4627b2166194e04fdb522f87d46b749d031e1edf94f557a112e2ae6e

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: KoiLang-1.0.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 173.3 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for KoiLang-1.0.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 fb6cd614a2b31f516360803f0a8b3e8ff78876d8cf3a9d44bdd2c588ee791dbd
MD5 2d284f1aaff2ae9fc30af125cb055b16
BLAKE2b-256 423adb431ab34000f94a7f4676f62c4ffedbd68f750aa93687d2d74123542534

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d2deadb475c3d6818ca2d8b87ba9035a6c450976705c3754eb2ef93e478ad31
MD5 126ad195b456bed6cb93dce571ecd325
BLAKE2b-256 100519026d5d33c06c95bedba61e9c0461ae35daff10e664683665f229dd46f9

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1660a494e24f294f6588a75178d489263440ead1a0a7fa2f9831dfd3c1150a2c
MD5 449650860089843c27932da8a8ad581b
BLAKE2b-256 b743a76f5685b70bd8e8a38043588546452e691bf0149a34bf64af01d0841f17

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 0639940fb106293580f2504ccaaeb4c7a5a3bab45f0ae63922e4769e0ef8fa6a
MD5 f1f5a72f388bbf4089f244bf239e3d4b
BLAKE2b-256 d7a9e50c50730fe3ed6dd5113326b4c4638e3edae0673e125c6602dfa6e382b2

See more details on using hashes here.

File details

Details for the file KoiLang-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for KoiLang-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 da60f4e561d382aa5de02ffd9e702cf9b31d1c7e222486dcff4f15f1b3ed4fde
MD5 9e74e698359c8776194b58bc9415f7cc
BLAKE2b-256 be82104fe3d57e4d5db251d767313daf542197f93594ee725d2534bdc1f055f8

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