Metadata-Version: 2.1
Name: basilisp
Version: 0.1.0a1
Summary: A Clojure-like lisp written for Python
Home-page: https://github.com/basilisp-lang/basilisp
License: Eclipse Public License 1.0 (EPL-1.0)
Author: Christopher Rink
Author-email: chrisrink10@gmail.com
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Compilers
Provides-Extra: pygments
Provides-Extra: pytest
Requires-Dist: astor (>=0.8)
Requires-Dist: attrs
Requires-Dist: immutables (>=0.15,<0.16)
Requires-Dist: prompt-toolkit (>=3.0.0,<3.1.0)
Requires-Dist: pyrsistent
Requires-Dist: python-dateutil
Requires-Dist: readerwriterlock (>=1.0.8,<1.1.0)
Project-URL: Documentation, https://basilisp.readthedocs.io/
Project-URL: Repository, https://github.com/basilisp-lang/basilisp
Description-Content-Type: text/markdown

# 🐍 basilisp 🐍

A Lisp dialect inspired by Clojure targeting Python 3.

**Disclaimer:** _Basilisp is a project I created to learn about Python, Clojure,
and hosted languages generally. It should not be used in a production setting._

[![PyPI](https://img.shields.io/pypi/v/basilisp.svg?style=flat-square)](https://pypi.org/project/basilisp/) [![python](https://img.shields.io/pypi/pyversions/basilisp.svg?style=flat-square)](https://pypi.org/project/basilisp/) [![pyimpl](https://img.shields.io/pypi/implementation/basilisp.svg?style=flat-square)](https://pypi.org/project/basilisp/) [![readthedocs](https://img.shields.io/readthedocs/basilisp.svg?style=flat-square)](https://basilisp.readthedocs.io/) [![CircleCI](	https://img.shields.io/circleci/project/github/basilisp-lang/basilisp/master.svg?style=flat-square)](https://circleci.com/gh/basilisp-lang/basilisp) [![Coveralls github](https://img.shields.io/coveralls/github/basilisp-lang/basilisp.svg?style=flat-square)](https://coveralls.io/github/basilisp-lang/basilisp) [![license](https://img.shields.io/github/license/basilisp-lang/basilisp.svg?style=flat-square)](https://github.com/basilisp-lang/basilisp/blob/master/LICENSE)

## Getting Started

Basilisp is developed on [GitHub](https://github.com/chrisrink10/basilisp)
and hosted on [PyPI](https://pypi.python.org/pypi/basilisp). You can
fetch Basilisp using a simple:

```bash
pip install basilisp
```

Once Basilisp is installed, you can enter into the REPL using:

```bash
basilisp repl
```

Basilisp [documentation](https://basilisp.readthedocs.io) can help guide your 
exploration at the REPL. Additionally, Basilisp features many of the same functions 
and idioms as [Clojure](https://clojure.org/) so you may find guides and 
documentation there helpful for getting started.

## Developing on Basilisp

### Requirements

This project uses [`poetry`](https://github.com/python-poetry/poetry) to manage
the Python virtual environment, project dependencies, and package publication.
See the instructions on that repository to install in your local environment.
Because `basilisp` is intended to be used as a library, no `poetry.lock` file
is committed to the repository. Developers should generate their own lock file
and update it regularly during development instead.

Additionally, [`pyenv`](https://github.com/pyenv/pyenv) is recommended to 
manage versions of Python readily on your local development environment.
Setup of `pyenv` is somewhat more specific to your environment, so see
the documentation in the repository for more information.

### Getting Started

To prepare your `poetry` environment, you need to install dependencies:

```bash
poetry install
```

Afterwards, you can start up the REPL for development with a simple:

```bash
make repl
```

### Linting, Running Tests, and Type Checking

Basilisp automates linting, running tests, and type checking using 
[Tox](https://github.com/tox-dev/tox). All three steps can be performed
using a simple `make` target:

```bash
make test
```

Testing is performed using [PyTest](https://github.com/pytest-dev/pytest/). 
Type checking is performed by [MyPy](http://mypy-lang.org/). Linting is 
performed using [Prospector](https://prospector.landscape.io/en/master/).

## License

Eclipse Public License 1.0

