René's URL Explorer Experiment


Title: Adding C-Python compatible API for embedding GraalPy by lokmeinmatz · Pull Request #382 · oracle/graalpython · GitHub

Open Graph Title: Adding C-Python compatible API for embedding GraalPy by lokmeinmatz · Pull Request #382 · oracle/graalpython

X Title: Adding C-Python compatible API for embedding GraalPy by lokmeinmatz · Pull Request #382 · oracle/graalpython

Description: This is a WIP as outcome from a project seminar at HPI, supervised by @timfel Main idea is: generate a new dylib from the com.oracle.graal.python.c_embed Cmake project link against pythonnative lib from "cext" as well as "pythonvm" lib from graalpy itself c_embed handles creating graal isolate calling to graalpy so it can set Builtins, create PythonLanguage context etc. taking the GIL because this is how C-python behaves Cleanup (not implemented yet) The rest of the API calls are made to the methods in cext (works because everything is in flat namespace when linked together) The example embedding was developed using Rust & pyo3. https://github.com/lokmeinmatz/pyo3/tree/graalpy_impl in Folder examples/basic_rust_to_py is an example that is configured to work with GraalPy (may need some extra config to link on other OS than OSX)

Open Graph Description: This is a WIP as outcome from a project seminar at HPI, supervised by @timfel Main idea is: generate a new dylib from the com.oracle.graal.python.c_embed Cmake project link against pythonnative li...

X Description: This is a WIP as outcome from a project seminar at HPI, supervised by @timfel Main idea is: generate a new dylib from the com.oracle.graal.python.c_embed Cmake project link against pythonnative li...

