Metadata-Version: 2.1
Name: basilisp
Version: 0.1.dev7
Summary: A Clojure-like lisp written for Python
Home-page: http://github.com/chrisrink10/basilisp
Author: Christopher Rink
Author-email: chrisrink10@gmail.com
License: Eclipse Public License 1.0
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Compilers
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
Requires-Dist: astor
Requires-Dist: atomos
Requires-Dist: click
Requires-Dist: pyfunctional
Requires-Dist: pyrsistent
Requires-Dist: pytest
Requires-Dist: python-dateutil


# 🐍 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) ![python](https://img.shields.io/pypi/pyversions/basilisp.svg?style=flat-square) ![readthedocs](https://img.shields.io/readthedocs/basilisp.svg?style=flat-square) ![TravisCI](https://img.shields.io/travis/chrisrink10/basilisp.svg?style=flat-square) ![Coveralls github](https://img.shields.io/coveralls/github/chrisrink10/basilisp.svg?style=flat-square) ![license](https://img.shields.io/github/license/chrisrink10/basilisp.svg?style=flat-square)

## 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 [`pipenv`](https://github.com/kennethreitz/pipenv) to
manage the Python virtual environment and project dependencies. `pipenv`
can be installed using Homebrew (on OS X) or `pip` otherwise:

```bash
brew install pipenv
```

```bash
pip install --user pipenv
```

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 `pipenv` environment, you need to install dependencies
and install Basilisp as an editable dependency:

```bash
make setup-dev
```

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

```bash
make repl
```

If dependencies are added or changed afterwards, you may need to
`make setup-dev` again before attempting to start the REPL again or
run tests.

### 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


