The Nonowazu ACT Reference Implementation (NARI) is a Python library to parse Final Fantasy XIV game data from network logs in ACT in an abstract form more suited towards programmatic processing. The goals of this project are threefold:
- Provide a clean set of documentation around parsed FFXIV network events structures and ACT logs
- Provide an easy to use a programmatic interface to interact with this data
- Provide a clean 'reference implementation' to hopefully standardise data analysis pipelines
To that end, nari operates on 'streams' of data – most of the core code operates on this concept either generating, transforming, or receiving events.
nari has no runtime dependencies, you can use it on any recent version of Python.
- Python 3.10
- A newish version of setuptools
Clone the repo and install with python setup.py install
(or python setup.py develop
)
A simple example might be loading an ACT network log and viewing only the actions used in-game. To do that, set up an appropriate reader and filter, and then you can interact with the data:
from nari.io.reader.actlog import ActLogReader # To read ACT network logs
# set up an act log reader
reader = ActLogReader('/path/to/your/reader.log')
# iterate through the events and handle them in interesting ways!
for event in reader:
print(event)
Anyone can contribute, so long as contributions are keeping with the goals of the project. PRs are welcome, but make
sure your code lints (with pylint
), has 3.7-style type annotations, and unit tests. To view the docs locally or lint the project,
run pip install .[docs]
or pip install .[dev]
and run either pdoc --html -f -o docs nari
or pylint nari
For further details on what we expect of contributors and how you can do so, please read our contributors guide.