Skip to main content

An easy to understand language built from Python.

Project description

Mavro (mavrolang)

Info

What is Mavro

Mavro is a simple language built from Python. It is lightweight and flexible.

Installation

pip install mavro

Start using Mavro

  1. Open an IDE or text editor (PyCharm Community Edition or PyCharm Professional Edition is recommended)
  2. Open a terminal
  3. Run the following snippet in your terminal:
    mavro -c
    
  4. You can navigate to the main.mav file in your IDE or text editor, and start coding!
  5. When you want to run your project, use one of the following commands:
    mavro # Runs ./main.mav
    mavro path/to/my/directory/ # Runs ./path/to/my/directory/main.mav
    mavro my_mavro_file.mav # Runs ./my_mavro_file.mav
    mavro path/to/my/mavro_file.mav # Runs ./path/to/my/mavro_file.mav
    

Keyword list (57: 30 imported from python, 27 new)

  • and - imported from python. Only returns true if both the left-hand AND right-hand conditions are true.
  • as - imported from python. Gives something an alias, like an import or context manager.
  • assert - imported from python. Raises an AssertionError if the condition is false.
  • async - imported from python. Creates an asynchronous function.
  • await - imported from python. Wait for a function to complete in an asynchronous function.
  • break - imported from python. Breaks out of a loop.
  • case - imported from python. Works hand in hand with the match keyword to create a match-case structure.
  • catch - NEW. Works basically identically to python's except keyword.
  • class - imported from python. Create a class.
  • const - NEW. Defines a constant variable.
  • constructor - NEW. Create a constructor for an object. Python equivalent: def __init__
  • continue - imported from python. Skip to the next iteration of a loop.
  • del - imported from python. Delete something.
  • else - imported from python. Defines what happens if an if statement fails.
  • else if - NEW. An if statement that only runs if the previous if statement fails. Python equivalent: elif
  • end - NEW. Breaks out of indentation.
  • entrypoint - NEW. Define the entrypoint function of a Mavro file.
  • enumeration - NEW. Defines an Enum. Python equivalent: class Foo(enum.Enum)
  • extends - NEW. Defines inheritance in a class definition. Python equivalent: class Foo(Bar)
  • false - NEW. A wrapper for python's False
  • finally - imported from python. Paired with the try keyword. ALWAYS runs, no matter what.
  • for - imported from python. Creates a loop that iterates over an iterable object.
  • from - imported from python. Has two usages: 1. Import a specific object from a module. 2. Define from what an exception is raised.
  • function - NEW. Defines a function. Python equivalent: def
  • global - imported from python. Finds a global variable and places it in the local scope.
  • if - imported from python. Run a block of code if a condition is met.
  • import - imported from python. Import a python module or package. It is not compatible with Mavro modules and packages.
  • in - imported from python. Checks if an iterable object contains a value.
  • is - imported from python. Compare the IDs of two objects.
  • lambda - imported from python. Create an anonymous function.
  • let - NEW. Defines a variable that can be changed.
  • manager - NEW. Create a context manager for an object. Python equivalent: with
  • match - imported from python. Works hand in hand with the case keyword to create a match-case structure.
  • method - NEW. Create a method.
  • nonlocal - imported from python. Creates a nonlocal variable.
  • not - imported from python. Inverts a boolean value.
  • null - NEW. A wrapper for python's None
  • only private - NEW. The following code (until a usage of end) can only be run if the file was built directly, not as a requirement.
  • only public - NEW. The following code (until a usage of end) can only be run if the file was built as (or as part of) a requirement by the requiry package, not directly.
  • openfile - NEW. Opens a file with customizable permissions. Python equivalent: with open
  • or - imported from python. Returns true if the left-hand OR right-hand values are true.
  • package - NEW. Imports a Mavro package. These packages include for. ex. requiry, which is used to import Mavro files.
  • pass - imported from python. Does absolutely nothing. It is practically useless since Mavro doesn't require anything after an indent.
  • public - NEW. Makes the function, class, method, or constant public.
  • raise - imported from python. Raises a fatal error.
  • return - imported from python. Returns a value from a function.
  • require - NEW. Retrieve a Mavro module. Wrapper for mavro.pkg.requiry::findService
  • savelocation - NEW. Save all global and local variables in the current location to a variable called here. Required to access public stuff.
  • starter - NEW. Create a function that runs when the object is run using startprocess
  • startprocess - NEW. Run an object's starter method.
  • static - NEW. Makes function static.
  • true - NEW. A wrapper for python's True
  • try - NEW. Try a block of code for errors, etc.
  • until - NEW. Loops until a condition is true. Python equivalent: while not
  • while - imported from python. Loops while a condition is true.
  • yield - imported from python. Yields a value from a generator function.# mavro

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

mavro-0.11.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

Mavro-0.11-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file mavro-0.11.tar.gz.

File metadata

  • Download URL: mavro-0.11.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for mavro-0.11.tar.gz
Algorithm Hash digest
SHA256 14d9728376d49deabc13c5bf70781e9b3adb76e5238e8694d53f5e2b4cc7f7ed
MD5 16fe9a4b112cb58b1aeb3aba655aab0b
BLAKE2b-256 1874e0d30124ebe6078311504df5edd9a2cdd3306e9cf56e9dae1b580fabf608

See more details on using hashes here.

File details

Details for the file Mavro-0.11-py3-none-any.whl.

File metadata

  • Download URL: Mavro-0.11-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for Mavro-0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 0e1691c5efa65711293cb6e5d372f20e308fa7be8a4240ba9df8953e7dae1d7f
MD5 f3338e23590e953770859c0381c3949a
BLAKE2b-256 0a55bd422f720cd3f90623a997c294d0a8ee543310979d8b3cb8ca12e957b4ed

See more details on using hashes here.

Supported by

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