[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