- Fix faulty API docs links, following migration from
Portray
topdoc
- Fix license text contents flooding PyPI sidebar
- Update GitHub Actions for GitHub Pages deployment
- Remove distribution- and documentation-related dependencies from requirements
- Change documentation library from
Portray
topdoc
- Create GitHub Actions workflow for automatic generation of API documentation
- Reformat docstrings to follow Google style
- Replace
JOBS
dictionary in__init__
module with the SpiritSuite YAML document - PEP 484 Compliance: add type hints
- PEP 621 Compliance: Use
pyproject.toml
,setuptools
, andbuild
for distribution - Update setup and build scripts
- Update dependencies following vulnerability notices from GitHub Advisory Database
- PyYaml
- mkdocs
- jinja2
- urllib3
- Pygments
- nltk
- Update dependencies following vulnerability notices from GitHub Advisory Database
- Update MySQL Connector and protobuf, in view of CVE-2021-22570
- Change dummy name for unit tests
- Use
tester0xFF
instead of the arbitraryKOOKIE
for account and character name-change unit tests
- Use
- Add setup and build scripts
setup.bat
automatically generates the venv folder with all dependenciesbuild.bat
re-generates API Docs, build distribution archives, and uploads them to PyPi
- Add
currency
property to Character- The
currency
property is a dictionary of all the currencies (e.g. NX) associated with the account that contains the character. - Dictionary keys:
mesos
,nx
,maplepoints
,vp
,dp
- The
- Add
characters
&free_char_slots
properties to Accountcharacters
is a list of the IGNs of all the characters in the accountfree_char_slots
is an integer representing the number of free character slots in the account
- Make the use of pre-underscores in variables consistent
- Remove accessor for variables like _database_config
- These are now always be used with the pre-underscore internally
- Reason: These variables should NOT be accessed manually when using Lazuli's API
- These changes are not considered breaking, since the removed properties weren't intended to be manually accessed in the first place
- Fixed char image method in Character
- Previously broken due to faulty refactor of Inventory instantiation
- Made Inventory lazy-instantiation by:
- refactoring to a method in Lazuli, instead of Character
- Update unit test WRT breaking API changes
- Add getter methods that return all attributes together
- Made Inventory instantiation more efficient by reducing SQL calls
- Perform general linting
- Remove unnecessary checks
- Added checks to more setters
- Ready for release!
- Remove unused import statements (faulty refactor)
- Remove unnecessary casts causing Character.Meso and Character.EXP to fail
- Fix wrong column names in prepared statements causing setters to fail
- Add unit tests
- Fix unit test bugs
- Experimental fix for encoding issues
- Tested working in CLI
- To be tested for discord.py integration
- Refactor DB read-write functions for more DRY
- Fix type errors in meso and EXP setters
- Fix docstring (faulty refactor) in database module
- Add toggle option for GMs in ranking methods
- Fix faulty refactor causing
get_char_by_name
andget_account_by_username
to fail. - Make
get_db_first_hit
more DRY
- Add utility function
extract_name_and_value
- Add arg to ranking methods, for variable no. of players
- Add default value (5) for ranking methods' player count
- Make ranking methods extract values like level (not just name), using
extract_name_and_value
- Migrate all static functions to utility module (breaking API change!)
- Migrate name extraction (from list of player data) to utility module
- Add ranking methods to Lazuli class
- Add
get_db_all_hits
utility function, for getting all DB matches - Add
get_db_all_hits`` wrapper function in
database.Lazuli` - Made
Lazuli::get_online_list
useLazuli::get_db_all_hits
- Minor fix: type error for account instantiation
- Generate API Docs
- Feature: Fetch usernames of all players online
- Open up Discussions page
- Add docstrings
- Add inventory model
- Add character model
- Add account model
- Initialise project
- Add database model (with placeholder for Account and Character objects)