Skip to main content

Compile Nim extensions for Python when imported!

Project description

Nimporter

License

Compile Nim extensions for Python on import automatically!

With Nimporter, you can simply import Nim source code files as if they were Python modules, and use them seamlessly with Python code. The compiler is invoked to build a Python-compatible extension module and it is then placed in the __pycache__ directory, which means that you don't have to add a line to your .gitignore files because (presumably) Git is already ignoring the __pycache__ directory.

Possible Benefits

  • Seamless integration with existing Nim code by using the Nimpy library.
  • Very low effort to create high-performance Python extensions using Nim.
  • Leverage both language's ecosystems: Python for breadth, Nim for performance.

Dependencies

  1. Nim Compiler
  2. Nimpy library
  3. Nimporter library (this library).

Installation

# Windows
$ pip install nimporter  # Nimporter library
$ nimble install nimpy  # Nimpy library

# Everything Else
$ pip3 install nimporter  # Nimporter library
$ nimble install nimpy  # Nimpy library

Examples

# nim_math.nim

import nimpy

proc add(a: int, b: int): int {.exportpy.} =
    return a + b
import nimporter

import nim_math

print(nim_math.add(2, 4))  # 6

Documentation

For tutorials, advanced usage, and more, head over to the Wiki.

Stargazers over time

Stargazers over time

Made using https://starchart.cc/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nimporter-0.1.2.tar.gz (4.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page