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

Uploaded Source

Built Distribution

Mavro-0.8.2-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mavro-0.8.2.tar.gz
Algorithm Hash digest
SHA256 1237d6f356093b6447a3fdc58733d11e8f52ea583ccbfcc251e5ae555003a25d
MD5 3f6e1be0e691c1efc7b0d45ec16b4109
BLAKE2b-256 380897dc716359919efc41e895600301d58728d0a0b5f3127bfccf3a244f972e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: Mavro-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 16.4 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.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0129bca86f6f933e27cd3d9ed3825aa8c7fd677fb56d26cea1306378392b99c4
MD5 c9e61ac2ac9054e5c24670fe3dbf7c60
BLAKE2b-256 fb55756e545e9585ff00973339297f9c04d2c2779f8532f7d0f7c5cddcce7b82

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