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 to use.

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:
    echo "" > main.mav
    
  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 (52: 28 imported from python, 24 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
  • 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, constant or let 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.

Updates

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

Uploaded Source

Built Distribution

Mavro-0.2-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mavro-0.2.tar.gz
Algorithm Hash digest
SHA256 ef7262cb4b8d648a9a40680aabc17ed0f22f0b775fddd6511b2ae680e57b7067
MD5 e416aa915cbae423076600d0fa585c61
BLAKE2b-256 208ec733782615cce7bd0a3b12a6fa38596d38cb4aa4ab741e6519f62c8e5fd0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for Mavro-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 11811c07ddc6ebf48add0a15ab4926394e3d1a66b7c6c1d036d8cb69a864b4af
MD5 22530421f78ee978ed4b3ef589758383
BLAKE2b-256 30d425ec7ad9f387e930156d3689f04363499d6a4d96ece78f2dee08129fb329

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