Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install Include/internal/ header files #79477

Closed
vstinner opened this issue Nov 22, 2018 · 7 comments
Closed

Install Include/internal/ header files #79477

vstinner opened this issue Nov 22, 2018 · 7 comments
Labels
3.7 (EOL) end of life 3.8 (EOL) end of life interpreter-core (Objects, Python, Grammar, and Parser dirs)

Comments

@vstinner
Copy link
Member

BPO 35296
Nosy @nascheme, @ncoghlan, @vstinner, @ericsnowcurrently
PRs
  • bpo-35296: make install now installs the internal API #10665
  • [3.7] bpo-35296: make install now installs the internal API (GH-10665) #10897
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2018-12-04.20:30:54.981>
    created_at = <Date 2018-11-22.17:33:21.462>
    labels = ['interpreter-core', '3.7', '3.8']
    title = 'Install Include/internal/ header files'
    updated_at = <Date 2021-05-28.18:33:59.287>
    user = 'https://github.com/vstinner'

    bugs.python.org fields:

    activity = <Date 2021-05-28.18:33:59.287>
    actor = 'mark.dickinson'
    assignee = 'none'
    closed = True
    closed_date = <Date 2018-12-04.20:30:54.981>
    closer = 'vstinner'
    components = ['Interpreter Core']
    creation = <Date 2018-11-22.17:33:21.462>
    creator = 'vstinner'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 35296
    keywords = ['patch']
    message_count = 7.0
    messages = ['330271', '330274', '330275', '330332', '330333', '331060', '331076']
    nosy_count = 5.0
    nosy_names = ['nascheme', 'ncoghlan', 'vstinner', 'eric.snow', 'ponnuchamy4929']
    pr_nums = ['10665', '10897']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue35296'
    versions = ['Python 3.7', 'Python 3.8']

    @vstinner
    Copy link
    Member Author

    For some very specific use cases (ex: debuggers), it can be interesting to access the internal API of CPython. I propose to install the internal API: Include/internal/*.h header files.

    Attached PR implements this idea.

    @vstinner vstinner added 3.8 (EOL) end of life interpreter-core (Objects, Python, Grammar, and Parser dirs) labels Nov 22, 2018
    @vstinner
    Copy link
    Member Author

    Example of debuggers: vmprof or faulthandler (now part of the stdlib).

    @vstinner
    Copy link
    Member Author

    TODO: Update the Windows installer:
    #10624 (comment)

    @vstinner
    Copy link
    Member Author

    New changeset f653fd4 by Victor Stinner in branch 'master':
    bpo-35296: make install now installs the internal API (GH-10665)
    f653fd4

    @vstinner
    Copy link
    Member Author

    I decided to merge my PR because I started to *remove* functions from the public C API to move them to the CPython internal API: _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() are two examples from bpo-35081. So some people might want even more to use the internal API. The main issue with this API is the requirement to use the same compiler with the same compilation options, especially to access atomic variables.

    @vstinner
    Copy link
    Member Author

    vstinner commented Dec 4, 2018

    I reopen the issue since I'm now also interested to make the change in Python 3.7. I wrote PR 10897.

    See discussion on python-dev:
    https://mail.python.org/pipermail/python-dev/2018-December/155921.html

    @vstinner vstinner added the 3.7 (EOL) end of life label Dec 4, 2018
    @vstinner vstinner reopened this Dec 4, 2018
    @vstinner
    Copy link
    Member Author

    vstinner commented Dec 4, 2018

    New changeset b02774f by Victor Stinner in branch '3.7':
    bpo-35296: make install now installs the internal API (GH-10665) (GH-10897)
    b02774f

    @vstinner vstinner closed this as completed Dec 4, 2018
    @ponnuchamy4929 ponnuchamy4929 mannequin removed the 3.8 (EOL) end of life label May 28, 2021
    @ponnuchamy4929 ponnuchamy4929 mannequin changed the title Install Include/internal/ header files Python May 28, 2021
    @mdickinson mdickinson added the 3.8 (EOL) end of life label May 28, 2021
    @mdickinson mdickinson changed the title Python Install Include/internal/ header files May 28, 2021
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.7 (EOL) end of life 3.8 (EOL) end of life interpreter-core (Objects, Python, Grammar, and Parser dirs)
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants