Import modules written in org files
Project description
#+TITLE: orgmod
[[https://img.shields.io/pypi/v/ledge.svg?style=flat-square]]
Write literate python modules in org mode and import directly in python.
Inspired by [[https://github.com/miedzinski/import-pypi][import-pypi]]. Relies on org-babel and tangling facility.
As an example, lets make this README an importable module. Lets define a
~hello_world~ function.
#+BEGIN_SRC python :tangle yes
def hello_world():
print("hello world")
#+END_SRC
In the header for the above code snippet, we set ~:tangle yes~ (checkout the raw
version of this file). This creates a module with the name ~README~.
Now to import this module we first import ~orgmod~ and then import ~README~ and then
run the next code right inside this file.
#+BEGIN_SRC python :results output :exports both
# For this code block, tangle is not set
import orgmod
import README
README.hello_world()
#+END_SRC
#+RESULTS:
: hello world
-----
*Things to do*
- Make the loader and finder more robust and inherit from the newer abstract
classes.
- Move next iterations of orgmod itself inside this README. Might need to
bootstrap from the simpler script thats present right now.
[[https://img.shields.io/pypi/v/ledge.svg?style=flat-square]]
Write literate python modules in org mode and import directly in python.
Inspired by [[https://github.com/miedzinski/import-pypi][import-pypi]]. Relies on org-babel and tangling facility.
As an example, lets make this README an importable module. Lets define a
~hello_world~ function.
#+BEGIN_SRC python :tangle yes
def hello_world():
print("hello world")
#+END_SRC
In the header for the above code snippet, we set ~:tangle yes~ (checkout the raw
version of this file). This creates a module with the name ~README~.
Now to import this module we first import ~orgmod~ and then import ~README~ and then
run the next code right inside this file.
#+BEGIN_SRC python :results output :exports both
# For this code block, tangle is not set
import orgmod
import README
README.hello_world()
#+END_SRC
#+RESULTS:
: hello world
-----
*Things to do*
- Make the loader and finder more robust and inherit from the newer abstract
classes.
- Move next iterations of orgmod itself inside this README. Might need to
bootstrap from the simpler script thats present right now.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
orgmod-0.1.1.tar.gz
(14.8 kB
view details)
File details
Details for the file orgmod-0.1.1.tar.gz
.
File metadata
- Download URL: orgmod-0.1.1.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d952582de3fa5286681565411cf41a267522bf0d35440a3feab33506b972ba54 |
|
MD5 | a3c8fe893c0b7ae58c923a3802a32dac |
|
BLAKE2b-256 | 608c051e9e5a71a4388d021e0266f3e9485073fb7e47892fc9dc708a1b4cc738 |