thunderstore-io / Thunderstore

Thunderstore is a mod database and API for downloading mods. Thunderstore Discord: https://discord.thunderstore.io/
https://thunderstore.io/
GNU Affero General Public License v3.0
134 stars 27 forks source link

Implement experimental package index API endpoint #905

Closed MythicManiac closed 11 months ago

MythicManiac commented 11 months ago

Implement the experimental package index API endpoint which provides a full list of all available package versions and their dependencies. The returned fields only include the bare minimum needed for package management.

The returned data format is designed with future proofing in mind; specifically it intends to force API clients to adopt an architecture which supports stream-formatted data consumption rather than relying on processing everything as a single batch. The idea is to support resumable synchronization of the index in the future e.g. by allowing clients to only fetch data that has changed since their previous request.

TODO:

codecov[bot] commented 11 months ago

Codecov Report

Attention: 5 lines in your changes are missing coverage. Please review.

Comparison is base (1bb366c) 92.49% compared to head (3c21fa6) 92.51%.

Files Patch % Lines
django/thunderstore/repository/models/cache.py 80.95% 2 Missing and 2 partials :warning:
django/thunderstore/repository/tasks/caches.py 75.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #905 +/- ## ========================================== + Coverage 92.49% 92.51% +0.01% ========================================== Files 274 275 +1 Lines 8050 8131 +81 Branches 764 771 +7 ========================================== + Hits 7446 7522 +76 - Misses 501 504 +3 - Partials 103 105 +2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.