[Debian-med-packaging] Bug#932003: ITP: mypyc -- Mypy to Python C Extension Compile
Michael R. Crusoe
michael.crusoe at gmail.com
Sat Jul 13 17:29:45 BST 2019
Package: wnpp
Severity: wishlist
Subject: ITP: mypyc -- Mypy to Python C Extension Compile
Package: wnpp
Owner: Michael R. Crusoe <michael.crusoe at gmail.com>
Severity: wishlist
* Package name : mypyc
Version : 0.0.git.20190713T1002.833151a+ds1
Upstream Author : Copyright: © 2017-2018 Jukka Lehtosalo and contributors
* URL : http://www.mypy-lang.org/
* License : Expat
Programming Lang: C
Description : Mypy to Python C Extension Compile
*Mypyc is (mostly) not yet useful for general Python development.*
.
Mypyc is a compiler that compiles mypy-annotated, statically typed
Python modules into CPython C extensions. Currently our primary focus
is on making mypy faster through compilation -- the default mypy wheels
are compiled with mypyc. Compiled mypy is about 4x faster than
without compilation.
.
Mypyc compiles what is essentially a Python language variant using "strict"
semantics. This means (among some other things):
.
* Most type annotations are enforced at runtime (raising ``TypeError`` on
mismatch)
.
* Classes are compiled into extension classes without ``__dict__``
(much, but not quite, like if they used ``__slots__``)
.
* Monkey patching doesn't work
.
* Instance attributes won't fall back to class attributes if undefined
.
* Metaclasses not supported
.
* Also there are still a bunch of bad bugs and unsupported features :)
.
Compiled modules can import arbitrary Python modules, and compiled modules
can be used from other Python modules. Typically mypyc is used to only
compile modules that contain performance bottlenecks.
.
You can run compiled modules also as normal, interpreted Python
modules, since mypyc targets valid Python code. This means that
all Python developer tools and debuggers can be used.
.
This package provides the command-line interface.
Remark: This package is maintained by Debian Med Packaging Team at
https://salsa.debian.org/med-team/mypy
More information about the Debian-med-packaging
mailing list