Skip to main content

Read this in other languages: English

pypi pypi

粵語編程語言

想快速入門,請睇5分鐘學識粵語編程.

個 Compiler 大部份係喺我高中时期開發嘅,so the code like a shit(宜家都一樣),歡迎各個粵語或編程愛好者一齊討論同貢獻!

點樣安裝?

pip install Cantonese

目錄

引言
咋咋淋臨入門
  Hello World
  賦值語句
  睇下變量嘅類型
  循環
  條件語句
  函數
  掟出異常
  斷言語句
  錯誤捕捉語句
  調用庫
  面向對象編程
  棧嘅使用
  袋仔的法寶: 用Macro定义自己嘅语法
更多例子
  睇下時間
  暫停
  嚟個隨機數
  計相關係數
  仲可以機械學習?
  海龜畫圖
  迷宮遊戲仔
  各種排序同查找算法
  寫個網頁嚟睇下?
  用粵語開發一隻 App
  數據庫編程都得???(開發緊)
點樣運行?
TODOs

引言

粵語編程語言係乜? 佢係一門用粵語嚟同計算機溝通嘅編程語言。
喺呢隻语言度,計算機可以讀明你寫嘅粵語。所以話,你可以用粵語嚟操作或虐待計算機。

所有關鍵字可以使用繁體, 或者簡體同繁體混合

咋咋臨入門

Hello World

用粵語寫嘅第一個程序 Hello World:

畀我睇下「"Hello World!"」點樣先?

賦值語句

介紹返「A」係 1
介紹返「B」係 2

或者:

介紹返 =>
    A」係 1
    B」係 2
先啦

可以用冇鳩用或者冇撚用嚟delete變量:

冇鳩用 A,B

睇下變量嘅類型

介紹返「A」係 1
起底「A

運行結果:

<class 'int'>

循環

打印從 1 到 100, 其中飲茶先啦相當於break, Hea陣先相當於Continue:

介紹返 =>
    start」係 0
    「结束」係 唔啱
先啦
落操场玩跑步
    介紹返「start」係「start + 1
    畀我睇下「start 點樣先??
    如果 |start >= 100| 嘅话 => {
        飲茶先啦
    }
    Hea陣先
玩到「结束」为止
收工

當然用 For 循環都得:

A」从 1 行到 100
    畀我睇下「A」點樣先??
到步

條件語句

介紹返「A」係 2
如果 |A  2| 嘅话 => {
    畀我睇下「"A 係 2"」點樣先??
}
唔係 嘅话 => {
    畀我睇下「"A 唔係 2"」點樣先??
}

仲可以用match

介紹返 状态  404
睇撚住 状态 =>
    | 撞见 400 => { 畀我睇下 "Bad request" 點樣先?? }
    | 撞见 401 => { 畀我睇下 "Unauthorized" 點樣先?? }
    | 撞见 403 => { 畀我睇下 "Forbidden" 點樣先?? }
    | 撞见 404 => { 畀我睇下 "Not found" 點樣先?? }
    | 撞见 418 => { 畀我睇下 "I'm a teapot" 點樣先?? }
    | _ => { 畀我睇下 "乜都唔係" 點樣先?? }
搞掂

函数

返回最大值:

介紹返 @get_max
    |数字1, 数字2| 点部署
        如果 |数字1 比唔上 数字2| 嘅话 => {
            还数「数字2
        }
        唔係 嘅话 => {
            还数「数字1
        }
    搞掂

調用函數:

介紹返 結果  
    get_max  -> 23, 17
畀我睇下 結果 點樣先??

函數式编程:

畀我睇下 
    |$$ x, y { x + y }  -> (2, 2)| 
點樣先??

運行結果:

4

掟出異常

掟个「ImportError」嚟睇下?

運行結果:

