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

Requirements

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.

License

MIT License

Project details


Download files

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

Source Distribution

basilisp-0.1.dev3.tar.gz (132.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basilisp-0.1.dev3-py2.py3-none-any.whl (155.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file basilisp-0.1.dev3.tar.gz.

File metadata

  • Download URL: basilisp-0.1.dev3.tar.gz
  • Upload date:
  • Size: 132.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for basilisp-0.1.dev3.tar.gz
Algorithm Hash digest
SHA256 d10601a91b092ab81ae26f4ead48e005580a32ba2114c7af8c9580dc9badb598
MD5 d0ad3dbe22937c479df4feb0e8ff1c75
BLAKE2b-256 d16829fde514032e39baabe033c6a3b01d17704c070b2910aaec6fc909cb170d

See more details on using hashes here.

File details

Details for the file basilisp-0.1.dev3-py2.py3-none-any.whl.

File metadata

  • Download URL: basilisp-0.1.dev3-py2.py3-none-any.whl
  • Upload date:
  • Size: 155.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for basilisp-0.1.dev3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 60fc0cc9d92846bfb3b2d59ca00325a4a1169d9ac4b7fce234bcb8eda781ba22
MD5 425697c388fb8d82ee859c4626d2210c
BLAKE2b-256 8064e08106dbe23c9fe9aa15e1db1e02a02ea8d98fc08cdd5a8a8da8302d77b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page