[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#932003: ITP: mypyc -- Mypy to Python C Extension Compile



Hi,

On Sat, 13 Jul 2019 18:29:45 +0200 "Michael R. Crusoe"
<michael.crusoe@gmail.com> wrote:
> Package: wnpp
> Severity: wishlist
> 
> Subject: ITP: mypyc -- Mypy to Python C Extension Compile
> Package: wnpp
> Owner: Michael R. Crusoe <michael.crusoe@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

I’m going to review this; if you need a sponsor, I can do, just let me know.

-- 
Cheers,
  Andrej


Reply to: