Metadata-Version: 2.1
Name: erdb
Version: 0.2.0
Summary: parse ELDEN RING files into JSON
Author-email: Filip Tomaszewski <phil25@pm.me>
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: Pillow >= 9.2
Requires-Dist: deepdiff >= 6.2
Requires-Dist: requests >= 2.28
Requires-Dist: fastapi >= 0.87
Requires-Dist: fastapi-versioning >= 0.10
Requires-Dist: uvicorn >= 0.19
Requires-Dist: pytest >= 7.1 ; extra == "test"
Project-URL: Home, https://github.com/EldenRingDatabase/erdb
Provides-Extra: test

# *[WIP]* ERDB: ELDEN RING parser

Tool for generating a parsable, JSON-based sets of data for ELDEN RING. Readable by any; human or program alike.

# Features

Adopting the database in a project is beneficial beyond just providing the data itself:

### Reliable sources

* All the data is ripped straight from the game files using [Yabber](https://github.com/JKAnderson/Yabber) and [ERExporter](https://github.com/EldenRingDatabase/ERExporter).
* Mild dependency on Yapped Rune Bear's [Paramdex](https://github.com/vawser/Yapped-Rune-Bear/tree/main/Paramdex/ER) for naming of a few properties.

### 99%<sup>1</sup> of data is autogenerated

* Values are free from human error and always up-to-date.
* Values are effortlessly regenerated with new game releases.
* Convoluted game parameters are automatically converted into a coherent layout, without losing information<sup>2</sup>.

### User contributed information

* Made in mind with user contributions, new findings can be available in every adaptation of this database.
* Interesting remarks about an item or a weapon's true combo list is kept up to date.
* Designed for easy PRs where every item is contained within its own file.
* Ability to specify game version ranges for which a particular information is valid.
* Each human change is checked for correctness (by accepting a PR) and validity (by CI) [IN PROGRESS].

### Schema guarantee

* Layout adheres to a strictly defined schema structure, ensuring integrity of all values.
* Sets up REST API endpoints with OpenAPI-compatible documentation.

### Shallow structure

* Structure of JSON designed as shallow and straightforward to parse as possible.
* Digging into nested fields is avoided, while retaining a logically sensible layout.

### Data for multiple game versions

* Every released game version is supported, from 1.02.1 and up.
* [Sources are retained across versions](https://github.com/EldenRingDatabase/erdb/tree/master/src/erdb/data/gamedata).

### Always available

* No extra servers, data is hosted in a repo, uptime is that of GitHub's [IN PROGRESS].
* Download the files and check for updates (recommended) or view the raw content online.
* Public endpoint exposing a REST API for versatile data retrieval [IN PROGRESS].

<sup>1</sup> Some values or means of retrieving them are hardcoded in very specific cases, all listed [here](https://github.com/EldenRingDatabase/erdb/wiki/Data-Generation-Completeness). \
<sup>2</sup> Unnecessary information is lost, ex. armor's separate values for bleed/frostbite are treated as a single robustness value.

