Skip to content

TEAM-SPIRIT-Productions/Lazuli

Repository files navigation

Lazuli


Downloads Downloads Downloads HitCount
Stats courtesy of PePy and dwyl

Lazuli is a pip-compatible, Python-based package for interacting with AzureMSv316-based databases, such as ElectronMS.
Lazuli is inspired by and based on the SwordieDB project.

Lazuli allows access to character and inventory attributes in Odin-like databases.
This makes it possible to produce not only feature-rich Discord bots, but also integrated websites.

Perks:

  • Easy to set-up - simply install with pip!
  • Lovingly commented
  • API docs and example code provided
  • IDE hints available when importing after pip-installtion
  • Already used in Lapis

Current Status: Now Available on PyPi (See changelog)
Note: Lazuli v3 includes several dependency removals.
We suggest you delete your venv folder and re-creating the virtual environment when upgrading from v2 to v3.


Quick Start

Installation via PyPi/Pip:

  1. Run pip install lazuli inside of your venv (or global, if desired)
    • see wiki for how to generate venv
  2. Import the module in your project
    • from lazuli.database import Lazuli
  3. Create an Azure database object using the Lazuli class constructor
    • azure = Lazuli()
    • See the Wiki for full examples
    • See the API Docs for more in-depth technical documentation
  4. Query
    • E.g. number_of_players_online = azure.get_online_count()
      • gives number (int) of accounts currently connected to the server

Documentation:

Kindly refer to the Project Wiki and API Docs for detailed documentation.
The Discussions Page is currently open for any questions!
Please report any issues!

Acknowledgements:

  1. The SwordieDB project by Bratah123
    • This project is inspired by and based on SwordieDB
  2. MapleStory:IO by Senpai#1337
    • The character sprite generation makes use of MapleStory.IO APIs

Disclaimer:

Lazuli is an open-source third-party implementation of APIs for a particular MapleStory server emulation project (AzureMSv316). Lazuli is non-monetised, provided as is, and is unaffiliated with NEXON. Every effort has been taken to ensure correctness and reliability of Lazuli. We will not be liable for any special, direct, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action if contract, negligence or other tortious action, arising out of or in connection with the use of Lazuli (in part or in whole).