Opengraph URL: https://github.com/oracle/graalpython/pull/382

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:2626a233-a32b-1471-12b4-97f023d214d1
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC496:EE905:3CFE76:521B16:69696EB4
html-safe-noncee278e138a3d49e4d792bd2a03a0651527607810b98eaa0d99ed9edf2e9d02d9d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNDk2OkVFOTA1OjNDRkU3Njo1MjFCMTY6Njk2OTZFQjQiLCJ2aXNpdG9yX2lkIjoiNjE2NDI2NjQ0MjI4NzU3NDcwOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac1aa9771dd53b65c6f54d66d5e2f8b945421b7624119bd663e3b5f1c50a6874f4
hovercard-subject-tagpull_request:1720414262
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/oracle/graalpython/pull/382/files
twitter:imagehttps://avatars.githubusercontent.com/u/21058206?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/21058206?s=400&v=4
og:image:altThis is a WIP as outcome from a project seminar at HPI, supervised by @timfel Main idea is: generate a new dylib from the com.oracle.graal.python.c_embed Cmake project link against pythonnative li...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonec6f193beb8ff08443adc07685d75302ab8aaf0a135f6e251c3ff3112c8deb881
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/oracle/graalpython git https://github.com/oracle/graalpython.git
octolytics-dimension-user_id4430336
octolytics-dimension-user_loginoracle
octolytics-dimension-repository_id129883600
octolytics-dimension-repository_nwooracle/graalpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id129883600
octolytics-dimension-repository_network_root_nwooracle/graalpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releaseec4d88fbe7ed62446d90b0a6d8e6db4248a8f8b8
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/oracle/graalpython/pull/382/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Foracle%2Fgraalpython%2Fpull%2F382%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Foracle%2Fgraalpython%2Fpull%2F382%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=oracle%2Fgraalpython
Reloadhttps://github.com/oracle/graalpython/pull/382/files
Reloadhttps://github.com/oracle/graalpython/pull/382/files
Reloadhttps://github.com/oracle/graalpython/pull/382/files
oracle https://github.com/oracle
graalpythonhttps://github.com/oracle/graalpython
Notifications https://github.com/login?return_to=%2Foracle%2Fgraalpython
Fork 140 https://github.com/login?return_to=%2Foracle%2Fgraalpython
Star 1.5k https://github.com/login?return_to=%2Foracle%2Fgraalpython
Code https://github.com/oracle/graalpython
Issues 56 https://github.com/oracle/graalpython/issues
Pull requests 4 https://github.com/oracle/graalpython/pulls
Discussions https://github.com/oracle/graalpython/discussions
Actions https://github.com/oracle/graalpython/actions
Projects 1 https://github.com/oracle/graalpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/oracle/graalpython/security
Please reload this pagehttps://github.com/oracle/graalpython/pull/382/files
Insights https://github.com/oracle/graalpython/pulse
Code https://github.com/oracle/graalpython
Issues https://github.com/oracle/graalpython/issues
Pull requests https://github.com/oracle/graalpython/pulls
Discussions https://github.com/oracle/graalpython/discussions
Actions https://github.com/oracle/graalpython/actions
Projects https://github.com/oracle/graalpython/projects
Security https://github.com/oracle/graalpython/security
Insights https://github.com/oracle/graalpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Foracle%2Fgraalpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Foracle%2Fgraalpython%2Fissues%2Fnew%2Fchoose
lokmeinmatzhttps://github.com/lokmeinmatz
oracle:masterhttps://github.com/oracle/graalpython/tree/master
lokmeinmatz:feature/c-embed-apihttps://github.com/lokmeinmatz/graalpython/tree/feature/c-embed-api
Conversation 1 https://github.com/oracle/graalpython/pull/382
Commits 2 https://github.com/oracle/graalpython/pull/382/commits
Checks 0 https://github.com/oracle/graalpython/pull/382/checks
Files changed https://github.com/oracle/graalpython/pull/382/files
Please reload this pagehttps://github.com/oracle/graalpython/pull/382/files
Adding C-Python compatible API for embedding GraalPy https://github.com/oracle/graalpython/pull/382/files#top
Show all changes 2 commits https://github.com/oracle/graalpython/pull/382/files
bc756ed WIP: c-embed python compatible lib lokmeinmatz Jan 6, 2024 https://github.com/oracle/graalpython/pull/382/commits/bc756ed7cfadd4ed00a4f3ff8d475f195deb4912
02484d5 Progress getting startup working until PyTruffle_InitBuiltinTypesAndS… lokmeinmatz Feb 1, 2024 https://github.com/oracle/graalpython/pull/382/commits/02484d52fc672d9bea693f9996145327bc13f4c8
Clear filters https://github.com/oracle/graalpython/pull/382/files
Please reload this pagehttps://github.com/oracle/graalpython/pull/382/files
Please reload this pagehttps://github.com/oracle/graalpython/pull/382/files
.gitignore https://github.com/oracle/graalpython/pull/382/files#diff-929ee4d26e61d2bf2313880066677b0e9b456596658200af970efa6e40ddf757
CMakeLists.txt https://github.com/oracle/graalpython/pull/382/files#diff-a52c335e236397d2887ea9b15752a9ce8f7df11fdc78e45cfa85d5f37cd923c7
README.md https://github.com/oracle/graalpython/pull/382/files#diff-64db69f4b627ee245730a63930e3415244158d7ff0cbabec15b2f628cf8c5daf
graalpython-embed.h https://github.com/oracle/graalpython/pull/382/files#diff-463114f35d37f4f9d29c5162003b883d45a37e87b39b01c359d32c215e809159
graalpython-embed.c https://github.com/oracle/graalpython/pull/382/files#diff-8aac91a2b3d31a1a016496278981fa1ba3d636f2e43847f57c1fb55fe4ae502a
PythonLanguage.java https://github.com/oracle/graalpython/pull/382/files#diff-8d48ad8157f9b4bffd8af9d61acde44d72de214e4576e67fea08a42c3ccf3f93
PythonCextCEvalBuiltins.java https://github.com/oracle/graalpython/pull/382/files#diff-be10239981724934b6d87b595fcffe0c5f2ba434b74236eaa40cce8f9bdd7087
CApiCodeGen.java https://github.com/oracle/graalpython/pull/382/files#diff-0fbbf5978bbf4458375f7ea862ab57c85cd2731cb4c51a9cb3f51a3218c83942
CApiContext.java https://github.com/oracle/graalpython/pull/382/files#diff-432c39ff83f937669e04bb786c5e9578dc5bf0dd32d810731139e01ac2b6b18a
CEmbedBuiltins.java https://github.com/oracle/graalpython/pull/382/files#diff-5be61ace185af233bbec40b76312a39abd6276d1f7d6d1200992aff0fda7cdf2
CEmbedCodeGen.java https://github.com/oracle/graalpython/pull/382/files#diff-65d104d771c802c6eb0246b61c99475787d1255b3af94797fdd6ff1cebbd4ef8
PythonContext.java https://github.com/oracle/graalpython/pull/382/files#diff-b71501feb199f676a06aad74bf54e8f6cb020621747429dc8a4943757106d332
mx_graalpython.py https://github.com/oracle/graalpython/pull/382/files#diff-97262ab05c3b29d9742a26b9979aa7112c364d6f8876fcc7922495633cf1b2d5
suite.py https://github.com/oracle/graalpython/pull/382/files#diff-f3bf67419541d73b1a1ad31bbacdf2fed36fa546c0c5988cb09c4ec6b5152acd
graalpython/com.oracle.graal.python.c_embed/.gitignorehttps://github.com/oracle/graalpython/pull/382/files#diff-929ee4d26e61d2bf2313880066677b0e9b456596658200af970efa6e40ddf757
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python.c_embed/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/oracle/graalpython/pull/382/{{ revealButtonHref }}
graalpython/com.oracle.graal.python.c_embed/CMakeLists.txthttps://github.com/oracle/graalpython/pull/382/files#diff-a52c335e236397d2887ea9b15752a9ce8f7df11fdc78e45cfa85d5f37cd923c7
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python.c_embed/CMakeLists.txt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/oracle/graalpython/pull/382/{{ revealButtonHref }}
graalpython/com.oracle.graal.python.c_embed/README.mdhttps://github.com/oracle/graalpython/pull/382/files#diff-64db69f4b627ee245730a63930e3415244158d7ff0cbabec15b2f628cf8c5daf
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python.c_embed/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/oracle/graalpython/pull/382/{{ revealButtonHref }}
graalpython/com.oracle.graal.python.c_embed/include/graalpython-embed.hhttps://github.com/oracle/graalpython/pull/382/files#diff-463114f35d37f4f9d29c5162003b883d45a37e87b39b01c359d32c215e809159
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python.c_embed/include/graalpython-embed.h
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/oracle/graalpython/pull/382/files
graalpython/com.oracle.graal.python.c_embed/src/graalpython-embed.chttps://github.com/oracle/graalpython/pull/382/files#diff-8aac91a2b3d31a1a016496278981fa1ba3d636f2e43847f57c1fb55fe4ae502a
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python.c_embed/src/graalpython-embed.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/oracle/graalpython/pull/382/{{ revealButtonHref }}
graalpython/com.oracle.graal.python/src/com/oracle/graal/python/PythonLanguage.javahttps://github.com/oracle/graalpython/pull/382/files#diff-8d48ad8157f9b4bffd8af9d61acde44d72de214e4576e67fea08a42c3ccf3f93
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python/src/com/oracle/graal/python/PythonLanguage.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/oracle/graalpython/pull/382/{{ revealButtonHref }}
https://github.com/oracle/graalpython/pull/382/files#diff-8d48ad8157f9b4bffd8af9d61acde44d72de214e4576e67fea08a42c3ccf3f93
https://github.com/oracle/graalpython/pull/382/files#diff-8d48ad8157f9b4bffd8af9d61acde44d72de214e4576e67fea08a42c3ccf3f93
...aal.python/src/com/oracle/graal/python/builtins/modules/cext/PythonCextCEvalBuiltins.javahttps://github.com/oracle/graalpython/pull/382/files#diff-be10239981724934b6d87b595fcffe0c5f2ba434b74236eaa40cce8f9bdd7087
View file https://github.com/oracle/graalpython/blob/02484d52fc672d9bea693f9996145327bc13f4c8/graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/cext/PythonCextCEvalBuiltins.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/oracle/graalpython/pull/382/{{ revealButtonHref }}
https://github.com/oracle/graalpython/pull/382/files#diff-be10239981724934b6d87b595fcffe0c5f2ba434b74236eaa40cce8f9bdd7087
https://github.com/oracle/graalpython/pull/382/files#diff-be10239981724934b6d87b595fcffe0c5f2ba434b74236eaa40cce8f9bdd7087
Please reload this pagehttps://github.com/oracle/graalpython/pull/382/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.