{"_id":"python-bundle","_rev":"34-9ef0c1eb038da0dae2f986bcab31f679","name":"python-bundle","dist-tags":{"latest":"4.1.12"},"versions":{"3.7.1":{"name":"python-bundle","version":"3.7.1","keywords":["python","pip","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@3.7.1","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"ba1f0d98e3afe01bdf39db74bf2a9a00a718609c","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-3.7.1.tgz","fileCount":9,"integrity":"sha512-5n8k0He9j4q6XNUupJbTeM470GpIV8xTXWFAZTs6vX+OyuNY32olmq8BDwwxot7vQApmd5vCadyIZjVZOL7LQQ==","signatures":[{"sig":"MEQCICSG6IuO1+guXwZQ7j0V3V8oxbOJkLQVhwWIXVfT7mySAiAPK4nOBhktYYBcwXyJ8EYOES8aBVt5gY6oI917nkC5xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16217867},"main":"index.cjs","type":"module","engines":{"node":">=14"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"gitHead":"44d91cf985935525335b23232a179c0e2727638f","scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_3.7.1_1753066603479_0.10232708753919728","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"python-bundle","version":"3.8.1","keywords":["python","pip","pythonjs","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@3.8.1","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"8bdbb752e3e5265c07139b452b9390b35c2cec1a","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-3.8.1.tgz","fileCount":9,"integrity":"sha512-IUmjWvAuM0d2qWdK1HdaP2HZtg99we/0adPoy4kYoJLD7a71C2SbDKl2Ghwal0CVkmdl5s7uBtlSPbxLNQZcOg==","signatures":[{"sig":"MEUCIB5E6DCEQWnrL+OxqGA1T0U+xNT5RQ7Grq93zll1MvEHAiEA7dKYKDNybi8RWgXh/KQaPa64fsVa5TdmW6zV8xoFfjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16217882},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_3.8.1_1753148177468_0.19987854792056026","host":"s3://npm-registry-packages-npm-production"}},"3.9.1":{"name":"python-bundle","version":"3.9.1","keywords":["python","pip","pythonjs","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@3.9.1","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"4616fd928efa63afab7a4f48ac38f8d7675d7a24","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-3.9.1.tgz","fileCount":9,"integrity":"sha512-E1ajMWSjBle2x/nYRfL9x5rAH6A+zjzb846rBTRlp+EgQMOBjSjN7q+5R/LqVWeRXsE7VXk3wK6HzRmPE7o/aA==","signatures":[{"sig":"MEUCIFR4t14yvLVn9DKv8j1RgMaw7feTlQgQbEiIZQaGKzlBAiEAmsMO8W53YTfBivrxyFlDQEFRoV/TRWd5iiFnyj9hwKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16217882},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_3.9.1_1753148490877_0.899883558447441","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"python-bundle","version":"3.10.1","keywords":["python","pip","pythonjs","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@3.10.1","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"8f8801a1ec2049648419a7da5f18a493fc06c1a3","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-3.10.1.tgz","fileCount":9,"integrity":"sha512-znmwYzES8afoztslrIPA+1nRGMCHqx5XxIR0+KFiEEX4X0K2kvXu0uvTIvr8RociDS9RgkW+RMzaz7aWbyyJjw==","signatures":[{"sig":"MEUCIQCkosVrn2eKcG3xSEJpIvFTDdFv1QboWOP+8kgd6chN/QIgacTuJ99lf7BFz3ED/9i/NMAJJ6OZ2k7VKZfuRv5EbdU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16217885},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_3.10.1_1753148621285_0.22537065437484172","host":"s3://npm-registry-packages-npm-production"}},"3.11.1":{"name":"python-bundle","version":"3.11.1","keywords":["python","pip","pythonjs","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@3.11.1","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"4582531726d7885df8a5bb5bdbc0abc0f47f21db","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-3.11.1.tgz","fileCount":9,"integrity":"sha512-RJE0qmMoIqlI6lFNb4EqkCWC1M7lrYLruYBBEL9hrq2fBoNNrt1M5LkDkifIJiO7WAYoRr+wDeJcDimI2gsp/g==","signatures":[{"sig":"MEUCIQCz2AXn/BuffhwJRHkP21e2hc/0yk2EdvhIpCvYkBsG7AIgZ5MnfBLRc2LsdOlL8oSL7MzHZgso31N3UuPOE8m4648=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16217885},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_3.11.1_1753148743130_0.3559408789569709","host":"s3://npm-registry-packages-npm-production"}},"3.12.1":{"name":"python-bundle","version":"3.12.1","keywords":["python","pip","pythonjs","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@3.12.1","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"6da47ff6df109f899ebb9e7d5753c58891cb1fe4","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-3.12.1.tgz","fileCount":9,"integrity":"sha512-M7j3PF0zdpod8fWS0LLjyEd9GZyEyaQgdTNmS8QmIbta2ZzMwwaNa1MyEBeHjNfiglbixw9Vcb1Qyr3doEh4Gg==","signatures":[{"sig":"MEQCIEAUHeIGE3+bqQdhDbskLTobvj8cQ2cetLQmhpoeqt+JAiAbnOazQ52cyoLEgLacu6VaJW1bPzDVSF3b8dmsP3NfHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16218090},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_3.12.1_1753149188396_0.559091320498941","host":"s3://npm-registry-packages-npm-production"}},"4.1.7":{"name":"python-bundle","version":"4.1.7","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@4.1.7","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"1a7fc49ae62d73989479514df97938261cb5de94","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-4.1.7.tgz","fileCount":8,"integrity":"sha512-HfJ5Qv5dMVdRuSi7mJKvE/q+xtnrtikVhU7BWbaDTZtyD90FFSpm+d96rXFIE6lvo5frDap0PKEEw7YgFXFCYg==","signatures":[{"sig":"MEYCIQD+/WbmvZosEcLbNF3W3asZGF8z6Z5MXhwwcvOxNDYXfwIhANUjgM8x7GdPzXRijqyOIRyTsASKnQK9c4TRCtlnciQN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83556},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_4.1.7_1753344280647_0.930960724040117","host":"s3://npm-registry-packages-npm-production"}},"4.1.8":{"name":"python-bundle","version":"4.1.8","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@4.1.8","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"1aa9ebf7016da6f83e718ace5a33ee413d3885e8","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-4.1.8.tgz","fileCount":8,"integrity":"sha512-FHyIm3FW9anb9ZgBPO08TMOyr/fN3bGn6NVCZnS81wY0AKn2p8DI9fLguPGf80Tf/aAfOYvTs2SC5tCIHiT+iQ==","signatures":[{"sig":"MEQCIEsDzNCOQVvCRLig6eFD7Y8CmmQBBDH60lnCfpmmmFNyAiACK8y2iQIPXEuvKRvO5iQKoI2eezMDWUDeLka8ErdSdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83556},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_4.1.8_1753344295976_0.48574644989259674","host":"s3://npm-registry-packages-npm-production"}},"4.1.9":{"name":"python-bundle","version":"4.1.9","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@4.1.9","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"58d3837a9448fc23c680688f56458673652bb8a5","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-4.1.9.tgz","fileCount":8,"integrity":"sha512-QAeA8/gwrQhDjVOUR9LR2H0f+NZY6/6hA1yB01nV2SkSJVIIKLlgSELkx+ILeikkPTXGybPh3BtnShN9zvvYFw==","signatures":[{"sig":"MEQCIB3I7xNBOzk/hAMhfIk2TMxVr9U9nbZRY/gKuzuFGHwlAiAmJh5A/qnTR8NYd3LIzVUYQOcqaNZ3bTDLV//kX04sRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83556},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_4.1.9_1753344312318_0.5343062914265986","host":"s3://npm-registry-packages-npm-production"}},"4.1.10":{"name":"python-bundle","version":"4.1.10","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@4.1.10","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"c53e3d172f48d297f206a837aa57973c886a4098","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-4.1.10.tgz","fileCount":8,"integrity":"sha512-wpBA0CQ3Y3JhzAFndveqkHu5rt1vYKWhHB6ml07+TX1c9vgznTEpW1D4GqqKzqGzr85ZikJNOYr9iIliIwIwHQ==","signatures":[{"sig":"MEQCIQDk3GuGIZEcEIIDQFAKX15866V+NFcoTV3Y1V03D3sKKgIfOrThRh7urkiTeWFPR3bTYv/i15pPDJc9qV+iFSj+Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83559},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_4.1.10_1753344324178_0.9778221478915292","host":"s3://npm-registry-packages-npm-production"}},"4.1.11":{"name":"python-bundle","version":"4.1.11","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","_id":"python-bundle@4.1.11","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"homepage":"https://github.com/RelixOfficial/python-bundle","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"dist":{"shasum":"79bc8591f03ff6596cdb53c7b3516b55114cae9b","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-4.1.11.tgz","fileCount":8,"integrity":"sha512-cKCqCZInxgR7DUEa+cIlek6+cTt/8PILzfp4YeOHEX/LkkXfRc80aRZ0YvWW3VHWKI3WOJogViJkFOLoCDFcHw==","signatures":[{"sig":"MEQCIDfD+pMBfkA+Q3xpO/u9FIyRoGkCY6F8QxESOMUH9oYHAiAJYdNac5f1qKG2rm/Ar6QFazV/HMkEKW9WtDUdIKdYyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83559},"main":"index.cjs","type":"module","engines":{"node":">=9"},"exports":{".":{"import":"./index.mjs","require":"./index.cjs"}},"scripts":{"prepare":"node scripts/prepare_python.mjs","postinstall":"node scripts/install_python.mjs"},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"repository":{"url":"git+https://github.com/RelixOfficial/python-bundle.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-contained Python 3 + pip runtime embedded in Node.js","directories":{},"_nodeVersion":"22.17.0","dependencies":{"tar":"^6.1.0","node-fetch":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/python-bundle_4.1.11_1753344338311_0.6629431056912001","host":"s3://npm-registry-packages-npm-production"}},"4.1.12":{"name":"python-bundle","version":"4.1.12","description":"Self-contained Python 3 + pip runtime embedded in Node.js","main":"index.cjs","type":"module","scripts":{"postinstall":"node scripts/install_python.mjs","prepare":"node scripts/prepare_python.mjs"},"license":"MIT","author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/RelixOfficial/python-bundle.git"},"homepage":"https://github.com/RelixOfficial/python-bundle","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"engines":{"node":">=9"},"dependencies":{"node-fetch":"^3.0.0","tar":"^6.1.0"},"exports":{".":{"require":"./index.cjs","import":"./index.mjs"}},"_id":"python-bundle@4.1.12","bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"_nodeVersion":"22.17.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-HL9rX1L4Lb3ILhDUwHL/RiMgZp4cByAPmLOf8BxMYiBGHd/XHeiEEtxwl4RndVCHacpOsvEBMUbAuJ6H7oQvMg==","shasum":"578000e59a1574dc4838e097105d28d6dfd481c2","tarball":"https://registry.npmjs.org/python-bundle/-/python-bundle-4.1.12.tgz","fileCount":8,"unpackedSize":83559,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCL/+rBm20a9iRyBR5nwrvTtDgO+iBnVTnEI+yn7pEGXAIhAJGf0UUKr/+gFFzidT5wWRC1Xv5HZaMCGDJWEtkqkgu6"}]},"_npmUser":{"name":"relixofficial","email":"dzakyadis9@gmail.com"},"directories":{},"maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/python-bundle_4.1.12_1753344358187_0.11998396585240889"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-21T00:42:02.007Z","modified":"2025-07-24T08:05:58.556Z","3.11.0":"2025-07-11T01:38:49.526Z","3.7.0":"2025-07-21T00:42:02.237Z","3.7.1":"2025-07-21T02:56:43.761Z","3.8.0":"2025-07-21T03:21:18.403Z","3.9.0":"2025-07-21T03:24:31.716Z","3.10.0":"2025-07-21T03:25:47.738Z","3.8.1":"2025-07-22T01:36:17.681Z","3.9.1":"2025-07-22T01:41:31.099Z","3.10.1":"2025-07-22T01:43:41.517Z","3.11.1":"2025-07-22T01:45:43.420Z","3.12.1":"2025-07-22T01:53:08.594Z","4.0.7":"2025-07-24T03:23:56.268Z","4.0.8":"2025-07-24T03:24:20.077Z","4.0.9":"2025-07-24T03:24:44.417Z","4.0.10":"2025-07-24T03:25:04.144Z","4.0.11":"2025-07-24T03:25:26.456Z","4.0.12":"2025-07-24T03:25:54.366Z","4.1.7":"2025-07-24T08:04:40.868Z","4.1.8":"2025-07-24T08:04:56.194Z","4.1.9":"2025-07-24T08:05:12.514Z","4.1.10":"2025-07-24T08:05:24.340Z","4.1.11":"2025-07-24T08:05:38.491Z","4.1.12":"2025-07-24T08:05:58.374Z"},"bugs":{"url":"https://github.com/RelixOfficial/python-bundle/issues"},"author":{"name":"RelixOfficial","email":"dzakyadis9@gmail.com"},"license":"MIT","homepage":"https://github.com/RelixOfficial/python-bundle","keywords":["python","pip","Pythonjs","Python node","miniforge","portable python","embedded python","python runtime","python nodejs","python integration","nodejs python","pterodactyl","heroku","docker","serverless","bot","automation","scraping","machine learning","Python","python bundle","python embedded","node module","run python"],"repository":{"type":"git","url":"git+https://github.com/RelixOfficial/python-bundle.git"},"description":"Self-contained Python 3 + pip runtime embedded in Node.js","maintainers":[{"name":"relixofficial","email":"dzakyadis9@gmail.com"}],"readme":"# python-bundle\n\n<div align=\"center\">\n  <a href=\"https://github.com/RelixOfficial/python-bundle\">\n    <img src=\"./icon.png\" alt=\"python-bundle logo\" height=\"135px\">\n  </a>\n  <h2>python-bundle</h2>\n  <p>Embed Portable Python 3 + pip into Node.js projects</p>\n  <p>\n    <a href=\"https://npmjs.com/package/python-bundle\"><img src=\"https://img.shields.io/npm/v/python-bundle.svg\" alt=\"npm version\"></a>\n    <a href=\"https://npmjs.com/package/python-bundle\"><img src=\"https://img.shields.io/npm/dm/python-bundle.svg\" alt=\"npm downloads\"></a>\n    <a href=\"https://github.com/RelixOfficial/python-bundle/blob/master/LICENSE\"><img src=\"https://img.shields.io/github/license/RelixOfficial/python-bundle.svg\" alt=\"license\"></a>\n  </p>\n</div>\n\n---\n\n## ✨ Features\n\n- **Portable Python 3.12** via Miniforge (auto-download on install)\n- **Built-in pip** for Python package management\n- **Supports CommonJS & ESM** (`require` & `import`)\n- **No system Python** dependency (ideal for Pterodactyl, Docker, serverless)\n- **Stream & Interactive modes** for real-time output & user input\n- **Four main methods**: `execPython`, `runScript`, `runCode`, `pipInstall`\n- **Stdin support** for passing input to Python scripts\n\n---\n\n## 🚀 Installation\n\n```bash\nnpm install python-bundle\n```\n\n> **Note**: Runs `postinstall` hook to download Miniforge into `vendor/python`.\n\n---\n\n## 🛠️ API Reference\n\nImport the module:\n\n#### CommonJS\n```js\nconst { pipInstall, runScript, runCode, execPython } = require('python-bundle');\n```\n\n#### ESM\n```js\nimport { pipInstall, runScript, runCode, execPython } from 'python-bundle';\n```\n\n---\n\n### `execPython(args, options)`\nExecute any Python command with optimizations enabled (`-O` flag).\n\n**Parameters:**\n- `args` (`string[]`): CLI arguments for Python (e.g. `['-c', 'print(\"Hi\")']`)\n- `options` (`object`):\n  - `cwd` (`string`): Working directory (default: `process.cwd()`)\n  - `stream` (`boolean`): Pipe output to console in real-time (default: `false`)\n  - `stdin` (`string`): Input string to send to stdin\n  - `interactive` (`boolean`): **Note:** Not supported in `execPython` (use `runScript` instead)\n\n**Returns:** `Promise<string | void>`  \n- Resolves with output string when `stream: false`\n- Resolves with `undefined` when `stream: true`\n- Rejects with error on non-zero exit code\n\n**Example:**\n```js\n// Execute inline code with stdin input\nawait execPython(\n  ['-c', 'import sys; print(sys.stdin.read().upper())'], \n  { \n    stdin: 'hello world', \n    stream: true \n  }\n);\n```\n\n---\n\n### `runScript(scriptPath, args, options)`\nRun a Python `.py` file with two execution modes.\n\n**Parameters:**\n- `scriptPath` (`string`): Path to Python script\n- `args` (`string[]`): Arguments passed to script (default: `[]`)\n- `options` (`object`):\n  - `cwd` (`string`): Working directory (default: `process.cwd()`)\n  - `stream` (`boolean`): Pipe output to console in real-time\n  - `stdin` (`string`): Input string for non-interactive mode\n  - `interactive` (`boolean`): Enable interactive mode (returns ChildProcess)\n\n**Returns:**  \n- `Promise<string | void>` when non-interactive\n- `ChildProcess` when `interactive: true`\n\n**Non-interactive Example:**\n```js\n// Run script with arguments and capture output\nconst output = await runScript('script.py', ['args1'], {\n  cwd: './scripts'\n});\n```\n\n**Interactive Example:**\n```js\n// Run interactively and manage process directly\nconst child = runScript('script.py', [], { interactive: true });\n\nchild.stdout.on('data', data => process.stdout.write(data));\nchild.stderr.on('data', data => process.stderr.write(data));\nchild.stdin.write('user input\\n'); \n\nchild.on('exit', code => {\n  console.log(`Process exited with code ${code}`);\n});\n```\n\n---\n\n### `runCode(codeString, options)`\nExecute inline Python code block.\n\n**Parameters:**\n- `codeString` (`string`): Python source code\n- `options` (`object`): Same as `execPython`\n\n**Returns:** `Promise<string | void>`  \nSame behavior as `execPython`\n\n**Example:**\n```js\n// Execute code with stdin and stream output\nawait runCode(\n  `import sys, json; \n   data = json.load(sys.stdin); \n   print(data['message'])`,\n  {\n    stdin: JSON.stringify({ message: \"Hello from stdin!\" }),\n    stream: true\n  }\n);\n```\n\n---\n\n### `pipInstall(packages, options)`\nInstall Python packages via pip.\n\n**Parameters:**\n- `packages` (`string[]`): Package names to install\n- `options` (`object`):\n  - `cwd` (`string`): Working directory\n  - `stream` (`boolean`): Show live installation output\n\n**Returns:** `Promise<void>`\n\n**Example:**\n```js\n// Install multiple packages with live output\nawait pipInstall(['numpy', 'pandas', 'scikit-learn'], { \n  stream: true \n});\n```\n\n---\n\n## 📁 Project Structure\nAfter installation:\n```\nyour-project/\n├── node_modules/\n│   └── python-bundle/\n│       ├── vendor/\n│       │   └── python/      # Portable Python\n│       │       ├── bin/\n│       │       │   └── python  # Python binary\n│       │       └── ...       # Python environment\n│       └── index.js         # Module entry point\n├── scripts/\n│   └── your_script.py      # Your Python scripts\n└── main.js                 # Your Node.js code\n```\n\n---\n\n## 🔧 Usage Examples\n\n#### 1. Basic Usage (CommonJS)\n```js\n// JavaScript\nconst { runScript, pipInstall } = require('python-bundle');\n\n(async () => {\n  // Install Flask\n  await pipInstall(['flask'], { stream: true });\n  \n  // Run Python web server\n  await runScript('web_server.py', ['3000'], { stream: true });\n})();\n```\n\n```python\n# web_server.py (Python)\nfrom flask import Flask\nimport sys\n\napp = Flask(__name__)\nport = 3000 if len(sys.argv) < 2 else int(sys.argv[1])\n\n@app.route('/')\ndef home():\n    return \"Hello from Python bundle!\"\n\nif __name__ == '__main__':\n    print(f\"Starting server on port {port}\")\n    app.run(port=port)\n```\n\n#### 2. Advanced Usage (ESM)\n```js\n// JavaScript\nimport { runCode, pipInstall } from 'python-bundle';\n\n// Install NumPy\nawait pipInstall(['numpy'], { stream: true });\n\n// Run data processing code\nawait runCode(`\nimport numpy as np\n\n arr = np.array([1, 2, 3, 4])\n print(f\"Mean: {np.mean(arr)}\")\n print(f\"Sum: {np.sum(arr)}\")\n`, { stream: true });\n```\n\n#### 3. Interactive Script Handling\n```js\n// JavaScript\nconst { runScript } = require('python-bundle');\n\n// Start calculator process\nconst calc = runScript('calculator.py', [], { interactive: true });\n\ncalc.stdout.on('data', data => {\n  process.stdout.write(data);\n  if (data.includes('Enter operation')) {\n    calc.stdin.write('add\\n');\n  }\n  if (data.includes('Enter first number')) {\n    calc.stdin.write('15\\n');\n  }\n  if (data.includes('Enter second number')) {\n    calc.stdin.write('25\\n');\n  }\n});\n\ncalc.on('exit', () => console.log('Calculation complete!'));\n```\n\n```python\n# calculator.py (Python)\nprint(\"Simple Calculator\")\nwhile True:\n    try:\n        op = input(\"Enter operation (add/sub/mul/div): \")\n        num1 = float(input(\"Enter first number: \"))\n        num2 = float(input(\"Enter second number: \"))\n        \n        if op == 'add': result = num1 + num2\n        elif op == 'sub': result = num1 - num2\n        elif op == 'mul': result = num1 * num2\n        elif op == 'div': result = num1 / num2\n        else: \n            print(\"Invalid operation\")\n            continue\n            \n        print(f\"Result: {result}\")\n        break\n    except ValueError:\n        print(\"Please enter valid numbers!\")\n    except ZeroDivisionError:\n        print(\"Cannot divide by zero!\")\n```\n\n#### 4. File Processing Example\n```js\n// JavaScript\nconst { runScript } = require('python-bundle');\n\n// Process CSV file\nawait runScript('csv_processor.py', ['input.csv', 'output.json'], {\n  stream: true,\n  cwd: './data'\n});\n```\n\n```python\n# csv_processor.py (Python)\nimport csv\nimport json\nimport sys\n\nif len(sys.argv) < 3:\n    print(\"Usage: python csv_processor.py <input.csv> <output.json>\")\n    exit(1)\n\ninput_file = sys.argv[1]\noutput_file = sys.argv[2]\n\ndata = []\nwith open(input_file, 'r') as f:\n    reader = csv.DictReader(f)\n    for row in reader:\n        data.append(row)\n\nprint(f\"Processed {len(data)} records\")\nwith open(output_file, 'w') as f:\n    json.dump(data, f, indent=2)\n```\n\n---\n\n\n## ⚠️ Troubleshooting\n\n- **Interactive Mode Requirements**  \n  Use `{ interactive: true }` only with `runScript()`, not with `execPython()` or `runCode()`\n\n- **Stdin Handling**  \n  Non-interactive mode: use `stdin` option  \n  Interactive mode: write to `child.stdin` directly\n\n- **Python Optimizations**  \n  All executions run with `-O` flag. Disable optimizations by modifying source if needed\n\n- **Path Handling**  \n  Use absolute paths or relative to `options.cwd` for scripts\n\n- **Permission Issues**  \n  On Linux systems:\n  ```bash\n  chmod +x node_modules/python-bundle/vendor/python/bin/python\n  ```\n\n- **Environment Conflicts**  \n  Module sets `PYTHONHOME` automatically. Unset this variable if you encounter conflicts\n\n---\n\n## 📄 License\n\nMIT © 2025 RelixOfficial\n\n---\n\n> **Maintained with ❤️ by RelixTeam.** PRs and contributions are welcome!\n","readmeFilename":"README.md"}