濑嘢!!!: ImportError:
 喺runtime察覺到錯誤!
 --> ../examples/basic/raise.cantonese 4:0
  | 掟个 |ImportError| 嚟睇下?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^ Tips:  幫緊你只不過有心無力:(

:D 不如跟住我嘅tips繼續符碌下?

斷言語句

谂下「1 + 1 == 3?

運行結果:

濑嘢!!!: AssertionError:
 喺runtime察覺到錯誤!
 --> ../examples/basic/assert.cantonese 6:0
  | 谂下 |1 - 1 == 1| ?
    ^^^^^^^^^^^^^^^^^^^^ Tips:  幫緊你只不過有心無力:(

:D 不如跟住我嘅tips繼續符碌下?

錯誤捕捉語句

try-except-finally:

执嘢 => {
    介紹返 |A|  |B|
}
揾到「NameError」嘅话 => {
    畀我睇下 "揾到NameError" 點樣先?
}
执手尾 => {
    畀我睇下 "执手尾" 點樣先?
    介紹返 |A|  1
    介紹返 |B|  1
    畀我睇下 |A, B| 點樣先?
}

調用庫

調用 Python 庫:

使下 py::os::*
使下 py::math::*
使下 py::{re::*, pandas}

調用 Python 代碼:

我係二五仔 #XD
def add(a, b):
    return a + b
二五仔係我

畀我睇下 |add  -> (8, 2)| 點樣先 /* 輸出10 */

又或者使用Macro調用PythonRust:

使下 macros::{Py, Rust}

Py!(
def add(a, b):
    return a + b
)
畀我睇下 |add  -> (8, 2)| 點樣先

介紹返 add  Rust!(
    fn add(a: i32, b: i32) -> i32 {
        a + b
    }
)
畀我睇下 |add  -> (8, 2)| 點樣先

面向對象編程

聲明對象 duck,繼承至 object,分別有兩個方法 游水 同埋 睡觉 ,仲有一個屬性 性别

介紹返 duck  X {
    佢個老豆叫 object
    佢有啲咩?? => {
        性别: 公家嘢,
        年龄: 私家嘢
    }
    佢識得 游下水 |自己| => {
        畀我睇下 "Duck is swimming" 點樣先??
    }
    佢識得 睡下觉 |自己| => {
        畀我睇下 "Duck is sleeping" 點樣先??
    } 
}

創建object:

介紹返 myduck  ->duck(性别="公")

調用對象中嘅方法, 两總方式任你揀:

myduck -> 游下水() !
好心 |myduck -> 睡下觉| !

運行結果:

Duck is swimming
Duck is sleeping

棧嘅使用

首先創建一個Stack:

有條仆街叫 |Deo哥|

或者用返賦值嘅方式:

介紹返 Deo哥  條仆街仔()

進行操作:

顶你 => |Deo哥| 1
顶你 => |Deo哥| 2
顶你 => |Deo哥| 3
丢你 => |Deo哥|

運行結果:

Stack: [1,2]

袋仔的法寶: 用Macro定义自己嘅语法

介紹咗咁多, Cantonese仲將類似於Rust入面嘅宏定義引入, 可以通過宏來擴展我哋嘅語法, 簡單啲講, 就相當於match語句, 匹配之後用$提取元變量喺編譯期間進行替換:

介紹返 sayhello  袋仔的法寶 =>
    | (Hello $s: str) => ( 畀我睇下 "Hello " + $s 點樣先?? )
    | () => ( 畀我睇下 "Hello" 點樣先?? )
搞掂

sayhello!(Hello "dd")
sayhello!()
sayhello!(1) # 報錯: 無法匹配

介紹返 vec  袋仔的法寶 =>
    | ($($element:expr),*) => (
        [$($element)*]
    )
    | () => {
        []
    }
搞掂

畀我睇下 vec!("Hello", 1+1, "gg",) 點樣先?? # ['Hello', 2, 'gg']
畀我睇下 vec!() 點樣先?? # []

複雜啲嘅例子, 定义新嘅语法:同我计 XX 乜 XX 好唔好:

介紹返 計算  袋仔的法寶 =>
    | (同我計 $: lit  $: lit 好唔好) => 
        ( $ + $ )
    | (同我計 $: lit  $: lit 好唔好) =>
        ( $ - $ )
    | (同我計 $: lit  $: lit 好唔好) =>
        ( $ / $ )
    | (同我計 $: lit  $: lit 好唔好) =>
        ( $ * $ )
搞掂

畀我睇下 
    計算!(同我計 1  2 好唔好) 
點樣先?? # 3

畀我睇下 
    計算!(同我計 2  2 好唔好) 
點樣先?? # 4

更多例子

顯示當前時間

使下 std::日期
畀我睇下 |宜家几点()| 點樣先?

運行結果:

2021-01-17 09:16:20.767191

暫停

使下 std::time::

 -> 阵先  /* 暂停2s */
 -> "5s" /* 暂停5s */

嚟個隨機數

使下 std::随机数
介紹返 |A|  |求其啦()|

運行結果:

0.15008236307867207

計相關係數

聲明兩個 list,計相關係數:

/* 导入 math.cantonese 嘅所有宏定義 */
@用下(math  法寶)
使下 py::math

|[2.165, 1.688, 1.651, 2.229]| 拍住上 => |A|
|[2.060, 1.822, 1.834, 2.799]| 拍住上 => |B|
畀我睇下 秘诀!(A  B 有幾襯) 點樣先?

運行結果:

0.8066499427138474

仲可以机器学习?

首先要搞清楚樣嘢, 喺源代碼examples/numerical/math.cantonese入面, 其實定義咗一個macro, 負責簡單地替換函數調用同埋輸出結果:

介紹返 过嚟估下  袋仔的法寶 =>
    | ($model: id => $($args: expr),*) => (
        畀我睇下 $model($($args),*) 點樣先??
    )
    | () => ( None )
搞掂

前面講過macro只係簡單地包裝咗一層語法, 咁我哋可以用过嚟估下宏定義去調用底層嘅算法函數喇!
實現 KNN 算法:

/* 导入 math.cantonese 嘅所有宏定義 */
@用下(math  法寶)
使下 py::math

|[[5, 1], [4, 0], [1, 3], [0, 4]]| 拍住上 => |数据|
|['动作片', '动作片', '科幻片', '科幻片']| 拍住上 => |标签|
介紹返 |K|  3
过嚟估下!(KNN => |[3, 0]|, 数据, 标签, K)

運行結果:

动作片

線性回歸:

@用下(math  法寶)
使下 py::math

|[300.0 , 400.0 , 400.0 , 550.0 , 720.0 , 850.0 , 900.0 , 950.0]| 拍住上 => |X|
|[300.0 , 350.0 , 490.0 , 500.0 , 600.0 , 610.0 , 700.0 , 660.0]| 拍住上 => |Y|
过嚟估下!(L_REG => |900.0|, X, Y,)

運行結果:

Linear function is:
y=0.530960991635149x+189.75347155122432
667.6183640228585

海龜繪圖

/* 导入 ui.cantonese 嘅所有宏定義 */
@用下(ui  法寶)
使下 py::turtle

老作一下!(
    首先 |画个圈(100)|,
    跟住 |写隻字("Made By Cantonese\n", False,'center')|,
    最尾 |听我支笛()|,
)

運行結果:

迷宮遊戲仔

代碼
運行結果:

各種排序同查找算法

寫個網頁睇下

一個簡單嘅網頁:

@用下(net  法寶)
使下 std::net::监视;

介紹返 html  HTML老作一下! (
    打标题 => [ "我嘅第一个网页" ]
    拎笔 => [ "Hello World" ]
)

监视  -> |html, "127.0.0.1", 80| 

運行後,打開 127.0.0.1:80 就可以睇到運行結果:

用粵語開發一隻 App

首先安裝 kivy

pip install kivy

第一隻 App HelloWord

使下 std::手機程式

介紹返 HelloApp  X {
    佢個老豆叫 App
    佢識得 HelloWorld |自己| => {
        |同我show|  -> "Hello World" 就係 |做嘢|
        还数 |做嘢|
    }
}

App运行  -> |HelloApp, HelloApp()->HelloWorld| 

數據庫編程都得

select語句:

@用下(sql  法宝)

介紹返 query  SQL!(
     成績表 度揾 學生哥 邊個 (年紀 > 10 and 名字 = 'dany')
)


/* select 學生哥 from 成績表 where (年紀 > 10 and 名字 = 'dany') */
畀我睇下 query 點樣先??

介紹返 query2  SQL!(
  睇下 xx
)

/* select * from xx  */
畀我睇下 query2 點樣先??

仲有啲咩?

喺呢度睇下更多例子.
所有關鍵字: https://github.com/Cantonese-community/Keywords

点样运行?

查看當前版本:

cantonese -v

如果發覺輸出怪怪地, 咁啱又喺 windows, 咁請先用管理員身份運行指令嚟支援ANSI颜色顯示:

reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1

Cantonese 可以用多種方式運行,用 LLVM,或者翻譯成 Python 同 HTML 都得! 使用LLVM執行 (需安装llvmliteclang, 僅支援部分語句):

cantonese [-文件名] -llvm

用 Python 虛擬機運行(環境净係支援 Python3,因为噉先至符合廣東人先進嘅思想!):

cantonese [-文件名]

將 Cantonese 轉化成 Python:

cantonese [文件名] -to_py

例如:

cantonese examples/basic/helloworld.cantonese -to_py

運行嘅結果係:

print(" Hello World! ")
exit()

生成 HTML:

cantonese examples/web/web_hello.cantonese -to_web -compile
<html>
<head>
<meta charset="utf-8" />
</head>
<title>我嘅第一个网页</title>
<h1>Hello World</h1>
</html>

Vscode插件:https://github.com/Cantonese-community/vscode-cantonese

TODOs

歡迎各個粵語同埋編程愛好者一齊討論同貢獻!為粵語文化遺產嘅保護貢獻出自己嘅一份力量!
send PR 前請睇 貢獻指南

今後要做咩:

  • 用D设计模式重构下
  • 完善自己嘅虛擬機
  • 完全支持LLVMJIT

Copyright (C) 2020-2026 StepfenShawn

Download files

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

Source Distribution

cantonese-1.0.12.tar.gz (294.3 kB view details)

Uploaded Source

Built Distributions

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

cantonese-1.0.12-cp38-abi3-win_amd64.whl (616.0 kB view details)

Uploaded CPython 3.8+Windows x86-64

cantonese-1.0.12-cp38-abi3-win32.whl (568.6 kB view details)

Uploaded CPython 3.8+Windows x86

cantonese-1.0.12-cp38-abi3-musllinux_1_2_x86_64.whl (963.8 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

cantonese-1.0.12-cp38-abi3-musllinux_1_2_i686.whl (997.9 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

cantonese-1.0.12-cp38-abi3-musllinux_1_2_armv7l.whl (1.0 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

cantonese-1.0.12-cp38-abi3-musllinux_1_2_aarch64.whl (927.8 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

cantonese-1.0.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (782.0 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

cantonese-1.0.12-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (750.8 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ s390x

cantonese-1.0.12-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (938.5 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

cantonese-1.0.12-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (738.0 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARMv7l

cantonese-1.0.12-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (751.1 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cantonese-1.0.12-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (798.3 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.5+ i686

cantonese-1.0.12-cp38-abi3-macosx_11_0_arm64.whl (696.7 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cantonese-1.0.12-cp38-abi3-macosx_10_12_x86_64.whl (699.6 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file cantonese-1.0.12.tar.gz.

File metadata

  • Download URL: cantonese-1.0.12.tar.gz
  • Upload date:
  • Size: 294.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.15.0

File hashes

Hashes for cantonese-1.0.12.tar.gz
Algorithm Hash digest
SHA256 07e9c965abccb26bbdd6c8cc608b9fe945f463b4738fd8aff26b3367cf8645c9
MD5 570d3221194a79678de9bb4e60e6ad67
BLAKE2b-256 9fbcf436e42005400529a87b4f47d7d7971a6ae36bfac40b2c95568e96411650

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8107577c5f8ec97100e5f8d192e0375c5d7c946f9db3c6ed97ce73f4a93c6cf0
MD5 f403b71f55a09b4d2ea7ecbb16fc75c5
BLAKE2b-256 c56020f42dd4533ce6f0d2bf5e5db2eb5b95dd8fe4a83501f753550ae81da861

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-win32.whl.

File metadata

  • Download URL: cantonese-1.0.12-cp38-abi3-win32.whl
  • Upload date:
  • Size: 568.6 kB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.15.0

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 690401b905927769f9d61b5a15a2ac6cbb2fc1b5b6c3c9d417caa93d3727e83b
MD5 99b5f4967719cfb208f5c9b287e2b8ba
BLAKE2b-256 4ee7ac70c8d1ac1ef4aab7cae230167dddda0482ce5fc465ea7c1edadb1a6ee3

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6604f46ea5ff1d84f2b9a7818bb9bec11a56f2b5dc13334d5da1890a704a2b0
MD5 c8b11858d6e4f4e7659cef1f795c8e32
BLAKE2b-256 80370a999abfb5c9e155db027a1bb84bf067eb31785a1466a9311eceb8bd7d6c

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bdabdc30e0083a9375de7b057a2100561f68d28915791e2ec3adc0d5e4eff63e
MD5 3d9b7a997289ddd6b58f21b5ac2508ff
BLAKE2b-256 50b363f47272dc5598814dea3a8c4ea76f5c8d9e42eb79adb587b0e9862f1305

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 bf7e1e0882df6cf81429ddb92e622c86a57f063b150562e1d7e21d8500edbb97
MD5 cbd6976a2e343ee7c7dc0ab08adf1201
BLAKE2b-256 11d3207032b71dbe07001df19ca5c5b687a6cf4d39d583750b4182d57df46324

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aa5492149a5ae000d18e622cd8bd1b47062385fece6dc24df9145e017e379aba
MD5 034d16582566bf8e31f3c94f17bdb2b6
BLAKE2b-256 21e56bd3380b7f89b9f375dcc22cc99238b8490a67cd5e6063c8350ba33dda97

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0e60be1db309da247db2aa9f77476479ee0812a4e4780273811c7cec760981b
MD5 f19574d4118c4cec863dbc9a6e108c2f
BLAKE2b-256 a569f3ae8122154342b0fd32646d5bb7f9ca0c7e01f8fc5f2e2ddd909f7a89b1

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a791df8149514cc860d1c943917a3f41e849b517d8b75d94cb352007a38eb334
MD5 e9a2ff62181390cb36a3882b0e560d84
BLAKE2b-256 abbe0b668bb4f7627701e82f2a21599e5137f4e342895a07890f1c0a4f0254be

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e80811565048f089a2b0afaf745a1f6a9717d2c4cdccf46e74ab8e11de81d48d
MD5 73876c0e8da6b49f88e1a5f1376d750a
BLAKE2b-256 39af7d7533db58ced8018b386997f1f597032531b1e9e4b562278afb491385d2

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 170206509b2019b73d6d7163dde636b1ed7fadf6d50dc26891238be2529f2182
MD5 98779c666be886181d80452aac47ab82
BLAKE2b-256 2ab7418b4030070bc7f523953c0df2fd946ab8008acca96e6c047469bf3d058e

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c3a7861af0c311becde55fbceb2f3d494111a518fb34f73e5413d32109498df
MD5 9982912a14261e2be9b25be4bb903420
BLAKE2b-256 5528d2e86a6483cd5e4c26642c8844c961ecb362dcdd8c403e9ff6a20dc2a1dc

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 c9e13bc1eb3a3453b2a026b403f97240c0313e8d8086cf10c1ea2b385ab6f7bf
MD5 1b253f4436a4b40819371f1908e17a9c
BLAKE2b-256 9ea00a968f048fb75bbf66fb8df2be32133a5373545bfb5ac092702f0313d129

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88e523a7f98f90165f783508c8e087ef9d4e0b9269abe4b2bdffc0031b6da6a7
MD5 bab2a5b8faaea1605add57e3e90ca34e
BLAKE2b-256 cc177fa6d7b1982109b88a2b974651baa584feb09e23265b242ec48494f5e658

See more details on using hashes here.

File details

Details for the file cantonese-1.0.12-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cantonese-1.0.12-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 faa41014d973cfa33d5beed8ed56ecb03dd7591c6822ee5ee382136d702cc5c6
MD5 ca24665ed701755f3a05baaeea5bd1fd
BLAKE2b-256 86342931575c37aa97324aa257c22271e562249c22a18c1bea6d766bf4513cf2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.12 This release

15 files

1.0.11

15 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

1 file

0.0.5

2 files

0.0.4

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page