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.6.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

Mavro-0.6-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mavro-0.6.tar.gz
Algorithm Hash digest
SHA256 39037ea79c70996cc25bbcda643446cf7f26d16befa77ecbef8a9d3e30f9a4e0
MD5 517c214f6e6a57fed4936eb234661969
BLAKE2b-256 d0d102738b51617a622497e9a86099486d5aa008dbc49450f859fb4c138a8ac0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: Mavro-0.6-py3-none-any.whl
  • Upload date:
  • Size: 14.0 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fb374af5402f0843b16227d75711ebc6c534506af4b205360ef42df80c6f36ca
MD5 326244ee63d43eae73e6339d4dcd5832
BLAKE2b-256 0565aa9a81880493df4000ab579527dcf876ce3318e83f0a699127cf30958cb5

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