Importlib shim that enables mixed syntax in Python packages and executables.
Go to file
Elf M. Sternberg c508173e7d Sorta an initial check-in.
This is broken out from a week-long development cycle for the
[Hy](http://docs.hylang.org/en/latest/) programming language,
which I can't recommend enough.
2016-05-29 09:42:34 -07:00
tests Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
.gitignore Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
LICENSE Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
MANIFEST.in Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
README.rst Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
polyloader.py Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
requirements.txt Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
run_tests.py Sorta an initial check-in. 2016-05-29 09:42:34 -07:00
setup.py Sorta an initial check-in. 2016-05-29 09:42:34 -07:00

README.rst

_polyloader_ is a python module to hook into Python's import machinery
and insert your own syntax parser/recognizer.  Importlib uses filename
suffixes to recognize which compiler to use, but is internally
hard-coded to only recognize ".py" as a valid suffix.

## To use:

Import polyloader in your python script's launcher or library, as well
as the syntax compiler(s) you plan to use.  For example, if you have
[Mochi](https://github.com/i2y/mochi)) and
[Hy](http://docs.hylang.org/en/latest/) installed, and you wanted to
write a Django app, edit manage.py and add the following lines at the
top:

.. code:: python
    from mochi.main import compile_file as mochi_compile
    from hy.importer import ast_compile as hy_compile
    from polyloader import polyimport
    polyimport(mochi_compile, ['.mochi'])
    polyimport(hy_compile, ['.hy'])

Now your views can be written in Hy and your models in Mochi, and
everything will just work.

## Dependencies

polymorph is self-contained. It has no dependencies other than Python
itself and your choice of language.