[Top][All Lists]

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

Re: Contributor wanting to get started with simple contributions

From: John Snow
Subject: Re: Contributor wanting to get started with simple contributions
Date: Wed, 14 Oct 2020 13:59:10 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 10/13/20 2:46 PM, Rohit Shinde wrote:
Hey John,

Sorry for the late reply! I was in the midst of a job change and couldn't get time to get to this.

The work sounds interesting! I have a couple of questions regarding this:

 1. How do I actually build this part? I am familiar with building and
    using QEMU. Does the qapi parser get built along with the main code?

It's python, so it doesn't get built. It's in ./scripts/qapi/. It is invoked by the build machinery to turn the files in ./qapi into C files that get built into QEMU.

Try "make check-qapi-schema" to see this stuff run and get tested.

 2. If not, how do I start using this part and contributing to it?

Depends on what you want to actually try to do, what interests you, what your goals are, etc. Some of the various Python-related tasks that I am working on right now are laid out below.


On Tue, Sep 29, 2020 at 9:38 PM John Snow <jsnow@redhat.com <mailto:jsnow@redhat.com>> wrote:

    On 9/2/20 12:38 PM, Rohit Shinde wrote:
     > Hey John,
     > I wanted to follow up on this, in case you missed my previous
    email :)
     > Thanks,
     > Rohit.

    Sorry Rohit, very buried in my work and haven't been doing a good job
    with my inbox.

    Right now, I am working on converting the QAPI parser module to the
    strictly typed mypy subset:


    There are six parts in all, that is part one. I am posting a v4 right
    now as I write this.

Part one is now merged; parts 2-6 remain.

    Work that remains to be done after these six parts:

    - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old
    patches for this that were on-list prior to the 5.1 release.

This part is done, or mostly done.

    - Move ./scripts/qapi to ./python/qemu/qapi/

Still pending parts 2-6 of the QAPI cleanup.

    - Move ./python/qemu to ./python/qemu/core/

Patches on list to do this.

    - Create a "make check" style script that will run
    mypy/pylint/flake8/isort on all the code in ./python. (I have patches
    for this, too.)

Need to resurface old patches to do this. I have a draft that was sent to the list prior to 5.1, but haven't touched it since.

    - Start investigating python scripts in ./scripts and consider moving
    them to ./python/qemu/tools, fixing them up to pass
    mypy/flake8/pylint/isort (etc) as I go. There are no existing
    patches to
    do this yet.

I started porting ./scripts/qmp very recently. It is based off of my python maintainer's branch.

    Other work I am doing:

    - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py
    - Investigating a YAML format for the QAPI parser
    - Building a JSON-SCHEMA output format for the QAPI generator

Various half-finished drafts exist only on my computer for these.

I also have some very rough prototype work to create an asynchronous QMP client in python.

     > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde
     > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>
    <mailto:rohit.shinde12194@gmail.com>>> wrote:
     >     Hey John,
     >     Sorry to bother you! I just wanted to know if you had any
     >     on the mail I sent.
     >     Is there anything I can pick up right now with regards to the
     >     package? You mentioned that linting is something that needs to be
     >     completed before we go ahead, so maybe I can start with that?
     >     Thanks,
     >     Rohit.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]