This project is a DKP (Dragon Kill Points) parser that exports point data from an EQDKP data via XML files. It then aggregates and associates characters based on their main and alt designations and outputs this information in a clean and structured way using an interactive CLI.
Here's an example of the console output:
- Interactive Command Line Interface: Provides an interactive CLI for viewing data.
- Fetch Data from API: Securely fetches data from a remote API using an API key stored in an environment file.
- Character Query: Search for a character, their status, and their earned points.
- Top N Characters: View the top N characters by earned points.
- Bidding Mode: Allows users to enter a bidding mode to manage character bids interactively.
Assuming you already have Python installed, follow these steps to set up the project:
-
Clone the repository:
git clone https://github.com/casey-mccarthy/eqdkp-points-parser.git
-
Install Astral-UV: Astral-UV is used for package management in this project. Install it using one of the following commands based on your operating system:
-
On macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh -
On Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
-
-
Install dependencies and environment using Astral-UV:
uv sync
-
Create a
.envfile: If missing, the script will create a.envfile and prompt you to set up your API key during runtime. The.envfile should look like this:API_KEY=your_api_key_hereThis key can be located under your
Private API-Keysection of your profile on the EQDKP site.
-
Run the main script:
uv run run.py
-
Follow the prompts to set up your API key if required.
-
Command Options: After the data is fetched and parsed, you'll enter an interactive print menu. The following options are available:
- Character:
character <name> or c <name> - Top N Characters:
top <number> or t <number> - Enter Bidding Mode:
bid or b - Exit:
exit or e
- Character:
We welcome contributions to the EQDKP Parser project! To maintain a clean and understandable commit history, please follow these guidelines when making contributions.
Use the following tags at the beginning of your commit messages to indicate the type of change you are making:
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests or correcting existing tests
- chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
feat: add new API endpoint for character datafix: resolve issue with data parsingdocs: update README with contribution guidelinesstyle: format code with blackrefactor: improve logging configurationperf: optimize database queriestest: add unit tests for data fetcherchore: update dependencies
We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Commit your changes (
git commit -m 'feat: add some feature') - Push to the branch (
git push origin feature/your-feature-name) - Open a pull request
Thank you for your contributions!
Created by Casey McCarthy.
This project is open-source and available under the MIT License.

