lucy-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [lucy-issues] [jira] [Commented] (CLOWNFISH-66) Python-specific CFC
Date Sat, 06 Feb 2016 18:45:39 GMT


ASF GitHub Bot commented on CLOWNFISH-66:

GitHub user rectang opened a pull request:

    CLOWNFISH-66 Stub Python runtime

    Stub out Python bindings for the Clownfish runtime.
    * Compile the core runtime code into a static archive.
    * Stub out Python versions of host-specific functions.
    * Define the hostdefs for Python.
    * Autogenerate a C module file.
    * Add a simple Python test file which loads the module.
    * Add `` with `build`, `test`, and `clean` targets.
    To test, run `python3 test` under `compiler/python`, then again under `runtime/python`.
Afterwards, clean up using `python3 clean --all`.
    The build is fragile and incomplete, but the test passes on OS X with Python 3.5.1.

You can merge this pull request into a Git repository by running:

    $ git pull CLOWNFISH-66-stub-py-runtime

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #55
commit d4f52d9c6a8c956727e1e530860424fa8ae18cc7
Author: Marvin Humphrey <>
Date:   2014-12-21T00:31:19Z

    Add CFCPyTypeMap.
    Only include a C-to-Python conversion routine for now.

commit 47234c3d8f223d05930e2cb72de1ad01c8c9ed32
Author: Marvin Humphrey <>
Date:   2014-12-30T03:18:51Z

    Move Python files under `src`.
    Moving the Python source directory into `src` means that the files are
    no longer findable by python running in the python/ directory because
    the current directory is on sys.path.  In later versions of Python, this
    becomes an issue because the source dir (which does not contain any
    shared objects) shadows the build directory (where shared objects get put).

commit 11d08c5b0a8a724ad7fd5ac7f10fb9ee065eea89
Author: Marvin Humphrey <>
Date:   2014-12-30T03:31:16Z

    Move `cfc` Python module to top level.
    Moving the `cfc` module out from underneath `clownfish` gives the
    runtime full control over what ends up in the `clownfish` module.

commit 1f30f3e7ef58c4ad84452be7d6da59d1f35b5304
Author: Marvin Humphrey <>
Date:   2014-12-16T17:54:46Z

    Add Python-specific details to charmonizer.

commit 1cf2a6d7d9d895879e4224cf9d3008426af7402b
Author: Marvin Humphrey <>
Date:   2014-12-16T17:55:52Z

    Regen charmonizer for Python details.

commit b10130e067253b05cb57c213157d6e901805eebe
Author: Marvin Humphrey <>
Date:   2014-12-19T02:43:29Z

    Add CFCPython.
    Start with writing cfish_hostdefs.h.

commit 856d7c1d84c619bcaa44cc992e575e8052af630a
Author: Marvin Humphrey <>
Date:   2016-01-20T02:25:51Z

    Start runtime Python bindings.
    Add which only runs charmonizer and cleanup targets.  Add a
    stub file.

commit 5b1631a961a49ac7f593c963c313fa6c3b5b8456
Author: Marvin Humphrey <>
Date:   2016-01-20T03:30:08Z

    Gen stub Python extension file.
    Generate a Python extension file, which is a stub for now.

commit fb4cc37143198a96e17cd9096543e8b2afa5c591
Author: Marvin Humphrey <>
Date:   2016-01-20T22:02:31Z

    Add CFBind containing stubs.
    Stub out the Clownfish runtime's host-specific functions.

commit 49361b775a6af4fd42c5fd3ceff8d946d93418f2
Author: Marvin Humphrey <>
Date:   2016-01-20T04:28:26Z

    Add test target for Python runtime bindings.

commit bebd2447680dc23be903dfb8000158725699014d
Author: Marvin Humphrey <>
Date:   2016-01-20T04:44:50Z

    Build py C extension for runtime.


> Python-specific CFC
> -------------------
>                 Key: CLOWNFISH-66
>                 URL:
>             Project: Apache Lucy-Clownfish
>          Issue Type: Improvement
>          Components: Python
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
> The current Python bindings for CFC are rudimentary -- they only run charmonizer and
bind to existing core functionality. The next step is to add code-gen of CPython glue code.

This message was sent by Atlassian JIRA

View raw message