Skip to main content

A Clojure-like lisp written for Python

Project description

🐍 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 python pyimpl readthedocs CircleCI Coveralls github license

Getting Started

Basilisp is developed on GitHub and hosted on PyPI. You can fetch Basilisp using a simple:

pip install basilisp

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

basilisp repl

Basilisp documentation can help guide your exploration at the REPL. Additionally, Basilisp features many of the same functions and idioms as Clojure so you may find guides and documentation there helpful for getting started.

Developing on Basilisp


This project uses pipenv to manage the Python virtual environment and project dependencies. pipenv can be installed using Homebrew (on OS X) or pip otherwise:

brew install pipenv
pip install --user pipenv

Additionally, 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:

make setup-dev

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

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. All three steps can be performed using a simple make target:

make test

Testing is performed using PyTest. Type checking is performed by MyPy. Linting is performed using Prospector.


Eclipse Public License 1.0

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for basilisp, version 0.1.dev14
Filename, size File type Python version Upload date Hashes
Filename, size basilisp-0.1.dev14-py2.py3-none-any.whl (326.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size basilisp-0.1.dev14.tar.gz (307.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page