vyxal


Namevyxal JSON
Version 2.22.0 PyPI version JSON
download
home_pagehttps://vyxal.pythonanywhere.com/
SummaryA golfing language that has aspects of traditional programming languages.
upload_time2023-11-05 12:14:54
maintainer
docs_urlNone
author
requires_python>=3.9,<3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Vyxal Logo](./documents/logo/banner.png)

![Test status](https://github.com/Vyxal/Vyxal/actions/workflows/run-tests.yaml/badge.svg)
![Pypi Monthly Downloads](https://img.shields.io/pypi/dm/vyxal)
![Last Commit](https://img.shields.io/github/last-commit/vyxal/vyxal)
![Contributors](https://img.shields.io/github/contributors/vyxal/vyxal)

**Vyxal** is a stack and array based golfing language that takes the idea that conciseness comes at the cost of practicality and throws it out the window. That's right - where other golflangs throw you into the deep-end of keyboard mashing, Vyxal eases you into the concept of elegantly crafting built-ins into a functioning program.

And yes, this design goal really _does_ warrant adding another golfing language into the already densely populated mix of golflangs. If you go and take a look at the current state of the art of golfing languages, you'll find that 99% of languages are either a) powerful and concise, but not easy to pick up or b) easy to learn, but not that useful for anything non-trivial (I say this as someone who's made and contributed to both kinds of languages). Vyxal aims to bridge the gap between simplicity and "golfability".

## Installation

You can also use the [online interpreter](https://vyxal.pythonanywhere.com) with no need to install!

If you only want to run Vyxal, all you need to run is this:

```
pip install vyxal
```

If you are working on Vyxal, install [Poetry](https://python-poetry.org), and then you can clone this repo and run:

```
poetry install
```

If you want to test the latest commit of Vyxal without using Poetry, create a virtual environment, activate it and run:

```
pip install git+https://github.com/Vyxal/Vyxal@main
```

Then, remember to use `python.exe` instead of `python3`.
## Usage

To run using the script:

```
vyxal <file> <flags (single string of flags)> <input(s)>
```

If you're using Poetry:

```
poetry run vyxal <file> <flags (single string of flags)> <input(s)>
```

To run from a file inside a Python script:

```
import vyxal.main
vyxal.main.execute_vyxal("file", "flags (single string of flags)", ["inputs"])
```

or to run code inside a Python script:

```
import vyxal.main
vyxal.main.execute_vyxal("code", "e", ["inputs"])
```

To run tests, install pytest and simply run `pytest tests`.

## Why Vyxal?

Vyxal is designed to be easy to use coming from practical programming languages like Python and C, and borrows many concepts from those, such as [variables], [functions], [conditionals and loops], comments and more. Despite this, it's also heavily optimised for golfing, with a large library of powerful [builtins](https://github.com/Vyxal/Vyxal/blob/main/documents/knowledge/elements.md) that can easily be chained to complete the task at hand. For more information, see the [tutorial](https://vyxapedia.hyper-neutrino.xyz/beginners).

[variables]: https://vyxal.pythonanywhere.com/#WyIiLCIiLCIjIFZhcmlhYmxlcyBhcmUgZGVub3RlZCB3aXRoIHRoZSBzeW1ib2xzIOKGkiBhbmQg4oaQIGZvbGxvd2VkIGJ5IGFueSBudW1iZXIgb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLlxuXG4jIOKGkiBzZXRzIGEgdmFyaWFibGUgdG8gdGhlIHZhbHVlIHBvcHBlZCBmcm9tIHRoZSBzdGFjay5cbmBIZWxsb2Ag4oaSZ3JlZXRpbmdcbiMgVGhlIHZhbHVlIFwiSGVsbG9cIiBpcyBub3cgc3RvcmVkIGluIHRoZSB2YXJpYWJsZSBncmVldGluZy5cblxuIyDihpAgcHVzaGVzIHRoZSB2YWx1ZSBvZiBhIHZhcmlhYmxlIHRvIHRoZSBzdGFjay5cblxu4oaQZ3JlZXRpbmciLCIiLCIiXQ==
[functions]: https://vyxal.pythonanywhere.com/#WyIiLCIiLCLCqEBmaWJvbmFjY2k6TnwgICAgICAgICAgICAgICAgIyBkZWYgZmlib25hY2NpKE4pOlxuICDihpBOIDAgPSBbIDAgfCAgICAgICAgICAgICAgICMgICBpZiBOID09IDA6IHJldHVybiAwXG4gICAg4oaQTiAxID0gWyAxIHwgICAgICAgICAgICAgIyAgIGVsaWYgTiA9PSAxOiByZXR1cm4gMVxuICAgICAg4oaQTiAyIC0gwqhAZmlib25hY2NpOyAgICAgIyAgIGVsc2U6IHJldHVybiBmaWJvbmFjaWkoTiAtIDIpICsgZmlib25hY2lpKE4gLSAxKVxuICAgICAg4oaQTiAxIC0gwqhAZmlib25hY2NpOyArXG4gICAgXVxuICBdXG47XG5cbjEwIMKoQGZpYm9uYWNjaTsiLCIiLCIiXQ==
[conditionals and loops]: https://vyxal.pythonanywhere.com/#WyIiLCIiLCIjIElmIHN0YXRlbWVudHMgc3RhcnQgd2l0aCBbIGFuZCBlbmQgd2l0aCBdXG5cblxuMSAyICsgMyA9IFsgIyBJZiAxICsgMiA9IDMuLi5cbiAgICAgICAgICAgICMgRG8gc3R1ZmYgaGVyZVxuIFxuICAgfCAgICAgICAgIyB8IGluc2lkZSBhbiBpZiBzdGF0ZW1lbnQgZnVuY3Rpb25zIGFzIGFuIGVsc2UgY2xhdXNlXG4gICAgICAgICAgICAjIERvIHN0dWZmIGhlcmUgaWYgMSArIDIg4omgIDNcbl1cblxuIyBGb3IgbG9vcHMgbG9vcCBvdmVyIGVhY2ggZWxlbWVudCBvZiBhIHN0cmluZy9hcnJheVxuIyBvciBsb29wIGEgZ2l2ZW4gbnVtYmVyIG9mIHRpbWVzXG4jIFRoZXkncmUgbWFya2VkIHdpdGggKClcblxuYFN0YXJ0aW5nIGZvciBsb29wYCxcblxuYEhlbGxvYFxuXG4oYXwgICAgICAgIyB8IGluc2lkZSBhIGZvciBsb29wIG1hcmtzIHRoZSBiaXQgYmVmb3JlIGFzIGEgdmFyaWFibGVcbiAgICAgICAgICAjIEVhY2ggdmFsdWUgaXRlcmF0aW5nIG92ZXIgdGhlIGxvb3Agd2lsbCBiZSBzdG9yZWQgaW4gdGhpcyB2YXJpYWJsZVxuICAgICAgICAgIFxuICDihpBhICwgICAgIyBXZSBjYW4gZ2V0IHRoZSBjdXJyZW50IHZhbHVlIG9mIGEgYW5kIHByaW50IGl0LlxuICBuLCAgICAgICMgV2UgY2FuIGFsc28gdXNlIG4sIHdoaWNoIGlzIHRoZSBjdXJyZW50IGxvb3AgdmFsdWUgYW1vbmcgb3RoZXIgdGhpbmdzLlxuKVxuXG5cbiMgV2hpbGUgbG9vcHMgbG9vcCB3aGlsZSBhIGNlcnRhaW4gY29uZGl0aW9uIGlzIHRydWVcbiMgKE9yIGZvcmV2ZXIsIGlmIG5vIGNvbmRpdGlvbiBpcyBzcGVjaWZpZWQpXG4jIFRoZXkncmUgbWFya2VkIHdpdGgge31cblxuXG41ICAgICAgICAgICMgV2UgcHVzaCA1XG5cbnsgMSAtIDogfCAgIyBBbmQgY29udGludWFsbHkgZGVjcmVtZW50IGl0IHVudGlsIGl0IGlzIGZhbHN5XG4gIDogLCAgICAgICMgUHJpbnRpbmcgaXQgYXMgd2UgZ28uXG59IiwiIiwiIl0=


## Links

- [Repository](https://github.com/Vyxal/Vyxal)
- [Online Interpreter](http://vyxal.pythonanywhere.com)
- [Tutorial](https://vyxapedia.hyper-neutrino.xyz/beginners)
- [Main Chat Room (SE Chat)](https://chat.stackexchange.com/rooms/106764/vyxal)
- [Vycord (Discord)](https://discord.gg/hER4Avd6fz)
- [Elements](https://github.com/Vyxal/Vyxal/blob/main/documents/knowledge/elements.md)
- [Vyxapedia](https://vyxapedia.hyper-neutrino.xyz/)


            

Raw data

            {
    "_id": null,
    "home_page": "https://vyxal.pythonanywhere.com/",
    "name": "vyxal",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.11",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/04/7a/0e23ead11a718d1ebdad8f3e1208e881b6fe7e4a7967a3ed221fe818e40c/vyxal-2.22.0.tar.gz",
    "platform": null,
    "description": "![Vyxal Logo](./documents/logo/banner.png)\n\n![Test status](https://github.com/Vyxal/Vyxal/actions/workflows/run-tests.yaml/badge.svg)\n![Pypi Monthly Downloads](https://img.shields.io/pypi/dm/vyxal)\n![Last Commit](https://img.shields.io/github/last-commit/vyxal/vyxal)\n![Contributors](https://img.shields.io/github/contributors/vyxal/vyxal)\n\n**Vyxal** is a stack and array based golfing language that takes the idea that conciseness comes at the cost of practicality and throws it out the window. That's right - where other golflangs throw you into the deep-end of keyboard mashing, Vyxal eases you into the concept of elegantly crafting built-ins into a functioning program.\n\nAnd yes, this design goal really _does_ warrant adding another golfing language into the already densely populated mix of golflangs. If you go and take a look at the current state of the art of golfing languages, you'll find that 99% of languages are either a) powerful and concise, but not easy to pick up or b) easy to learn, but not that useful for anything non-trivial (I say this as someone who's made and contributed to both kinds of languages). Vyxal aims to bridge the gap between simplicity and \"golfability\".\n\n## Installation\n\nYou can also use the [online interpreter](https://vyxal.pythonanywhere.com) with no need to install!\n\nIf you only want to run Vyxal, all you need to run is this:\n\n```\npip install vyxal\n```\n\nIf you are working on Vyxal, install [Poetry](https://python-poetry.org), and then you can clone this repo and run:\n\n```\npoetry install\n```\n\nIf you want to test the latest commit of Vyxal without using Poetry, create a virtual environment, activate it and run:\n\n```\npip install git+https://github.com/Vyxal/Vyxal@main\n```\n\nThen, remember to use `python.exe` instead of `python3`.\n## Usage\n\nTo run using the script:\n\n```\nvyxal <file> <flags (single string of flags)> <input(s)>\n```\n\nIf you're using Poetry:\n\n```\npoetry run vyxal <file> <flags (single string of flags)> <input(s)>\n```\n\nTo run from a file inside a Python script:\n\n```\nimport vyxal.main\nvyxal.main.execute_vyxal(\"file\", \"flags (single string of flags)\", [\"inputs\"])\n```\n\nor to run code inside a Python script:\n\n```\nimport vyxal.main\nvyxal.main.execute_vyxal(\"code\", \"e\", [\"inputs\"])\n```\n\nTo run tests, install pytest and simply run `pytest tests`.\n\n## Why Vyxal?\n\nVyxal is designed to be easy to use coming from practical programming languages like Python and C, and borrows many concepts from those, such as [variables], [functions], [conditionals and loops], comments and more. Despite this, it's also heavily optimised for golfing, with a large library of powerful [builtins](https://github.com/Vyxal/Vyxal/blob/main/documents/knowledge/elements.md) that can easily be chained to complete the task at hand. For more information, see the [tutorial](https://vyxapedia.hyper-neutrino.xyz/beginners).\n\n[variables]: https://vyxal.pythonanywhere.com/#WyIiLCIiLCIjIFZhcmlhYmxlcyBhcmUgZGVub3RlZCB3aXRoIHRoZSBzeW1ib2xzIOKGkiBhbmQg4oaQIGZvbGxvd2VkIGJ5IGFueSBudW1iZXIgb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLlxuXG4jIOKGkiBzZXRzIGEgdmFyaWFibGUgdG8gdGhlIHZhbHVlIHBvcHBlZCBmcm9tIHRoZSBzdGFjay5cbmBIZWxsb2Ag4oaSZ3JlZXRpbmdcbiMgVGhlIHZhbHVlIFwiSGVsbG9cIiBpcyBub3cgc3RvcmVkIGluIHRoZSB2YXJpYWJsZSBncmVldGluZy5cblxuIyDihpAgcHVzaGVzIHRoZSB2YWx1ZSBvZiBhIHZhcmlhYmxlIHRvIHRoZSBzdGFjay5cblxu4oaQZ3JlZXRpbmciLCIiLCIiXQ==\n[functions]: https://vyxal.pythonanywhere.com/#WyIiLCIiLCLCqEBmaWJvbmFjY2k6TnwgICAgICAgICAgICAgICAgIyBkZWYgZmlib25hY2NpKE4pOlxuICDihpBOIDAgPSBbIDAgfCAgICAgICAgICAgICAgICMgICBpZiBOID09IDA6IHJldHVybiAwXG4gICAg4oaQTiAxID0gWyAxIHwgICAgICAgICAgICAgIyAgIGVsaWYgTiA9PSAxOiByZXR1cm4gMVxuICAgICAg4oaQTiAyIC0gwqhAZmlib25hY2NpOyAgICAgIyAgIGVsc2U6IHJldHVybiBmaWJvbmFjaWkoTiAtIDIpICsgZmlib25hY2lpKE4gLSAxKVxuICAgICAg4oaQTiAxIC0gwqhAZmlib25hY2NpOyArXG4gICAgXVxuICBdXG47XG5cbjEwIMKoQGZpYm9uYWNjaTsiLCIiLCIiXQ==\n[conditionals and loops]: https://vyxal.pythonanywhere.com/#WyIiLCIiLCIjIElmIHN0YXRlbWVudHMgc3RhcnQgd2l0aCBbIGFuZCBlbmQgd2l0aCBdXG5cblxuMSAyICsgMyA9IFsgIyBJZiAxICsgMiA9IDMuLi5cbiAgICAgICAgICAgICMgRG8gc3R1ZmYgaGVyZVxuIFxuICAgfCAgICAgICAgIyB8IGluc2lkZSBhbiBpZiBzdGF0ZW1lbnQgZnVuY3Rpb25zIGFzIGFuIGVsc2UgY2xhdXNlXG4gICAgICAgICAgICAjIERvIHN0dWZmIGhlcmUgaWYgMSArIDIg4omgIDNcbl1cblxuIyBGb3IgbG9vcHMgbG9vcCBvdmVyIGVhY2ggZWxlbWVudCBvZiBhIHN0cmluZy9hcnJheVxuIyBvciBsb29wIGEgZ2l2ZW4gbnVtYmVyIG9mIHRpbWVzXG4jIFRoZXkncmUgbWFya2VkIHdpdGggKClcblxuYFN0YXJ0aW5nIGZvciBsb29wYCxcblxuYEhlbGxvYFxuXG4oYXwgICAgICAgIyB8IGluc2lkZSBhIGZvciBsb29wIG1hcmtzIHRoZSBiaXQgYmVmb3JlIGFzIGEgdmFyaWFibGVcbiAgICAgICAgICAjIEVhY2ggdmFsdWUgaXRlcmF0aW5nIG92ZXIgdGhlIGxvb3Agd2lsbCBiZSBzdG9yZWQgaW4gdGhpcyB2YXJpYWJsZVxuICAgICAgICAgIFxuICDihpBhICwgICAgIyBXZSBjYW4gZ2V0IHRoZSBjdXJyZW50IHZhbHVlIG9mIGEgYW5kIHByaW50IGl0LlxuICBuLCAgICAgICMgV2UgY2FuIGFsc28gdXNlIG4sIHdoaWNoIGlzIHRoZSBjdXJyZW50IGxvb3AgdmFsdWUgYW1vbmcgb3RoZXIgdGhpbmdzLlxuKVxuXG5cbiMgV2hpbGUgbG9vcHMgbG9vcCB3aGlsZSBhIGNlcnRhaW4gY29uZGl0aW9uIGlzIHRydWVcbiMgKE9yIGZvcmV2ZXIsIGlmIG5vIGNvbmRpdGlvbiBpcyBzcGVjaWZpZWQpXG4jIFRoZXkncmUgbWFya2VkIHdpdGgge31cblxuXG41ICAgICAgICAgICMgV2UgcHVzaCA1XG5cbnsgMSAtIDogfCAgIyBBbmQgY29udGludWFsbHkgZGVjcmVtZW50IGl0IHVudGlsIGl0IGlzIGZhbHN5XG4gIDogLCAgICAgICMgUHJpbnRpbmcgaXQgYXMgd2UgZ28uXG59IiwiIiwiIl0=\n\n\n## Links\n\n- [Repository](https://github.com/Vyxal/Vyxal)\n- [Online Interpreter](http://vyxal.pythonanywhere.com)\n- [Tutorial](https://vyxapedia.hyper-neutrino.xyz/beginners)\n- [Main Chat Room (SE Chat)](https://chat.stackexchange.com/rooms/106764/vyxal)\n- [Vycord (Discord)](https://discord.gg/hER4Avd6fz)\n- [Elements](https://github.com/Vyxal/Vyxal/blob/main/documents/knowledge/elements.md)\n- [Vyxapedia](https://vyxapedia.hyper-neutrino.xyz/)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A golfing language that has aspects of traditional programming languages.",
    "version": "2.22.0",
    "project_urls": {
        "Homepage": "https://vyxal.pythonanywhere.com/",
        "Repository": "https://github.com/Vyxal/Vyxal/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "976341d218b334973a6c2114f149993e03584055c5655dcded6352a17c8f6d6e",
                "md5": "99d1f51996be68a8455c9a4e5fafefd1",
                "sha256": "63a0a21cf8ef2f73f9813fccd98a5134a2c38b6749228189dd7e33734b8948a7"
            },
            "downloads": -1,
            "filename": "vyxal-2.22.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "99d1f51996be68a8455c9a4e5fafefd1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.11",
            "size": 9028646,
            "upload_time": "2023-11-05T12:14:51",
            "upload_time_iso_8601": "2023-11-05T12:14:51.607651Z",
            "url": "https://files.pythonhosted.org/packages/97/63/41d218b334973a6c2114f149993e03584055c5655dcded6352a17c8f6d6e/vyxal-2.22.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "047a0e23ead11a718d1ebdad8f3e1208e881b6fe7e4a7967a3ed221fe818e40c",
                "md5": "25babb58cd92784975d23b594f5c7df6",
                "sha256": "00a62160b0dc14d991db44b0a8c08a9cd3ca1de925eb5d2317568c76e016d14c"
            },
            "downloads": -1,
            "filename": "vyxal-2.22.0.tar.gz",
            "has_sig": false,
            "md5_digest": "25babb58cd92784975d23b594f5c7df6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.11",
            "size": 9025690,
            "upload_time": "2023-11-05T12:14:54",
            "upload_time_iso_8601": "2023-11-05T12:14:54.804753Z",
            "url": "https://files.pythonhosted.org/packages/04/7a/0e23ead11a718d1ebdad8f3e1208e881b6fe7e4a7967a3ed221fe818e40c/vyxal-2.22.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-05 12:14:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Vyxal",
    "github_project": "Vyxal",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "vyxal"
}
        
Elapsed time: 0.14472s