Metadata-Version: 2.4
Name: lispython
Version: 0.3.1
Summary: Lisp-like Syntax for Python with Lisp-like Macros
Project-URL: Homepage, https://jetack.github.io/lispython
Project-URL: Repository, https://github.com/jetack/lispython
Author-email: Jetack <jetack23@gmail.com>
License: MIT
License-File: LICENSE.md
Requires-Python: >=3.11
Provides-Extra: dev
Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Requires-Dist: toml>=0.10.2; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mike>=2.1.3; extra == 'docs'
Requires-Dist: mkdocs-macros-plugin>=1.3.7; extra == 'docs'
Requires-Dist: mkdocs-material>=9.6.14; extra == 'docs'
Description-Content-Type: text/markdown

# LisPython
[![PyPI version](https://badge.fury.io/py/lispython.svg)](https://badge.fury.io/py/lispython)

# Documentation
You can find the documentation at [https://jetack.github.io/lispython/](https://jetack.github.io/lispython/).

# Installation
## Manual Installation (for development)
```bash
poetry install --no-root # for dependency
pip install -e . # for development
```
## Using pip
```bash
pip install lispython
```

# How to Run lispy code
## Run from source
```bash
lpy {filename}.lpy
```

## Run REPL
```bash
lpy
#or
lpy -t #if you want to print python translation.
```

## Run translation
```bash
l2py {filename}.lpy
```
It just displays translation. (don't run it)

## Run Tests
```bash
# in project root directory
python -m unittest
#or
lpy -m unittest
```


# Todo
## Environment
- [ ] Test on more python versions
- [ ] REPL should track history and arrow key navigation
- [ ] REPL multi-line input support
- [ ] Better compileation error messages
## Macro System
- [ ] `as->` macro for syntactic sugar
- [ ] `gensym` for avoiding name collision
## Python AST
- [ ] `type_comment` never considered. Later, it should be covered
- [ ] Any missing AST nodes in the version 3.12+