Skip to main content
Makefile CI PyPI version Python versions Python wheel

An interpreter written in Python for the imperative, stack-based language called Whitespace. This is a fork of https://github.com/dwayne/whitespace-python.

Installation

To install, simply use pip (or pipenv):

$ pip install whitespace2

Usage

Let program.ws be any Whitespace program. To execute it, type:

$ whitespace program.ws

You can find example Whitespace programs at tests/fixtures.

For example, here’s the factorial program:

$ whitespace fact.ws
Enter a number: 40
40! = 815915283247897734345611269596115894272000000000

Development

Recommended tools:

Clone the repository and install the dependencies:

$ git clone git@github.com:rzuckerm/whitespace-python.git
$ cd whitespace-python
$ poetry env '<python-version>'
$ poetry install

where <python-version> is the version of python that you have installed. This must be at least python 3.8. Example for python 3.10:

$ poetry env 3.10

You’re now all set to begin development.

Formatting

The code is formatted using black.

Run the formatter:

$ make format

Linting

The code is linted using black and pylint.

Run the linters:

$ make lint

Testing

Tests are written using pytest.

Run all tests.

$ make test

Run a specific test module.

$ make test PYTEST_ARGS="-vvl -m test.<my-module>"

Run a specific test case.

$ make test PYTEST_ARGS="-vvl -k test.test_parser.ParserTestCase.test_it_parses_push"

Help

To get a list of make targets, run this:

$ make help

References

Credits

Thanks to Edwin Brady and Chris Morris for designing/developing this programming language; they are also developers of the Idris programming language.

Metadata

Release files for whitespace2 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for whitespace2 1.0.0
File Size Uploaded
whitespace2-1.0.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for whitespace2 1.0.0
File Interpreter ABI Platform
whitespace2-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / whitespace2-1.0.0.tar.gz

Download URL whitespace2-1.0.0.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5579421dab24bea99ea468970807c550dc5b32ee5c47d4d0dedac874eeb5eb38
BLAKE2b-256 checksum
How to use checksums
0ec3db9ec72437868cdc30124a719773de6ad3a9b5bbcade8ed6437eeadfaed0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.15 Linux/6.8.0-1015-azure

Release files / whitespace2-1.0.0-py3-none-any.whl

Download URL whitespace2-1.0.0-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed7da8d26703acd46c0f9b3b8444faa1313fb9ae443cb3c93200d0eccda65a64
BLAKE2b-256 checksum
How to use checksums
9ee5b7aa127ed8ea208d633dd05e21aa7fd81cca6211e3257fc4adf99f576493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.15 Linux/6.8.0-1015-azure

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page