Py3 is a versatile Node.js library designed to facilitate interaction with Python, seamlessly bridging the gap between the two languages.
- 
Pure JavaScript Implementation: Enjoy enhanced flexibility with a pure JavaScript implementation, eliminating the need for native files and streamlining the setup process. 
- 
Seamless Python Integration: Py3 allows you to effortlessly execute Python commands and scripts directly from your JavaScript or TypeScript code, enabling you to harness the full capabilities of Python within your application. 
- 
Robust Error Handling: With Py3, you benefit from robust error handling mechanisms, ensuring graceful error capture and handling to maintain application stability even during the execution of complex Python commands. 
- 
Asynchronous Execution: Execute Python commands asynchronously to prevent application unresponsiveness while awaiting script execution completion. 
- 
Detailed Results: Access comprehensive results of Python script executions, including standard output, standard error, and execution success status, facilitated through a convenient result object for easy data retrieval. 
- 
Comprehensive Documentation: Py3 comes with comprehensive TypeScript declaration files (.d.ts) and inline code comments, facilitating easy understanding and utilization of the module within your projects. 
- 
Cross-Platform Compatibility: Designed for cross-platform compatibility, Py3 ensures consistent Python integration across various operating systems. 
From GitHub (For Latest Features)
npm install obaydmerz/py3From npm (For Stable Releases)
npm install py3Interesting Example
import { Py } from "py3";
// Create a Py instance
const py3 = new Py();
py3.on("print", (x) => {
  console.log("Printed", x);
});
py3.start().then(async () => {
  await py3.exec(`def hello(bar):
    print("Hello World!")
    return {'hello': 'world', 'foo': bar}`);
  const res = await py3.context.hello(19);
  console.log(res.foo);
});Accessing globals
import { Py } from "py3";
const py3 = new Py();
(async () => {
  await py3.start();
  console.log(py3.context.__name__);
})();Simple, isn't it?
For detailed API documentation, refer to the index.d.ts. For further information and advanced usage, explore the Py3 Wiki.